version: "3.9" services: db: image: mysql:8 container_name: mytimetracker-db restart: always environment: MYSQL_DATABASE: mytimetracker MYSQL_ROOT_PASSWORD: root MYSQL_USER: appuser MYSQL_PASSWORD: apppass volumes: - db_data:/var/lib/mysql expose: - "3306" networks: - traefik app: build: . image: mytimetracker-app container_name: mytimetracker-app depends_on: - db ports: - "8400:8080" # 8400 auf dem Host, 8080 im Container environment: SPRING_PROFILES_ACTIVE: docker labels: - "traefik.enable=true" - "traefik.http.routers.mytimetracker.rule=Host(`timetracker.nilzbu.de`)" - "traefik.http.routers.mytimetracker.entrypoints=websecure" - "traefik.http.routers.mytimetracker.tls=true" - "traefik.http.routers.mytimetracker.tls.certresolver=letsEncrypt" - "traefik.http.services.mytimetracker.loadbalancer.server.port=8080" networks: - traefik restart: always volumes: db_data: networks: traefik: external: true