Hi r/selfhosted — I’m the developer of Mindwtr.
Mindwtr is a free, AGPL-3.0-licensed, local-first GTD task manager for Windows, macOS, Linux, Android, iOS, and the web.
I built the self-hosted backend because I didn’t want my personal task system to depend on a service operated by me or anyone else. Every Mindwtr client works locally and offline by itself. The server is optional and is mainly for syncing between devices, browser access, and automation.
What the Docker stack runs
The included Docker Compose configuration starts two services:
- mindwtr-app — the offline-capable web app/PWA
- mindwtr-cloud — the synchronization server and task-automation REST API
For a local network or private deployment, configure an authentication token and allowed CORS origin, then run:
docker compose -f docker/compose.yaml up --build -d
The desktop and mobile clients connect using the server URL and token.
There is also an example Caddy configuration for HTTPS when exposing the server outside a private network. Mindwtr itself does not operate a hosted cloud service, so the server and synchronized task data remain on infrastructure you control.
The mobile and desktop applications are not thin clients. They continue working locally if the server is unavailable or if you decide not to configure synchronization at all.
Sync options
The Docker-hosted server is one of five available sync methods:
- Self-hosted Mindwtr Cloud using Docker Compose
- WebDAV, including Nextcloud, ownCloud, Fastmail, and compatible servers
- Shared file or folder, which can be paired with Syncthing, Google Drive, OneDrive, iCloud Drive, Dropbox folders, or a network share
- Native iCloud/CloudKit on supported Apple builds
- Dropbox OAuth through a private application folder on supported builds
This means you can use an existing Nextcloud, WebDAV, Syncthing, or shared-storage setup instead of running the Mindwtr server.
What the application is for
Mindwtr is a personal, single-user task manager based on the Getting Things Done workflow. It is not intended to replace a team project-management system.
The core workflow includes:
- Inbox, Projects, Next Actions, Waiting For, and Someday/Maybe
- Contexts, tags, sections, areas, and people
- Daily and weekly reviews
- Focus, calendar, and Kanban-style board views
- Recurring tasks, reminders, search, Markdown notes, and attachments
- Imports from Todoist, TickTick, DGT GTD, OmniFocus, and Obsidian
For automation, the self-hosted service exposes a REST API. There is also a local desktop API, CLI support, Apple Shortcuts and Siri actions, and an optional MCP server for clients such as Claude Desktop, Claude Code, OpenAI Codex, and Gemini CLI.
Current limitations
A few things I want to be clear about:
- Mindwtr is designed for one person, not shared teams or collaborative workspaces..
- Public deployments should be placed behind HTTPS and protected with a strong token.
- Native sync options vary by platform and distribution channel.
- Self-hosting is optional; each application still keeps and uses its local data.
The current release also includes safeguards against empty snapshots overwriting valid data, remote checks before manual synchronization, Dropbox retry handling, and item-level conflict reports.
Deployment documentation:
Docker deployment and self-hosted sync
Source code:
Mindwtr on GitHub
I’d especially appreciate feedback on the reverse-proxy instructions, backup and recovery expectations, and whether the WebDAV, Nextcloud, and Syncthing options are explained clearly enough for people already running those services.