A task board that keeps the record — export what you actually did this month
150
A task board that keeps the record.
Source, issues and full documentation: https://github.com/Jduckworp/donebook
Schedule tasks onto days, drag them around, tick them off. The difference from every other todo app is what happens next: nothing you finish is ever thrown away. At the end of the month you export exactly what got done, grouped by workstream or as a chronology — the thing you actually need when someone asks what you have been working on.
Single user, single password, one SQLite file. No accounts, no cloud, no telemetry. About 1,600 lines of Python and vanilla JavaScript plus a stylesheet — no build step, no frontend framework, no npm.
docker run -d --name donebook \
-p 8765:8765 \
-v donebook-data:/data \
-e DONEBOOK_INSECURE_COOKIE=1 \
jduckworp/donebook:1
docker logs donebook | grep -A2 "first boot"
Open http://localhost:8765 and sign in with the password from that log line.
It is generated on first boot and also written to config.json on the volume.
| Tag | Meaning |
|---|---|
1.0.0 | An exact build, never moves |
1 | Latest 1.x — pin at least this |
latest | Newest release |
Built for linux/amd64 and linux/arm64, so a Raspberry Pi and an Apple
Silicon Mac work as well as an x86 server.
| Variable | Default in the image | Meaning |
|---|---|---|
DONEBOOK_DATA_DIR | /data | Where donebook.db lives |
DONEBOOK_CONFIG | /data/config.json | Session key, salt, password hash |
DONEBOOK_INSECURE_COOKIE | unset | Set to 1 to allow the session cookie over plain HTTP |
The database and the password hash both live on the /data volume, so
recreating the container never loses the record and never regenerates the
password. Back it up with
docker cp donebook:/data/donebook.db ./donebook-backup.db.
Donebook has one password and no user accounts. It is built for one person on a private network.
Put a reverse proxy in front to terminate TLS, then drop
DONEBOOK_INSECURE_COOKIE — it is only in the quick start above so that a
first run on a LAN address works at all. Without TLS the session cookie is
Secure and the browser will not send it back, which looks like being signed
out on every request.
Think twice before putting this on a public hostname at all. A private network or a VPN such as Tailscale is a better fit for what it is. Failed logins are rate limited: five wrong passwords close the door for a minute, doubling with each further attempt up to an hour.
MIT licensed.
Content type
Image
Digest
sha256:14635cbb0…
Size
46.2 MB
Last updated
about 1 month ago
docker pull jduckworp/donebook