shouldiselfhost?they tell you if you can — we tell you if you should
THE DECISION LAYER FOR SELF-HOSTING100 APPS UNDER COVERAGEPROTOCOL v1NO VENDOR HAS EVER PAID FOR A RATING
§
WORK-PM
Toggl Track logo

Should I self-host Toggl Track?

$12/mo · Starter per seat · alternative: Kimai
RATING
YES
OUTLOOK
NOT ASSIGNED
RATIONALE

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.

WHAT YOU LOSE
01

Toggl's one-click browser button polish and Track reminders

02

Native mobile apps are community, not first-party

WHAT YOU'RE PAYING FOR

time tracking · projects & clients · reports & exports · team timesheets

Self-Hosting Facts
1 app per panel · Toggl Track
Assumes 1 seat on 1 always-on box you already run
Amount per month% of sub *
Subscription$12.00
VPS share0.504%
Storage + backup0.000%
Your hours · 20 min @ $206.6756%
Self-hosted all-in7.1760%
Effective markup1.7×
Setup · 22 min measured$7.33 once
Break-even1.5 months
VERDICT
YES
OUTLOOK
NOT ASSIGNED

* 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+).

01
ALTERNATIVES
Ranked alternatives
01Kimai logo
KimaiTimesheets with customers, projects, hourly rates and invoices, on a server that never asks how many seats you have.
kimai/kimai · ★ 4,875 · 0d
Kimai running from the boot-verified compose file
Kimai, running from the compose file on this page — screenshot from our verified instance, not marketing material.
02
EVIDENCE
PROTOCOL
v1
VERIFIED BY
zernonia
REVIEWED
10 AUG 2026
SETUP MEASURED
22 MIN
AI ASSISTANT
CLAUDE-CODE · STATED
WHAT BROKE
01

Boot to healthy measured at 69s on the 2GB reference env

THE TESTED COMPOSE FILE — CI-BOOTED WEEKLY
# 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.
03
HISTORY
10 AUG 2026UNRATED → YESInitial verdict: Kimai is a grown-up time tracker: projects, rates, invoices, per-client exports, team support.