tasktrove

tasktrove

Docker app from JPDVM2014's Repository

Overview

TaskTrove is a powerful, self-hosted task management application designed for individuals and teams who want advanced productivity features without compromising on data ownership.

TaskTrove

tasktrove-banner

License Self-Hosted Docker Demo

🌐 Website β€’ Features β€’ Installation β€’ Usage β€’ Development β€’ Roadmap

Light Theme Dark Theme Mobile View
TaskTrove Light Theme TaskTrove Dark Theme TaskTrove Mobile View

✨ Features

Feature Description
🏠 Complete Privacy Self-hosted on your infrastructure with zero tracking or data collection
πŸ“ Smart Task Creation Natural language parsing ("tomorrow at 2pm") with unlimited subtasks and rich details
πŸ”„ Recurring Tasks Daily, weekly, monthly, or custom patterns with automatic scheduling
πŸ“Š Project Organization Group tasks by projects with sections, color-coded labels, and multiple views
🎨 Modern Interface Clean design with dark/light themes, mobile-friendly, and keyboard shortcuts
πŸ’Ύ Simple Data Management File-based storage in JSON format for easy backups and transfers

πŸ“¦ Installation

Docker (Recommended)

# Quick start
docker run -p 3000:3000 -v ./data:/app/data -d --name tasktrove ghcr.io/dohsimpson/tasktrove

Docker Compose

# Download setup files
git clone https://github.com/dohsimpson/TaskTrove
cd TaskTrove/selfhost

# Start TaskTrove
docker-compose up -d

Manual Setup

# Clone repository
git clone https://github.com/dohsimpson/TaskTrove
cd TaskTrove

# Install dependencies
pnpm install

# Build and start
pnpm build
pnpm start

πŸ’» Usage

Keyboard Shortcuts

Key Action
n Quick add new task
/ Search tasks and projects
Space Mark task as complete/incomplete
Esc Close details panel or dialogs

Task Features

  • Natural Language: "tomorrow at 2pm", "next Friday", "every Monday"
  • Subtasks: Break down complex projects into manageable pieces
  • Rich Details: Priorities, due dates, comments, file attachments
  • Views: List, Kanban board, and Calendar views

Backup Your Data

cp data/data.json ~/tasktrove-backup-$(date +%Y%m%d).json

🧩 Development

Want to contribute? Check out the development setup:

git clone https://github.com/dohsimpson/TaskTrove
cd TaskTrove
pnpm install
pnpm dev

Key Commands:

  • pnpm typecheck - Type checking
  • pnpm lint - Code linting
  • pnpm test - Run tests
  • pnpm run check - Full validation

Contributing

We welcome and appreciate all contributions! Thank you for helping make TaskTrove better.

Process:

  1. Open an issue first - Discuss bugs in GitHub Issues, or features in GitHub Discussions
  2. Submit your PR - You'll be prompted to sign our CLA (Contributor License Agreement)
  3. Code review - A maintainer will review your changes and provide feedback
  4. Merge - Once approved, your contribution will be merged

Guidelines:

  • Follow existing code patterns and test coverage requirements
  • Add unit tests for non-trivial changes
  • AI assisted PRs are allowed, but through review is required before submitting. Make sure you are the sole contributor of the PR (avoid co-authored by XYZ in commit message)

πŸ“„ License

See LICENSE.md for license terms and pricing.


Happy Tasking!

Install Tasktrove on Unraid in a few clicks.

Find Tasktrove in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Tasktrove Review the template variables and paths Click Install

Categories

Download Statistics

3,588
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/dohsimpson/tasktrove
Last Updated2025-08-16
First Seen2025-11-11

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Shell
sh
Privileged
false
Extra Params
--user 99:100

Template configuration

AppdataPathrw
Target
/app/data
Default
/mnt/user/appdata/tasktrove
Value
/mnt/user/appdata/tasktrove
WebUIPorttcp
Target
3000
Default
3000
Value
3000
AUTH_SECRETVariable

Remove this variable if you don't need authentication.

Default
Your secret key - change me!
Value
Your secret key - change me!