Sign inSign up

polinux/tmanoz

By polinux

Updated 8 months ago

Kanban-style task manager with time tracking - single binary, SQLite embedded

Image
Developer tools
0

5.0K

polinux/tmanoz repository overview

TManOZ - Modern Task Manager

CI Docker Docker Pulls

A beautiful, lightweight Kanban-style task manager built with Go. Single binary, no external dependencies required.

Screenshots

Light Theme

Board Light Theme

Dark Theme

Board Dark Theme

Task Details

Task Detail Modal

Features

  • Kanban Board - Visual task management with drag-and-drop
  • Dark/Light Theme - Toggle between themes with one click
  • Markdown Support - Rich descriptions with Markdown formatting
  • Time Tracking - Track time spent on tasks with start/stop timer
  • Due Dates - Visual indicators for upcoming and overdue tasks
  • Priority Levels - High, Medium, Low priority classification
  • Colored Labels - Organize tasks with customizable colored tags
  • Single Binary - All assets embedded, just run and go
  • Authentication - Optional HTTP Basic Auth protection
  • CSRF Protection - Built-in security against cross-site request forgery

Quick Start

# Run with Docker
docker run -d \
  --name tmanoz \
  -p 8080:8080 \
  -v tmanoz_data:/app/data \
  polinux/tmanoz:latest

# Open browser
open http://localhost:8080
Docker Compose
# Clone and run
git clone https://github.com/pozgo/tmanoz.git
cd tmanoz
docker-compose up -d
Download Binary
# Download the latest release
wget https://github.com/pozgo/tmanoz/releases/latest/download/tmanoz-linux-amd64
chmod +x tmanoz-linux-amd64

# Run
./tmanoz-linux-amd64

Open your browser to http://localhost:8080

Build from Source
# Clone the repository
git clone https://github.com/pozgo/tmanoz.git
cd tmanoz

# Build
make build

# Run
./bin/tmanoz

Configuration

TManOZ can be configured via environment variables:

VariableDefaultDescription
TMANOZ_PORT8080HTTP server port
TMANOZ_DATA_DIR./dataDirectory for SQLite database
TMANOZ_THEMEsystemDefault theme (light/dark/system)
TMANOZ_AUTH_USER(empty)Basic auth username (disabled if empty)
TMANOZ_AUTH_PASS(empty)Basic auth password (disabled if empty)

Docker

Pull from Docker Hub
# Latest stable release
docker pull polinux/tmanoz:latest

# Specific version
docker pull polinux/tmanoz:v1.0.0

# Development build
docker pull polinux/tmanoz:dev
Run with Docker
# Basic usage
docker run -d \
  --name tmanoz \
  -p 8080:8080 \
  -v tmanoz_data:/app/data \
  polinux/tmanoz:latest

# With authentication enabled
docker run -d \
  --name tmanoz \
  -p 8080:8080 \
  -v tmanoz_data:/app/data \
  -e TMANOZ_AUTH_USER=admin \
  -e TMANOZ_AUTH_PASS=secretpassword \
  polinux/tmanoz:latest
Docker Compose
# Development
docker-compose up -d

# Production (requires TMANOZ_AUTH_USER and TMANOZ_AUTH_PASS env vars)
export TMANOZ_AUTH_USER=admin
export TMANOZ_AUTH_PASS=your-secure-password
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
Build Docker Image Locally
# Using make
make docker-build

# Using script
./scripts/build.sh --tag dev

# Build and push to registry
./scripts/build.sh --tag v1.0.0 --push

Development

Prerequisites
  • Go 1.21+
  • GCC (for SQLite CGO)
Commands
make help          # Show all commands
make dev           # Run with hot reload (requires air)
make build         # Build production binary
make test          # Run tests
make test-coverage # Run tests with coverage report
make lint          # Run linter
make fmt           # Format code
Project Structure
tmanoz/
├── cmd/tmanoz/          # Application entry point
├── internal/
│   ├── config/          # Configuration management
│   ├── database/        # SQLite database layer
│   ├── handlers/        # HTTP handlers
│   ├── models/          # Data models
│   └── middleware/      # HTTP middleware
├── templates/           # HTML templates (Templ - future)
├── static/              # Static assets (future)
├── scripts/             # Build and deployment scripts
└── migrations/          # Database migrations

Technology Stack

  • Backend: Go, Chi router, SQLite
  • Frontend: HTMX, TailwindCSS, DaisyUI, SortableJS
  • Markdown: Goldmark

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please read the contributing guidelines and submit a pull request.

Tag summary

Content type

Image

Digest

sha256:ba33e85ac

Size

12.5 MB

Last updated

8 months ago

docker pull polinux/tmanoz