Files
qaffee/docker-compose.yml

82 lines
2.5 KiB
YAML

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