From e57eb7277f557ea63f0bdfec9deaa49eecf4fcdf Mon Sep 17 00:00:00 2001 From: Markus Date: Wed, 6 May 2026 11:05:34 +0200 Subject: [PATCH] CHANGE docker-compose to use the portainer stack definition --- db/backup.sh | 2 +- docker-compose.yml | 73 +++++++++++++++++++++++++++++++--------------- 2 files changed, 50 insertions(+), 25 deletions(-) diff --git a/db/backup.sh b/db/backup.sh index 57abdf1..61f737f 100644 --- a/db/backup.sh +++ b/db/backup.sh @@ -8,7 +8,7 @@ while true; do FILENAME="${BACKUP_DIR}/strichliste_${TIMESTAMP}.sql.gz" echo "[$(date)] Starting backup..." - mariadb-dump -h db -u strichliste -pstrichliste strichliste | gzip > "${FILENAME}" + mariadb-dump -h db -u strichliste -pstrichliste --single-transaction --skip-lock-tables strichliste | gzip > "${FILENAME}" if [ $? -eq 0 ]; then echo "[$(date)] Backup saved: ${FILENAME}" diff --git a/docker-compose.yml b/docker-compose.yml index 0efa89f..011b8c0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,50 +1,73 @@ +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 - ports: - - "3306:3306" + - "MARIADB_ROOT_PASSWORD=rootpassword" + - "MARIADB_DATABASE=strichliste" + - "MARIADB_USER=strichliste" + - "MARIADB_PASSWORD=strichliste" volumes: - db-data:/var/lib/mysql - - ./db/seed.sql:/docker-entrypoint-initdb.d/seed.sql 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: http://localhost:5173,http://localhost:4173 - ports: - - "8080:8080" + - "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 + - "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.4 + image: mariadb:11.4 + container_name: qaffee-backup environment: - MARIADB_HOST: db - MARIADB_USER: strichliste - MARIADB_PASSWORD: strichliste + - "MARIADB_HOST=db" + - "MARIADB_USER=strichliste" + - "MARIADB_PASSWORD=strichliste" volumes: - ./backups:/backups - ./db/backup.sh:/backup.sh @@ -52,6 +75,8 @@ services: depends_on: db: condition: service_healthy - -volumes: - db-data: + networks: + - traefik-net +networks: + traefik-net: + external: true \ No newline at end of file