Revert "fix: convert Portainer stack to Docker Swarm mode with deploy labels"
All checks were successful
CI/CD Pipeline / Backend - Build, Test & Push (push) Successful in 3m3s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Successful in 11m46s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Successful in 1s
CI/CD Pipeline / Deploy to Portainer (push) Successful in 12s
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Successful in 1s

This reverts commit a2f80dd23f.
This commit is contained in:
David 2025-11-20 22:55:05 +01:00
parent a2f80dd23f
commit 010c804b2e

View File

@ -40,6 +40,7 @@ services:
# MinIO S3 Storage # MinIO S3 Storage
xpeditis-minio: xpeditis-minio:
image: minio/minio:latest image: minio/minio:latest
restart: unless-stopped
command: server /data --console-address ":9001" command: server /data --console-address ":9001"
volumes: volumes:
- xpeditis_minio_data:/data - xpeditis_minio_data:/data
@ -55,67 +56,62 @@ services:
timeout: 10s timeout: 10s
retries: 3 retries: 3
start_period: 20s start_period: 20s
deploy: labels:
restart_policy: - "traefik.enable=true"
condition: any - "traefik.docker.network=traefik_network"
delay: 5s
max_attempts: 3
window: 120s
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_network"
# MinIO API (S3) - HTTPS # MinIO API (S3) - HTTPS
- "traefik.http.routers.xpeditis-minio-api.rule=Host(`s3.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-minio-api.rule=Host(`s3.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-minio-api.entrypoints=websecure" - "traefik.http.routers.xpeditis-minio-api.entrypoints=websecure"
- "traefik.http.routers.xpeditis-minio-api.tls=true" - "traefik.http.routers.xpeditis-minio-api.tls=true"
- "traefik.http.routers.xpeditis-minio-api.tls.certresolver=letsencrypt" - "traefik.http.routers.xpeditis-minio-api.tls.certresolver=letsencrypt"
- "traefik.http.routers.xpeditis-minio-api.priority=50" - "traefik.http.routers.xpeditis-minio-api.priority=50"
- "traefik.http.routers.xpeditis-minio-api.service=xpeditis-minio-api" - "traefik.http.routers.xpeditis-minio-api.service=xpeditis-minio-api"
- "traefik.http.services.xpeditis-minio-api.loadbalancer.server.port=9000" - "traefik.http.services.xpeditis-minio-api.loadbalancer.server.port=9000"
- "traefik.http.routers.xpeditis-minio-api.middlewares=xpeditis-minio-api-headers" - "traefik.http.routers.xpeditis-minio-api.middlewares=xpeditis-minio-api-headers"
# MinIO API Headers # MinIO API Headers
- "traefik.http.middlewares.xpeditis-minio-api-headers.headers.customRequestHeaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.xpeditis-minio-api-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.xpeditis-minio-api-headers.headers.customRequestHeaders.X-Forwarded-For=" - "traefik.http.middlewares.xpeditis-minio-api-headers.headers.customRequestHeaders.X-Forwarded-For="
- "traefik.http.middlewares.xpeditis-minio-api-headers.headers.customRequestHeaders.X-Real-IP=" - "traefik.http.middlewares.xpeditis-minio-api-headers.headers.customRequestHeaders.X-Real-IP="
# MinIO API - HTTP → HTTPS Redirect # MinIO API - HTTP → HTTPS Redirect
- "traefik.http.routers.xpeditis-minio-api-http.rule=Host(`s3.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-minio-api-http.rule=Host(`s3.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-minio-api-http.entrypoints=web" - "traefik.http.routers.xpeditis-minio-api-http.entrypoints=web"
- "traefik.http.routers.xpeditis-minio-api-http.priority=50" - "traefik.http.routers.xpeditis-minio-api-http.priority=50"
- "traefik.http.routers.xpeditis-minio-api-http.middlewares=xpeditis-minio-api-redirect" - "traefik.http.routers.xpeditis-minio-api-http.middlewares=xpeditis-minio-api-redirect"
- "traefik.http.routers.xpeditis-minio-api-http.service=xpeditis-minio-api" - "traefik.http.routers.xpeditis-minio-api-http.service=xpeditis-minio-api"
- "traefik.http.middlewares.xpeditis-minio-api-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.xpeditis-minio-api-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.xpeditis-minio-api-redirect.redirectscheme.permanent=true" - "traefik.http.middlewares.xpeditis-minio-api-redirect.redirectscheme.permanent=true"
# MinIO Console - HTTPS # MinIO Console - HTTPS
- "traefik.http.routers.xpeditis-minio-console.rule=Host(`minio.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-minio-console.rule=Host(`minio.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-minio-console.entrypoints=websecure" - "traefik.http.routers.xpeditis-minio-console.entrypoints=websecure"
- "traefik.http.routers.xpeditis-minio-console.tls=true" - "traefik.http.routers.xpeditis-minio-console.tls=true"
- "traefik.http.routers.xpeditis-minio-console.tls.certresolver=letsencrypt" - "traefik.http.routers.xpeditis-minio-console.tls.certresolver=letsencrypt"
- "traefik.http.routers.xpeditis-minio-console.priority=50" - "traefik.http.routers.xpeditis-minio-console.priority=50"
- "traefik.http.routers.xpeditis-minio-console.service=xpeditis-minio-console" - "traefik.http.routers.xpeditis-minio-console.service=xpeditis-minio-console"
- "traefik.http.services.xpeditis-minio-console.loadbalancer.server.port=9001" - "traefik.http.services.xpeditis-minio-console.loadbalancer.server.port=9001"
- "traefik.http.routers.xpeditis-minio-console.middlewares=xpeditis-minio-console-headers" - "traefik.http.routers.xpeditis-minio-console.middlewares=xpeditis-minio-console-headers"
# MinIO Console Headers # MinIO Console Headers
- "traefik.http.middlewares.xpeditis-minio-console-headers.headers.customRequestHeaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.xpeditis-minio-console-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.xpeditis-minio-console-headers.headers.customRequestHeaders.X-Forwarded-For=" - "traefik.http.middlewares.xpeditis-minio-console-headers.headers.customRequestHeaders.X-Forwarded-For="
- "traefik.http.middlewares.xpeditis-minio-console-headers.headers.customRequestHeaders.X-Real-IP=" - "traefik.http.middlewares.xpeditis-minio-console-headers.headers.customRequestHeaders.X-Real-IP="
# MinIO Console - HTTP → HTTPS Redirect # MinIO Console - HTTP → HTTPS Redirect
- "traefik.http.routers.xpeditis-minio-console-http.rule=Host(`minio.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-minio-console-http.rule=Host(`minio.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-minio-console-http.entrypoints=web" - "traefik.http.routers.xpeditis-minio-console-http.entrypoints=web"
- "traefik.http.routers.xpeditis-minio-console-http.priority=50" - "traefik.http.routers.xpeditis-minio-console-http.priority=50"
- "traefik.http.routers.xpeditis-minio-console-http.middlewares=xpeditis-minio-console-redirect" - "traefik.http.routers.xpeditis-minio-console-http.middlewares=xpeditis-minio-console-redirect"
- "traefik.http.routers.xpeditis-minio-console-http.service=xpeditis-minio-console" - "traefik.http.routers.xpeditis-minio-console-http.service=xpeditis-minio-console"
- "traefik.http.middlewares.xpeditis-minio-console-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.xpeditis-minio-console-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.xpeditis-minio-console-redirect.redirectscheme.permanent=true" - "traefik.http.middlewares.xpeditis-minio-console-redirect.redirectscheme.permanent=true"
# Backend API (NestJS) # Backend API (NestJS)
xpeditis-backend: xpeditis-backend:
image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
restart: unless-stopped
depends_on: depends_on:
- xpeditis-db - xpeditis-db
- xpeditis-redis - xpeditis-redis
@ -178,43 +174,38 @@ services:
retries: 3 retries: 3
start_period: 60s start_period: 60s
deploy: labels:
restart_policy: - "traefik.enable=true"
condition: any - "traefik.docker.network=traefik_network"
delay: 5s
max_attempts: 3
window: 120s
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_network"
# Backend API - HTTPS # Backend API - HTTPS
- "traefik.http.routers.xpeditis-api.rule=Host(`api.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-api.rule=Host(`api.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-api.entrypoints=websecure" - "traefik.http.routers.xpeditis-api.entrypoints=websecure"
- "traefik.http.routers.xpeditis-api.tls=true" - "traefik.http.routers.xpeditis-api.tls=true"
- "traefik.http.routers.xpeditis-api.tls.certresolver=letsencrypt" - "traefik.http.routers.xpeditis-api.tls.certresolver=letsencrypt"
- "traefik.http.routers.xpeditis-api.priority=50" - "traefik.http.routers.xpeditis-api.priority=50"
- "traefik.http.routers.xpeditis-api.service=xpeditis-api" - "traefik.http.routers.xpeditis-api.service=xpeditis-api"
- "traefik.http.services.xpeditis-api.loadbalancer.server.port=4000" - "traefik.http.services.xpeditis-api.loadbalancer.server.port=4000"
- "traefik.http.routers.xpeditis-api.middlewares=xpeditis-api-headers" - "traefik.http.routers.xpeditis-api.middlewares=xpeditis-api-headers"
# Backend API Headers # Backend API Headers
- "traefik.http.middlewares.xpeditis-api-headers.headers.customRequestHeaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.xpeditis-api-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.xpeditis-api-headers.headers.customRequestHeaders.X-Forwarded-For=" - "traefik.http.middlewares.xpeditis-api-headers.headers.customRequestHeaders.X-Forwarded-For="
- "traefik.http.middlewares.xpeditis-api-headers.headers.customRequestHeaders.X-Real-IP=" - "traefik.http.middlewares.xpeditis-api-headers.headers.customRequestHeaders.X-Real-IP="
# Backend API - HTTP → HTTPS Redirect # Backend API - HTTP → HTTPS Redirect
- "traefik.http.routers.xpeditis-api-http.rule=Host(`api.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-api-http.rule=Host(`api.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-api-http.entrypoints=web" - "traefik.http.routers.xpeditis-api-http.entrypoints=web"
- "traefik.http.routers.xpeditis-api-http.priority=50" - "traefik.http.routers.xpeditis-api-http.priority=50"
- "traefik.http.routers.xpeditis-api-http.middlewares=xpeditis-api-redirect" - "traefik.http.routers.xpeditis-api-http.middlewares=xpeditis-api-redirect"
- "traefik.http.routers.xpeditis-api-http.service=xpeditis-api" - "traefik.http.routers.xpeditis-api-http.service=xpeditis-api"
- "traefik.http.middlewares.xpeditis-api-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.xpeditis-api-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.xpeditis-api-redirect.redirectscheme.permanent=true" - "traefik.http.middlewares.xpeditis-api-redirect.redirectscheme.permanent=true"
# Frontend (Next.js) # Frontend (Next.js)
xpeditis-frontend: xpeditis-frontend:
image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod
restart: unless-stopped
environment: environment:
NODE_ENV: production NODE_ENV: production
NEXT_PUBLIC_API_URL: https://api.preprod.xpeditis.com NEXT_PUBLIC_API_URL: https://api.preprod.xpeditis.com
@ -229,39 +220,33 @@ services:
retries: 3 retries: 3
start_period: 40s start_period: 40s
deploy: labels:
restart_policy: - "traefik.enable=true"
condition: any - "traefik.docker.network=traefik_network"
delay: 5s
max_attempts: 3
window: 120s
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik_network"
# Frontend - HTTPS # Frontend - HTTPS
- "traefik.http.routers.xpeditis-app.rule=Host(`app.preprod.xpeditis.com`) || Host(`www.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-app.rule=Host(`app.preprod.xpeditis.com`) || Host(`www.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-app.entrypoints=websecure" - "traefik.http.routers.xpeditis-app.entrypoints=websecure"
- "traefik.http.routers.xpeditis-app.tls=true" - "traefik.http.routers.xpeditis-app.tls=true"
- "traefik.http.routers.xpeditis-app.tls.certresolver=letsencrypt" - "traefik.http.routers.xpeditis-app.tls.certresolver=letsencrypt"
- "traefik.http.routers.xpeditis-app.priority=50" - "traefik.http.routers.xpeditis-app.priority=50"
- "traefik.http.routers.xpeditis-app.service=xpeditis-app" - "traefik.http.routers.xpeditis-app.service=xpeditis-app"
- "traefik.http.services.xpeditis-app.loadbalancer.server.port=3000" - "traefik.http.services.xpeditis-app.loadbalancer.server.port=3000"
- "traefik.http.routers.xpeditis-app.middlewares=xpeditis-app-headers" - "traefik.http.routers.xpeditis-app.middlewares=xpeditis-app-headers"
# Frontend Headers # Frontend Headers
- "traefik.http.middlewares.xpeditis-app-headers.headers.customRequestHeaders.X-Forwarded-Proto=https" - "traefik.http.middlewares.xpeditis-app-headers.headers.customRequestHeaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.xpeditis-app-headers.headers.customRequestHeaders.X-Forwarded-For=" - "traefik.http.middlewares.xpeditis-app-headers.headers.customRequestHeaders.X-Forwarded-For="
- "traefik.http.middlewares.xpeditis-app-headers.headers.customRequestHeaders.X-Real-IP=" - "traefik.http.middlewares.xpeditis-app-headers.headers.customRequestHeaders.X-Real-IP="
# Frontend - HTTP → HTTPS Redirect # Frontend - HTTP → HTTPS Redirect
- "traefik.http.routers.xpeditis-app-http.rule=Host(`app.preprod.xpeditis.com`) || Host(`www.preprod.xpeditis.com`)" - "traefik.http.routers.xpeditis-app-http.rule=Host(`app.preprod.xpeditis.com`) || Host(`www.preprod.xpeditis.com`)"
- "traefik.http.routers.xpeditis-app-http.entrypoints=web" - "traefik.http.routers.xpeditis-app-http.entrypoints=web"
- "traefik.http.routers.xpeditis-app-http.priority=50" - "traefik.http.routers.xpeditis-app-http.priority=50"
- "traefik.http.routers.xpeditis-app-http.middlewares=xpeditis-app-redirect" - "traefik.http.routers.xpeditis-app-http.middlewares=xpeditis-app-redirect"
- "traefik.http.routers.xpeditis-app-http.service=xpeditis-app" - "traefik.http.routers.xpeditis-app-http.service=xpeditis-app"
- "traefik.http.middlewares.xpeditis-app-redirect.redirectscheme.scheme=https" - "traefik.http.middlewares.xpeditis-app-redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.xpeditis-app-redirect.redirectscheme.permanent=true" - "traefik.http.middlewares.xpeditis-app-redirect.redirectscheme.permanent=true"
volumes: volumes:
xpeditis_db_data: xpeditis_db_data: