Skip to content

Quick Start

This content is for v1.0. Switch to the latest version for up-to-date documentation.

The simplest way to run Klokk is with SQLite — no external database needed. For production, a volume mount is required to persist data across container restarts.

docker run -d \
--name klokk \
-p 8080:8080 \
-v klokk-data:/app/data \
-e ACCEPT_TERMS=true \
-e SESSION_SECRET="$(openssl rand -hex 32)" \
-e CSRF_KEY="$(openssl rand -hex 32)" \
-e SESSION_SECURE_COOKIE=false \
-e BASE_URL=http://localhost:8080 \
klokkme/klokk:stable
services:
klokk:
image: klokkme/klokk:stable
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- klokk-data:/app/data
environment:
ACCEPT_TERMS: "true" # accepts the terms of use: https://klokk.me/terms
BASE_URL: "http://localhost:8080"
SESSION_SECRET: "change-me-min-32-chars-random-string"
CSRF_KEY: "change-me-min-32-chars-random-string"
SESSION_SECURE_COOKIE: "false"
volumes:
klokk-data:

Terms of use: ACCEPT_TERMS=true accepts the terms of use — Klokk, Klokk Anchor and Klokk Ledger refuse to start without it and log the link instead. Existing installations add the variable before updating to v1.0.0.

Network: Klokk checks its license on start-up and daily at licensing.klokk.me and needs outbound HTTPS for that. If the server cannot be reached, Klokk keeps running on the last confirmed status for up to 14 days and then stops until the connection is back. What is transmitted is listed in the Privacy Policy.

After first start:

Log in with username

admin

(email

admin@localhost

) and the one-time password Klokk prints once in its log on the first start (or the password from

DEFAULT_ADMIN_PASSWORD

); Klokk then asks for a personal password. See

DEFAULT_ADMIN_PASSWORD

.