Self-Hosted · Docker Ready · Free up to 5 Users

Time Tracking
Made Simple

Klokk is a self-hosted time tracking application for teams — clock in & out, manage leave requests, enforce MFA, and audit everything. Built with Go, runs everywhere Docker does.

No cloud dependency Your data stays yours Up and running in minutes

Features

Everything your team needs

A complete time tracking solution with enterprise-grade security, built to run entirely on your own infrastructure.

Time Tracking

Clock in and out with a single click. Daily and weekly hours tracked automatically with overtime detection.

Role-Based Access

Five roles: super_admin, admin, manager, user, auditor. Fine-grained permissions enforced throughout.

Leave Management

Request vacation, sick leave, home office, or business travel. Managers approve in-app with balance tracking.

Shift Planning

Build weekly rosters from reusable templates, publish with ArbZG checks, and handle swaps, open shifts, and availability. Calendar feed and pre-shift reminders included.

MFA / TOTP

Two-factor authentication with any TOTP app. Recovery codes included. Trust-device option for convenience.

Multi-Tenant

Multiple companies in one instance, each fully isolated. Super-admins manage all tenants from one dashboard.

Localization

English and German UI included. Locale-aware date, time, and number formatting throughout.

PWA Support

Install Klokk on mobile as a Progressive Web App with offline capability and native-like experience.

Audit Logging

Every action recorded with timestamps and actor info. Dedicated auditor role for read-only compliance access.

SQLite or PostgreSQL

Start small with SQLite, scale up to PostgreSQL when needed — same binary, same Docker image.

Email Notifications

SMTP-based notifications for leave approvals, corrections, and password resets. Easy to configure or disable.

Configurable Features

Toggle home office tracking, business travel, project tagging, and more via environment variables.

Security-First

Argon2id password hashing, CSRF protection, rate limiting, IP allowlists, and secure session cookies.

Interface

Clean, focused, fast

Every role sees exactly what they need — nothing more, nothing less.

app.klokk.example.com
Clocked Out

09:14

Today: 6h 05m of 8h target

Target

40:00 h

Actual

38:30 h

Week Balance

−01:30

Total Balance

+04:15

Week 21 — May 2025

Mon 19 Done
Tue 20 Done
Wed 21 In Progress
Thu 22 Missing

Extensions

Extend Klokk

Connect external services through a scoped REST API, webhooks and WebSockets — including first-party extensions for tamper-proof audit anchoring.

Installation

Up and running in minutes

Klokk runs as a single Docker container. No external dependencies required for SQLite mode.

docker run -d \
  --name klokk \
  -p 8080:8080 \
  -v klokk_data:/app/data \
  -e SESSION_SECRET="$(openssl rand -hex 32)" \
  -e CSRF_KEY="$(openssl rand -hex 32)" \
  klokkme/klokk:stable
  # alternative: ghcr.io/klokk-me/klokk:stable
First login: Navigate to http://localhost:8080 and sign in with [email protected] / Admin@Klokk1. Change the password immediately.

Tech Stack

Built on solid foundations

Carefully chosen technologies that prioritize reliability, simplicity, and a small operational footprint.

Go

Backend language — fast, statically typed, single binary

Chi

Lightweight HTTP router for Go

GORM

ORM for SQLite and PostgreSQL

HTMX

Dynamic UI without writing JavaScript

Alpine.js

Lightweight reactive UI components

Tailwind CSS

Utility-first CSS framework

Docker

Container-first deployment

PWA

Installable on mobile, works offline

Self-Hosted & Licensed

Your infrastructure,
your rules

Klokk runs entirely on your own server. Up to 5 users are free — larger teams, custom branding, and white-labeling require a license.

Free for up to 5 users
License required for larger teams
Custom branding & white-labeling