Deploying Task Keeper
Introduction
Task Keeper is a self-hosted task management application designed to help you organize tasks and projects. With a clean interface and practical features, Task Keeper provides a straightforward way to track your work without the complexity of larger project management tools.
Key highlights of Task Keeper:
- Simple Interface: Clean, intuitive task management
- Project Organization: Group tasks into projects
- Due Dates: Set and track deadlines
- Priority Levels: Prioritize important tasks
- Labels and Tags: Categorize tasks with custom labels
- Search and Filter: Find tasks quickly
- Completion Tracking: Mark tasks as complete
- Recurring Tasks: Set up repeating tasks
- Mobile Responsive: Works on all devices
- Self-Hosted: Complete data ownership
This guide walks through deploying Task Keeper on Klutch.sh using Docker.
Why Deploy Task Keeper on Klutch.sh
Deploying Task Keeper on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Task Keeper without complex orchestration.
Persistent Storage: Attach persistent volumes for your tasks and data.
HTTPS by Default: Secure access to your tasks from anywhere.
GitHub Integration: Connect your configuration repository for automatic redeployments.
Prerequisites
Before deploying Task Keeper on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Task Keeper configuration
- Basic familiarity with Docker and containerization concepts
Deploying Task Keeper on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 3000
Create Your Repository
Create a new GitHub repository with a Dockerfile for Task Keeper:
FROM taskkeeper/taskkeeper:latest
ENV NODE_ENV=productionENV DATABASE_URL=${DATABASE_URL}ENV SECRET_KEY=${SECRET_KEY}
EXPOSE 3000
VOLUME ["/data"]Push to GitHub
Initialize and push your repository to GitHub with your Dockerfile.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project.
Create a New App
Within your project, create a new app and connect your GitHub repository.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
NODE_ENV | production |
DATABASE_URL | SQLite path or PostgreSQL connection string |
SECRET_KEY | Generate with openssl rand -hex 32 |
Attach Persistent Volumes
Add the following volumes:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/data | 1 GB | Database and task data |
Deploy Your Application
Click Deploy to start the build process.
Access Task Keeper
Once deployment completes, access Task Keeper at your app URL.
Configuration
Creating Projects
Organize tasks into projects:
- Click New Project
- Enter a project name
- Add a description (optional)
- Set project color for visual distinction
Adding Tasks
Create and manage tasks:
- Select a project or use the inbox
- Click Add Task
- Enter task details
- Set due date and priority
- Add labels as needed
Using Labels
Categorize tasks with labels:
- Navigate to Settings > Labels
- Create custom labels
- Assign colors to labels
- Apply labels to tasks
Filtering Tasks
Find tasks quickly:
- Filter by project
- Filter by due date
- Filter by priority
- Filter by label
- Search by keyword
Additional Resources
Conclusion
Deploying Task Keeper on Klutch.sh gives you a simple yet effective task management system with automatic builds, persistent storage, and secure HTTPS access. Organize your work without the overhead of complex project management tools.