- Published on
Kimai mit Docker und Traefik installieren
- Authors
- Name
- Tobias Steltner
Intro
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
Erstellen die Compose-Datei:
nano /opt/containers/kimai/compose.yml
3.1 Compose.yaml
version: '3'
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 Passwort 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 Minute.
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: