Files
docker/kimai/docker-compose.yaml

71 lines
1.6 KiB
YAML

version: "3.9"
volumes:
kimai:
name: kimai
kimai-db:
name: kimai-db
networks:
proxy:
external: true
kimai:
name: kimai
external: false
services:
kimai:
image: kimai/kimai2:fpm
container_name: kimai
hostname: kimai
restart: unless-stopped
environment:
ADMINMAIL: ${ADMIN_USER}
ADMINPASS: ${ADMIN_PASS}
DATABASE_URL: mysql://${DB_USER}:${DB_PASS}@kimai-db/${DB_NAME}?charset=utf8&serverVersion=8.1.0
TRUSTED_HOSTS: kimai.lan,kimai-web,localhost,127.0.0.1
APP_SECRET: ${APP_SECRET}
depends_on:
- kimai-db
networks:
- kimai
volumes:
- kimai:/opt/kimai/public
kimai-web:
image: nginx:alpine
container_name: kimai-web
hostname: kimai-web
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.kimai.entrypoints=web"
- "traefik.http.routers.kimai.rule=Host(`kimai.lan`)"
- "traefik.http.services.kimai.loadbalancer.server.port=80"
depends_on:
- kimai
networks:
- proxy
- kimai
volumes:
- kimai:/opt/kimai/public:ro
- ${PWD}/kimai.conf:/etc/nginx/conf.d/default.conf
kimai-db:
image: mysql:8
container_name: kimai-db
hostname: kimai-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASS}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}
MYSQL_DATABASE: ${DB_NAME}
volumes:
- kimai-db:/var/lib/mysql
networks:
- kimai
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)"]