version: "3" volumes: db-data: services: db: image: mariadb:11.4 container_name: qaffee-db restart: always command: --log-warnings=3 environment: - "MARIADB_ROOT_PASSWORD=rootpassword" - "MARIADB_DATABASE=strichliste" - "MARIADB_USER=strichliste" - "MARIADB_PASSWORD=strichliste" volumes: - db-data:/var/lib/mysql healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 5 networks: - traefik-net backend: build: ./backend container_name: qaffee-backend environment: - "QUARKUS_DATASOURCE_JDBC_URL=jdbc:mariadb://db:3306/strichliste" - "QUARKUS_DATASOURCE_USERNAME=strichliste" - "QUARKUS_DATASOURCE_PASSWORD=strichliste" - "QUARKUS_HTTP_CORS_ORIGINS=https://qaffee.cloud.aquantico.de" labels: traefik.enable: "true" traefik.docker.network: "traefik-net" traefik.http.routers.qaffee-backend.entrypoints: "websecure" traefik.http.routers.qaffee-backend.rule: "Host(`qaffee-api.cloud.aquantico.de`)" traefik.http.routers.qaffee-backend.tls: "true" traefik.http.routers.qaffee-backend.tls.certresolver: "myresolver" traefik.http.services.qaffee-backend.loadbalancer.server.port: 8080 depends_on: db: condition: service_healthy networks: - traefik-net frontend: build: ./frontend container_name: qaffee-frontend environment: - "API_URL=http://backend:8080" ports: - "3000:3000" labels: traefik.enable: "true" traefik.docker.network: "traefik-net" traefik.http.routers.qaffee-frontend.entrypoints: "websecure" traefik.http.routers.qaffee-frontend.rule: "Host(`qaffee.cloud.aquantico.de`)" traefik.http.routers.qaffee-frontend.tls: "true" traefik.http.routers.qaffee-frontend.tls.certresolver: "myresolver" traefik.http.services.qaffee-frontend.loadbalancer.server.port: 3000 depends_on: - backend networks: - traefik-net backup: image: mariadb:11.4 container_name: qaffee-backup environment: - "MARIADB_HOST=db" - "MARIADB_USER=strichliste" - "MARIADB_PASSWORD=strichliste" volumes: - ./backups:/backups - ./db/backup.sh:/backup.sh entrypoint: ["/bin/bash", "/backup.sh"] depends_on: db: condition: service_healthy networks: - traefik-net networks: traefik-net: external: true