- TypeScript 57%
- Go 38.1%
- Shell 2.9%
- CSS 1.1%
- Just 0.4%
- Other 0.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
CI / Skip branch runs of tagged commits (push) Successful in 1s
CI / Versions, lint, typecheck, client, tests (push) Successful in 1m54s
CI / SAST (Semgrep) (push) Successful in 12s
CI / SCA (Trivy) (push) Successful in 9s
CI / Build images (publish on v* tags) (push) Successful in 1m33s
CI / Release notes (v* tags) (push) Successful in 2s
CI / Android APK (v* tags) (push) Successful in 4m38s
|
||
| .forgejo | ||
| apps | ||
| charts/taskkeep | ||
| deploy | ||
| dev/nanoidp | ||
| docs | ||
| packages | ||
| plans | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| .env.prod.example | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| AGENTS.md | ||
| compose.yaml | ||
| justfile | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| SECURITY_REVIEW.md | ||
| SPECS.md | ||
TaskKeep
One place for the things that keep a household running.
Tasks, notes, shopping lists, events and a shared calendar in one self-hosted app.
Keep your own plans private, share what matters with your household, and watch changes arrive live.
Features · Tour · Install · Documentation · Contributing
Today brings the whole household into view: what is overdue, what is due,
what is
coming up, what to buy and the notes everyone needs.
Why TaskKeep?
- One app instead of five. The to-do app, the shared notes doc, the grocery list and the family calendar live together, linked to each other and searchable in one place.
- Private and shared, side by side. Everyone gets a personal space and can join several households. Owners, admins and members each get the right level of control.
- Always in sync. Changes appear live for everyone online. Comments, activity history and links keep the context next to the work.
- Reminders where you already look. In the app, by email, through ntfy, Gotify, webhooks or mobile push; each person picks their own channels.
- Your data, your server. Runs on your own hardware with Docker Compose or Kubernetes, signs people in through your identity provider, and exports everything as a ZIP.
Features
| Feature | What you can do |
|---|---|
| Today | See overdue, today's and next week's tasks, the next two weeks of events, active shopping lists and pinned notes on one page. |
| Tasks | Organise everyday jobs and recurring chores with assignees, due dates, reminders, checklists, labels, priorities and task lists. |
| Notes | Keep household information in a visual rich-text editor and pin the important ones. No Markdown knowledge required. |
| Shopping lists | Plan what to buy, record quantities and check items off as you shop. |
| Events | Plan appointments and multi-day trips with timed or all-day dates, locations and reminders. |
| Calendar | Browse month and agenda views of the household's events, with an optional overlay of tasks by due date. |
And everywhere: file and image attachments, comments, activity history, links between items, full-text search (Ctrl+K), fourteen themes, a data export, an MCP server for AI agents, and a native mobile app in development.
A closer look
Task details. Everything about a task in one panel: dates, people, priority, labels, reminders and repeats up front; notes, checklist, comments and files below. |
Calendar. Month and agenda views of the household's events, with tasks laid over them by due date. |
Notes. Headings, lists, quotes and tables in a visual editor; pinned notes show up on Today. |
Shopping. Tick items into the basket as you shop; everyone sees the list update live. |
Fourteen themes, light and dark, each with its own typefaces, or follow your device
with your own light and dark pick.
Shown: Fjord, Sandstone, Matcha, Nord, Midnight and Merlot.
Made for every screen. On phones, a bottom tab bar keeps Today, Tasks and Shopping a
thumb away,
with a create button for new tasks, notes, events and lists.
Install
You need an OIDC identity provider (such as Authentik or Keycloak; TaskKeep has no local passwords) and either Docker with Compose or a Kubernetes cluster.
1. Run the configurator. It asks a few questions (where to deploy, your address, sign-in provider, database, storage, notifications, features), generates the secrets and writes a ready-to-deploy directory:
curl -fsSL https://git.gsingh.io/gurbakhshish/taskkeep/raw/branch/main/deploy/configure.sh | sh
2. Start it with the commands it prints. For Docker Compose:
cd taskkeep-deploy
docker compose up -d --pull always --wait
3. Register the redirect URI it printed at your identity provider and sign in.
| Target | What you get |
|---|---|
| Docker Compose | compose.yaml and .env; Caddy obtains HTTPS certificates for your domain |
| Helm | values.yaml and secret.yaml for the OCI chart |
| Argo CD | an Application, the chart repository and secret.yaml |
| Flux | a HelmRelease, HelmRepository, Kustomization and secret.yaml |
The self-hosting guide covers each target, OIDC provider setup, S3 storage, mobile push and backups.
Documentation
| Guide | Covers |
|---|---|
| Self-hosting | the configurator, Docker Compose, Kubernetes, OIDC, S3, mobile push, backups |
| Configuration | every TASKKEEP_* setting |
| Upgrading | new releases, moving from compose.prod.yaml, 1.x to 2.0 |
| User guide | spaces and roles, tasks and repeats, notes, calendar, notifications, AI agents |
| Development | local setup, commands, the mobile app, CI and releases, project structure |
Contributing
Bug reports, feature suggestions and code contributions are welcome. Start with development and the contributor guide; keep credentials and private household data out of reports.
License
TaskKeep is licensed under the MIT License. You may use, modify and redistribute it, including commercially, subject to the license terms.