Skip to content

The ioThing suite

Small self-hosted apps for the family, each one a complete product on its own:

App What it is Default port Source
ioPix Photos: a web app for a photo library, with or without digiKam 8600 iopix
ioNotes Notes, clipboard snippets and screenshots, with Mac and iPhone apps 8610 ionotes
ioCalendar The family calendar, over CalDAV on every phone 8620 iocalendar
ioSuite The start page: a tile per app, search, weather, bookmarks 8630 iosuite
ioContacts Contacts for the family, over CardDAV and LDAP 8640 iocontacts
ioHealth Apple Health data in your own database, with a fitness web app 8650 iohealth

You don't need the whole suite

Every app installs, runs and updates on its own. If all you want is a photo app, install ioPix and stop there: nothing else is required, and nothing is missing. Add another app later, or never. One app or all of them explains what changes when you do.

What they have in common

Every app is built the same way, so what you learn in one holds in the others:

  • A small web server (Python, FastAPI) with its own single-page web app: light and dark, a real phone layout, installable on a home screen.
  • Its own MariaDB or MySQL database, plus one Shared ioSuite database for the accounts. With a single app, that is simply where its accounts live. With several, they all point at the same one, and everyone has one account for all of them. See Databases.
  • The same installers: a one-line Proxmox VE container, a Docker image (amd64 and arm64), or setup.sh on any Linux or Mac. See Requirements.
  • The same Settings: Account and Display for everyone; Server (version, updates, log, restart) for admins; Security and Global settings for suite admins.
  • Updates from the web app: a daily check, then Update now under Settings › Server. See Updates.
  • An MCP server at /mcp in ioPix, ioNotes, ioCalendar and ioContacts, so an AI assistant such as Claude can work with them as you, with an app password. See AI assistants.
  • Free and open source, GPL-3.0-or-later.

Where to start

  1. One app or all of them: decide what you need.
  2. Requirements: a database server and somewhere to run the app.
  3. Install it: Proxmox VE, Docker or any Linux or Mac.
  4. First run: sign in, make accounts, put it behind HTTPS.