@l1nsn0w/dox
v1.0.0
Published
Self-hosted personal todo — thin CLI/TUI client
Readme
dox
A quiet home for the things you need to do.
A self-hosted todo app you live in from the terminal — TUI by default, CLI for scripts. One Go binary, one SQLite file, optional multi-user via invite.
Self-hosted, so it's yours. On every device, so it's always there. Open to a few, when you'd like the company. Small enough to forget you're running it.

Features
- TUI by default, CLI for scripts — same server, no separate daemon
- Projects + Inbox, markdown descriptions, done/undone
- Search across todos and projects
- Multi-user — first to register owns the server, others join by invite link
- Activity feed — see who changed what, when
- One container, one SQLite file — back it up with
cp
Deploy
The server is one container. One command, one persistent volume:
docker run -d --name dox \
-p 6278:6278 \
-v /opt/dox/data:/app/data \
sn0wl1n/dox:latestOr with Docker Compose — see docker/docker-compose.yml:
docker compose -f docker/docker-compose.yml up -dUse
Install the client, then run it:
npm install -g @l1nsn0w/dox # or: bun add -g @l1nsn0w/dox
doxThe TUI handles onboarding (register · login · accept invite) and everything after.
Dev
just gen # proto → Go + TS, sqlc → Go DB bindings
just serve # run the server locally
just cli # run the CLI against the local serverHeads up: dox is in early, active development — things will move and occasionally break between versions. Issues and pull requests warmly welcome at github.com/lin-snow/dox.
