71 lines
1.6 KiB
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)"]
|
|
|