diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index a35304c..146cd76 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -17,6 +17,7 @@ services: app: + restart: unless-stopped build: context: . dockerfile: Dockerfile @@ -50,10 +51,6 @@ services: redis: condition: service_healthy deploy: - replicas: 1 - restart_policy: - condition: on-failure - max_attempts: 3 resources: limits: memory: 256M @@ -64,7 +61,7 @@ services: - web labels: - "traefik.enable=true" - - "traefik.docker.network=golfgame_web" + - "traefik.docker.network=traefik_web" - "traefik.http.routers.golf.rule=Host(`${DOMAIN:-golf.example.com}`)" - "traefik.http.routers.golf.entrypoints=websecure" - "traefik.http.routers.golf.tls=true" @@ -84,6 +81,7 @@ services: - "traefik.http.services.golf.loadbalancer.sticky.cookie.name=golf_server" postgres: + restart: unless-stopped image: postgres:16-alpine environment: POSTGRES_DB: golf @@ -106,6 +104,7 @@ services: memory: 64M redis: + restart: unless-stopped image: redis:7-alpine command: redis-server --appendonly yes --maxmemory 32mb --maxmemory-policy allkeys-lru volumes: @@ -124,45 +123,14 @@ services: reservations: memory: 16M - traefik: - image: traefik:v3.6 - environment: - - DOCKER_API_VERSION=1.44 - command: - - "--api.dashboard=true" - - "--api.insecure=true" - - "--accesslog=true" - - "--log.level=WARN" - - "--providers.docker=true" - - "--providers.docker.exposedbydefault=false" - - "--entrypoints.web.address=:80" - - "--entrypoints.web.http.redirections.entryPoint.to=websecure" - - "--entrypoints.web.http.redirections.entryPoint.scheme=https" - - "--entrypoints.websecure.address=:443" - - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true" - - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web" - - "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}" - - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json" - ports: - - "80:80" - - "443:443" - volumes: - - /var/run/docker.sock:/var/run/docker.sock:ro - - letsencrypt:/letsencrypt - networks: - - web - deploy: - resources: - limits: - memory: 64M volumes: postgres_data: redis_data: - letsencrypt: networks: internal: driver: bridge web: - driver: bridge + name: traefik_web + external: true