Kimai ist eine webbasierte Anwendung zur Zeiterfassung, die sich für eine Nutzung durch mehrere Benutzer eignet. Sie kann von Freiberuflern, Unternehmen und Organisationen eingesetzt werden. Mit Kimai ist es möglich, Zeiten zu erfassen, Berichte zu erstellen, Rechnungen zu generieren und weitere Funktionen zu nutzen.
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
2. Ordner anlegen
Zuerst legen wir uns passende Ordner-Strukturen an.
mkdir -p /opt/containers/kimai
3. Compose Datei anlegen
nano /opt/containers/kimai/compose.yml
Inhalt
services: sqldb: image: mysql:5.7 volumes: - ./mysql:/var/lib/mysql environment: - MYSQL_DATABASE=kimai - MYSQL_USER=kimaiuser - MYSQL_PASSWORD=kimaipassword - MYSQL_ROOT_PASSWORD=sicheresPassword command: --default-storage-engine innodb restart: unless-stopped healthcheck: test: mysqladmin -p$$MYSQL_ROOT_PASSWORD ping -h localhost interval: 20s start_period: 10s timeout: 10s retries: 3 networks: - default kimai: image: kimai/kimai2:apache volumes: - ./data:/opt/kimai/var/data environment: - ADMINMAIL=deine@email.de - ADMINPASS=sicheresPassword - DATABASE_URL=mysql://kimaiuser:kimaipassword@sqldb/kimai - TRUSTED_HOSTS=traefik,nginx,localhost,127.0.0.1,kimai,kimai.deinedomain.de - APP_ENV=prod restart: unless-stopped networks: - default - proxy labels: - "traefik.enable=true" - "traefik.http.routers.kimai.entrypoints=websecure" - "traefik.http.routers.kimai.rule=Host(`kimai.deinedomain.de`)" - "traefik.http.routers.kimai.middlewares=default@file" - "traefik.http.routers.kimai.tls=true" - "traefik.http.routers.kimai.tls.certresolver=http_resolver" - "traefik.http.routers.kimai.service=kimai" - "traefik.http.services.kimai.loadbalancer.server.port=8001" - "traefik.docker.network=proxy" networks: proxy: external: true volumes: data: mysql:
Noch anzupassen:
- MYSQL_PASSWORD=kimaipassword
- MYSQL_ROOT_PASSWORD=sicheresPassword
- ADMINMAIL=deine@email.de
- ADMINPASS=sicheresPassword
- DATABASE_URL=mysql://kimaiuser:kimaipassword@sqldb/kimai <- selbes Password wie oben
- TRUSTED_HOSTS=kimai.deinedomain.de
- Eure Traefik URL: Host(
kimai.deinedomain.de
)
4. Kimai starten
Nun starten wir den Container mittels folgendem Befehl:
docker compose -f /opt/containers/kimai/compose.yml up -d
Sobald der Container ausgerollt ist könnt ihr nun eure Domain aufrufen. Beim ersten Start braucht der Container ca. 1 Minuten.
Ruft nun im Browser die gewählte Domain auf und dann solltet ihr folgendes sehen.
Melde dich mit deiner Emailadresse und Passwort an und schon kannst du Kimai nutzen.
Für Produktionszwecke würde ich die stark empfehlen die Dokumentation zu lesen. Es lässt sich auch super als PWA auf dem Smartphone nutzen.
Die angebotenen Apps sowohl für Android oder iOS fand ich persönlich jetzt nicht so brauchbar.
Quelle:
https://www.kimai.org/documentation