Should I self-host Toggl Track?
Kimai is a grown-up time tracker: projects, rates, invoices, per-client exports, team support. The apache image plus MariaDB boots in a coffee break and the per-seat subscription becomes zero.
Toggl's one-click browser button polish and Track reminders
Native mobile apps are community, not first-party
time tracking · projects & clients · reports & exports · team timesheets
* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-06.
Runs comfortably on a real VPS (2 GB+).


Boot to healthy measured at 69s on the 2GB reference env
# Kimai — time tracking; apache image + mariadb
services:
kimai:
image: kimai/kimai2:apache
container_name: kimai
restart: unless-stopped
depends_on:
kimai-db:
condition: service_healthy
environment:
DATABASE_URL: mysql://kimai:kimai@kimai-db:3306/kimai?charset=utf8mb4&serverVersion=11.4.2-MariaDB
ADMINMAIL: admin@example.com
ADMINPASS: changeme123
ports:
- "8001:8001"
healthcheck:
test: ["CMD-SHELL", "php -r 'exit(@file_get_contents(\"http://localhost:8001/\")!==false?0:1);'"]
interval: 10s
timeout: 10s
retries: 36
start_period: 60s
kimai-db:
image: mariadb:11
restart: unless-stopped
environment:
MARIADB_DATABASE: kimai
MARIADB_USER: kimai
MARIADB_PASSWORD: kimai
MARIADB_ROOT_PASSWORD: kimai-root
volumes:
- kimai-db:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 5s
retries: 12
volumes:
kimai-db:
Want a guided install instead? caniselfhostit.com/toggl-track has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.
FULL TIMED LOG
# Toggl Track — verdict log - **Date:** 2026-08-10 - **Verdict:** YES — worth it - **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code) ## Setup evidence - Compose: `compose/toggl-kimai.yml` - Boot to healthy: **69s** measured this session - Setup time recorded: 22 min (boot + configuration to first working workflow) ## What broke / notes - Boot to healthy measured at 69s on the 2GB reference env ## The call Kimai is a grown-up time tracker: projects, rates, invoices, per-client exports, team support. The apache image plus MariaDB boots in a coffee break and the per-seat subscription becomes zero.