Documentation
OpenTask is a self-hosted, single-user, keyboard-first task manager — an open,
Todoist-compatible alternative you run in one Docker container against a single
/data volume. These pages cover installing and configuring your instance,
importing from Todoist, capturing tasks by voice, backups and restore, and the
REST API + command-line client.
New here? Start with Install & first run, then skim Configuration.
Pages
| Page | What's inside |
|---|---|
| Install & first run | Docker one-liner, Compose, running from source, first-account walkthrough, reverse proxy, updating, uninstall. |
| Configuration | Every OPENTASK_* environment variable, its default, and what it does. |
| Import from Todoist | Move projects, tasks, labels and comments over — via backup ZIP or a live API token — and the priority-inversion mapping. |
| Ramble — voice capture | Hold-to-record voice notes turned into tasks: STT/LLM providers and the self-hosted sidecar recipe. |
| Backups & restore | Nightly VACUUM INTO snapshots, retention, the restore flow, and optional off-host replication. |
| REST API | Bearer-token auth, the interactive Scalar docs, pagination and error shapes, plus the SSE and iCal feeds. |
| Command-line client | Installing opentask, logging in, the command table, and --json output for scripting. |
| FAQ | Data location, iPhone push, priority numbering, HTTPS, reopening registration, and what is out of scope. |
At a glance
- One container, one
/datavolume, port 7968. - Image:
ghcr.io/pranav-karra-3301/opentask(tagslatest,X.Y,X.Y.Z,nightly). - Priorities are stored 1 = highest (p1) … 4 = default (p4) — the inverse of Todoist's REST API, which the importer maps for you.
- Every configuration value is an optional
OPENTASK_*environment variable; secrets in/data/secrets.jsonare auto-generated on first boot and are never supplied as environment variables.
Not in scope for v1
OpenTask deliberately does not ship: sharing / assignees / teams · board & calendar layouts · CalDAV · Google Calendar two-way sync · location reminders · an email reminder channel (the channel interface exists; SMTP comes later) · native mobile apps (the installable PWA is the mobile story) · localization (the UI and the Quick Add parser are English at launch). See the FAQ for details.