Skip to content

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:

Deploying Task Keeper on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for Task Keeper:

    FROM taskkeeper/taskkeeper:latest
    ENV NODE_ENV=production
    ENV 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:

    • Select HTTP as the traffic type
    • Set the internal port to 3000

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    NODE_ENVproduction
    DATABASE_URLSQLite path or PostgreSQL connection string
    SECRET_KEYGenerate with openssl rand -hex 32

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /data1 GBDatabase 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:

  1. Click New Project
  2. Enter a project name
  3. Add a description (optional)
  4. Set project color for visual distinction

Adding Tasks

Create and manage tasks:

  1. Select a project or use the inbox
  2. Click Add Task
  3. Enter task details
  4. Set due date and priority
  5. Add labels as needed

Using Labels

Categorize tasks with labels:

  1. Navigate to Settings > Labels
  2. Create custom labels
  3. Assign colors to labels
  4. 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.