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 (SQLite)
Section titled “Docker run (SQLite)”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:stabledocker-compose.yml (SQLite)
Section titled “docker-compose.yml (SQLite)”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
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
.