Skip to content

Deploying Tasks.md

Introduction

Tasks.md is a self-hosted task board application that stores tasks in Markdown files. It provides a Kanban-style interface while keeping your data in plain text files that can be version-controlled, edited with any text editor, and synced across devices.

Key highlights of Tasks.md:

  • Markdown Storage: Tasks stored as plain Markdown files
  • Kanban Board: Visual task management with drag-and-drop
  • File-Based: No database required, just text files
  • Version Control: Works great with Git
  • Portable Data: Your data is never locked in
  • Offline Capable: Works without internet connection
  • Customizable Columns: Define your own workflow columns
  • Tags and Due Dates: Organize with tags and deadlines
  • Dark Mode: Easy on the eyes
  • Lightweight: Minimal resource requirements

This guide walks through deploying Tasks.md on Klutch.sh using Docker.

Why Deploy Tasks.md on Klutch.sh

Deploying Tasks.md on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Tasks.md without complex orchestration.

Persistent Storage: Attach persistent volumes for your Markdown task files.

HTTPS by Default: Secure access to your task board from anywhere.

GitHub Integration: Connect your configuration repository for automatic redeployments.

Prerequisites

Before deploying Tasks.md on Klutch.sh, ensure you have:

Deploying Tasks.md on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for Tasks.md:

    FROM brunoamaral/tasks-md:latest
    ENV PUID=1000
    ENV PGID=1000
    EXPOSE 8080
    VOLUME ["/tasks"]

    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 8080

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    PUID1000
    PGID1000

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /tasks1 GBMarkdown task files

    Deploy Your Application

    Click Deploy to start the build process.

    Access Tasks.md

    Once deployment completes, access Tasks.md at your app URL.

Configuration

Board Setup

Configure your task board:

  1. The board reads from Markdown files in the /tasks directory
  2. Each file represents a board or project
  3. Columns are defined in the file header

Markdown Format

Tasks are stored in Markdown format:

# My Project
## Todo
- [ ] Task one
- [ ] Task two @due(2024-12-31)
## In Progress
- [ ] Working on this #important
## Done
- [x] Completed task

Task Syntax

Tasks support various metadata:

  • - [ ] - Uncompleted task
  • - [x] - Completed task
  • @due(YYYY-MM-DD) - Due date
  • #tag - Tags
  • @priority(high) - Priority level

Using with Git

Sync your tasks with Git:

  1. Mount a Git repository as the tasks directory
  2. Commit changes to version control
  3. Pull on other devices to sync

Additional Resources

Conclusion

Deploying Tasks.md on Klutch.sh gives you a lightweight task board with plain-text storage, automatic builds, persistent storage, and secure HTTPS access. Keep your tasks in version-controllable Markdown files while enjoying a visual Kanban interface.