Punchlist¶
Punchlist is a self-hosted task and calendar app: lists, subtasks, tags, dates and a calendar you drag tasks onto, shared with the people you choose. It works offline on every device and syncs when it can. One small server (a Docker container, or a native program on Linux and Windows) serves the app and keeps everyone's data, in SQLite or PostgreSQL.
Status: before 1.0. In daily use, but a minor version may still change things: every change you need to act on is under Breaking changes in the changelog. Keep backups.


What it does¶
- Tasks with subtasks, nested tags, priorities, start and due dates, times and time
spans, rich notes and checklists. Type a whole task in one line:
Call the vet tomorrow 3pm #pets !high. - Views: Today, Upcoming, Due dates, All, Closed, Assigned to me, Shared with me, saved filters, search, and a calendar (a continuous month, and 1 to 14 days on a time grid) to drag tasks in, move them and stretch them.
- Offline first: an installable web app (PWA) that keeps working without a connection and merges changes from every device without conflicts.
- Sharing: friends, groups and shared lists; assign tasks to people or groups.
- For the person running it: single sign-on with any OpenID Connect provider, roles and server groups, scheduled backups and restore, per-person export, access and event logs, logs to Loki, Elasticsearch, Graylog, OpenTelemetry or syslog, usage stats, and settings from the environment, a file or the admin page.
Where to start¶
| You want to | Read |
|---|---|
| Try it in two minutes | Quick start |
| Run it for real with Docker | Docker Compose, then reverse proxy and HTTPS |
| Run it without Docker | Linux or Windows |
| Sign in with Authentik, Pocket ID, Keycloak... | Single sign-on |
| Change a setting | How settings work and all settings |
| Back up, move or restore | Backups and restore |
| Fix something | Troubleshooting |
| Move from TickTick or Todoist | Moving from TickTick or Todoist |
| Put it on your Android phone | The Android app |
| Decide whether it is for you | Why Punchlist and the comparison |
Getting help¶
See getting help. In short: open an issue on GitLab, and for a bug (how to report one) attach a debug dump: it carries logs, settings and versions but no task content, passwords or keys. Report security problems privately as described in SECURITY.md.