No description
  • TypeScript 57%
  • Go 38.1%
  • Shell 2.9%
  • CSS 1.1%
  • Just 0.4%
  • Other 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gurbakhshish Singh fa1f842e37
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
chore(release): v3.6.0
2026-10-27 15:59:46 -04:00
.forgejo perf(ci): cache Go, golangci-lint and pnpm downloads between check runs 2026-10-26 23:26:11 -04:00
apps chore(release): v3.6.0 2026-10-27 15:59:46 -04:00
charts/taskkeep chore(release): v3.6.0 2026-10-27 15:59:46 -04:00
deploy feat(observability): structured logs, request IDs and optional OpenTelemetry (TAS-10) 2026-10-26 00:24:09 -04:00
dev/nanoidp feat(storage): remove bundled Garage; S3 means an external service 2026-10-08 12:38:42 -04:00
docs perf(ci): cache Go, golangci-lint and pnpm downloads between check runs 2026-10-26 23:26:11 -04:00
packages chore(release): v3.6.0 2026-10-27 15:59:46 -04:00
plans docs(plans): mark mobile parity phase 9 complete 2026-10-18 15:20:42 -04:00
.dockerignore feat!: cut over to the Go API 2026-10-12 23:49:00 -04:00
.editorconfig feat!: cut over to the Go API 2026-10-12 23:49:00 -04:00
.env.example feat(attachments)!: stream all storage I/O through the API 2026-10-21 00:05:16 -04:00
.env.prod.example feat(observability): structured logs, request IDs and optional OpenTelemetry (TAS-10) 2026-10-26 00:24:09 -04:00
.gitignore feat(deploy): interactive deployment configurator and OCI Helm chart 2026-10-15 19:56:56 -04:00
.prettierignore chore: finalize phase 6 (tests independent of .env, prettier ignore, docs) 2026-10-13 22:54:41 -04:00
.prettierrc.json phase 0: monorepo foundation (uv + pnpm workspaces, FastAPI core, worker, migrations, web shell, generated client) 2026-10-06 14:57:33 -04:00
AGENTS.md feat(shopping): add items without waiting, with failed adds kept in place, on web and mobile 2026-10-27 15:59:29 -04:00
compose.yaml deploy: harden containers, split networks, trust configured proxies (HARD-005/006) 2026-10-16 17:56:37 -04:00
justfile feat(deploy): interactive deployment configurator and OCI Helm chart 2026-10-15 19:56:56 -04:00
LICENSE docs: refresh README and adopt MIT license 2026-10-07 11:05:32 -04:00
package.json pnpm update 2026-10-15 15:24:33 -04:00
pnpm-lock.yaml fix(deps): move zod to 4.6.7 for CVE-2023-54404 2026-10-26 00:40:29 -04:00
pnpm-workspace.yaml fix(deps): move zod to 4.6.7 for CVE-2023-54404 2026-10-26 00:40:29 -04:00
README.md feat(themes): add Ember Glow dark theme 2026-10-26 15:13:22 -04:00
SECURITY_REVIEW.md docs(security): add remediation status for v2.4.0 to the security review 2026-10-16 18:02:31 -04:00
SPECS.md feat(notifications): daily task digest and event reminders 2026-10-15 16:25:27 -04:00

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.

License: MIT Docker Compose Kubernetes Sign-in PostgreSQL 18

Features · Tour · Install · Documentation · Contributing


The Today page of a household: overdue, today's and upcoming tasks with assignees, the next events, shopping list progress and pinned notes

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 list with the detail panel open: due date, assignees, priority, list, labels, reminders, notes, a checklist and comments

Task details. Everything about a task in one panel: dates, people, priority, labels, reminders and repeats up front; notes, checklist, comments and files below.

Month calendar with household events and tasks by due date

Calendar. Month and agenda views of the household's events, with tasks laid over them by due date.

Notes grid with pinned notes and a babysitter checklist open in the rich-text editor

Notes. Headings, lists, quotes and tables in a visual editor; pinned notes show up on Today.

Shopping lists with progress bars, two of them expanded to show items, quantities and the basket

Shopping. Tick items into the basket as you shop; everyone sees the list update live.

The Today page in six themes: Fjord, Sandstone, Matcha, Nord, Midnight and Merlot

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.


TaskKeep on a phone: Today, tasks, shopping lists and the calendar agenda in a dark theme

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.