78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
version: "3.9"
|
|
|
|
volumes:
|
|
scheidle-app:
|
|
name: scheidle-app
|
|
scheidle-db:
|
|
name: scheidle-db
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
scheidle:
|
|
name: scheidle
|
|
external: false
|
|
|
|
services:
|
|
scheidle-app:
|
|
image: kimai/kimai2:fpm
|
|
container_name: scheidle-app
|
|
hostname: scheidle-app
|
|
restart: unless-stopped
|
|
environment:
|
|
ADMINMAIL: ${ADMIN_USER}
|
|
ADMINPASS: ${ADMIN_PASS}
|
|
DATABASE_URL: mysql://${DB_USER}:${DB_PASS}@kimai-scheidle-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:
|
|
- scheidle-db
|
|
networks:
|
|
- scheidle
|
|
volumes:
|
|
- scheidle-app:/opt/kimai/public
|
|
|
|
scheidle-web:
|
|
image: nginx:alpine
|
|
container_name: scheidle-web
|
|
hostname: scheidle-web
|
|
restart: unless-stopped
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.kimai-scheidle.rule=Host(`scheidle.ri-st.de`)"
|
|
- "traefik.http.routers.kimai-scheidle.entrypoints=web"
|
|
- "traefik.http.routers.kimai-scheidle.middlewares=kimai-scheidle"
|
|
- "traefik.http.middlewares.kimai-scheidle.redirectscheme.scheme=https"
|
|
- "traefik.http.routers.kimai-scheidle-secure.rule=Host(`scheidle.ri-st.de`)"
|
|
- "traefik.http.routers.kimai-scheidle-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.kimai-scheidle-secure.tls=true"
|
|
- "traefik.http.routers.kimai-scheidle-secure.tls.certresolver=cs"
|
|
- "traefik.http.routers.kimai-scheidle-secure.service=kimai-scheidle-secure"
|
|
- "traefik.http.services.kimai-scheidle-secure.loadbalancer.server.port=80"
|
|
depends_on:
|
|
- scheidle-app
|
|
networks:
|
|
- proxy
|
|
- scheidle
|
|
volumes:
|
|
- scheidle-app:/opt/kimai/public:ro
|
|
- ${PWD}/kimai.conf:/etc/nginx/conf.d/default.conf
|
|
|
|
scheidle-db:
|
|
image: mysql:8
|
|
container_name: scheidle-db
|
|
hostname: scheidle-db
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
|
|
MYSQL_USER: ${DB_USER}
|
|
MYSQL_PASSWORD: ${DB_PASS}
|
|
MYSQL_DATABASE: ${DB_NAME}
|
|
volumes:
|
|
- scheidle-db:/var/lib/mysql
|
|
networks:
|
|
- scheidle
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)"]
|