From 56f10bf8f07a0a9e91f0ce799b133f7d255e02f3 Mon Sep 17 00:00:00 2001 From: Olivier CROGUENNEC Date: Sat, 13 Jun 2026 18:21:08 +0200 Subject: [PATCH] Maj --- docker-compose.yml | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c3ed0a5..fdcf080 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,15 +1,12 @@ version: "3.9" services: - backend: + crowdlending-backend: build: context: ./backend dockerfile: Dockerfile container_name: crowdlending-backend restart: unless-stopped - # Port exposé uniquement en dev local — en prod, nginx proxie en interne - # ports: - # - "4000:4000" env_file: - .env environment: @@ -18,16 +15,18 @@ services: DB_PATH: /app/data/crowdlending.db UPLOAD_DIR: /app/uploads volumes: - - backend_data:/app/data - - backend_uploads:/app/uploads + - ../volumes/crowdlending/data:/app/data + - ../volumes/crowdlending/uploads:/app/uploads healthcheck: test: ["CMD", "node", "-e", "fetch('http://localhost:4000/api/health').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))"] interval: 30s timeout: 5s retries: 3 start_period: 10s - - frontend: + networks: + - internal + + crowdlending-frontend: build: context: ./frontend dockerfile: Dockerfile @@ -35,12 +34,22 @@ services: VITE_API_URL: /api container_name: crowdlending-frontend restart: unless-stopped - ports: - - "8080:80" depends_on: backend: condition: service_healthy - -volumes: - backend_data: - backend_uploads: + labels: + - "traefik.enable=true" + - "traefik.http.routers.crowdlending.rule=Host(`crowdlending.croguennec.net`)" + - "traefik.http.routers.crowdlending.entrypoints=websecure" + - "traefik.http.routers.crowdlending.tls.certresolver=le" + - "traefik.http.routers.crowdlending.middlewares=ipwhitelist-all" + - "traefik.http.services.crowdlending.loadbalancer.server.port=80" + networks: + - internal + - backend # réseau Traefik + +networks: + internal: # communication interne backend <-> frontend + driver: bridge + backend: # réseau partagé avec Traefik + external: true \ No newline at end of file