Self-host
Run your own server: install, update, back up and connect. 32 pages.
- Self-hosting handbook
From an empty host to a monitored server you can restore - install, first run, TLS, backups with a restore drill, upgrades, monitoring, hardening and sizing.
- Configuration reference
Every OPENTODO_* environment variable the server and the ot command read, with its default, an example and the page that explains it.
- Running with Docker
Docker Compose and docker run, reverse proxies, push, updates, managing users and recovering owner access.
- Deploying on Coolify
One-click template, compose deployment, environment variables, domains, passkeys, Cloudflare, updates and troubleshooting.
- Running on Unraid
Install from Community Applications (Apps), the settings, appdata permissions, https and reverse proxies, Tailscale, updates and backups.
- Running on PikaPods
A managed OpenTodo pod on PikaPods - what it costs, the owner screen and the setup code, invitations, backups you keep yourself, and moving to your own server later.
- Running on TrueNAS
Install on TrueNAS Community Edition with Install via YAML (or, once listed, from the Apps catalogue), the settings, dataset permissions, https, updates and backups.
- Running on Easypanel
Set up OpenTodo as an Easypanel app service (or, once listed, from its templates), the setup token, the https domain, updates and backups.
- Running on CasaOS and ZimaOS
Install from the app store or as a custom app, the settings, the data folder, https, updates and backups.
- Running on Cosmos Cloud
Install from the Cosmos market or as a custom compose, the setup token, the address, updates and backups.
- Running on Dokploy
Deploy from Dokploy's templates (or a templates base URL), the setup token, the generated http domain, https with your own domain, updates and backups.
- Running on Portainer
Deploy from Portainer's App Templates, the settings, the volume, https and reverse proxies, updates and backups.
- Backups
Scheduled backups to a folder, S3 or WebDAV, encryption, retention, restore and the archive format.
- Running on Umbrel
The Umbrel App Store package, the first account, Umbrel login and the routes it lets through, the settings, https, updates and backups.
- Running on Runtipi
Add OpenTodo's app store to Runtipi, install, the settings, the data folder, https, updates and backups.
- Running on Kubernetes
Install the Helm chart, the first account and its setup token, Ingress and https, storage, security, updates and backups.
- Running with Podman
Run OpenTodo as a systemd service with a Podman Quadlet, rootful or rootless, automatic updates, the data volume and backups.
- Running on CapRover
Install the one-click app (or paste it as a template), the setup token, turning on https and then the base URL, the volume, updates and backups.
- Running on Fly.io
Launch from the fly.toml in the repository, the setup token as a secret, the base URL, one always-on machine with a volume, updates, backups and your own domain.
- Running on Render
Deploy to Render with the Blueprint, the paid instance and disk it needs, the setup token, the https address and custom domains, updates and backups.
- Running on Synology
Run OpenTodo on a Synology NAS with Container Manager (DSM 7.2 and later), the data folder and its owner, https with DSM's reverse proxy and Let's Encrypt, updates and backups.
- Running as a Home Assistant add-on
Add OpenTodo's add-on repository to Home Assistant OS or Supervised, install, the options, https, updates and backups.
- Running on Caliber Node
Run the released image as a Caliber Node "Bring your own app", set the https address, update by pulling stable again, and back up.
- Single sign-on
Connect an OpenID Connect provider, link accounts, SSO-only mode and break-glass access for the owner.
- Calendar apps (CalDAV)
Turn on CalDAV, create app passwords and connect Apple Reminders, Thunderbird or Android apps.
- Outgoing email
Optional SMTP so the server can mail password resets, sign-up confirmations and invitations: Settings or environment, Docker secrets, providers, troubleshooting.
- Maps
The map provider behind task locations - what the server sends to OpenFreeMap and Photon, the tile cache, turning maps off, and running your own providers.
- Speech to text
Dictation that stays on your network - running Speaches or whisper.cpp next to OpenTodo, connecting it in Settings or with OPENTODO_STT_*, and what passes through the server.
- Branding
Give your server its own name, logo and themes - in the tab, the app icon, the sign-in screen, the sidebar and a default look for everyone - while the footer says it is powered by OpenTodo.
- Email to task
Point OpenTodo at an IMAP mailbox so people can turn emails into tasks; provider notes and protection.
- Public demo instance
Run a public demo with a private sandbox per visitor: limits, expiry, the nightly reset and what is switched off.
- Host mode (many servers in one process)
For operators of a hosted OpenTodo service: one process serves many independent tenants by host name, opened on demand, with one scheduler, per-tenant limits and an operator interface.