From 134871404b9f9dafc864d6a17a3f32f19c8870fc Mon Sep 17 00:00:00 2001 From: NotII <46204250+NotII@users.noreply.github.com> Date: Sun, 9 Mar 2025 01:35:55 +0000 Subject: [PATCH] Update docker-compose.yml --- docker-compose.yml | 71 +++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 38 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 02ffae1..f271c3a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,51 +3,46 @@ version: '3.8' services: traefik: image: traefik:v2.5 - container_name: traefik command: - - "--api.insecure=true" # Enable Traefik dashboard (optional) - - "--log.level=DEBUG" # Enable DEBUG level logs - - "--accesslog" # Enable access logs - - "--entrypoints.web.address=:80" # Listen on port 80 - - "--entrypoints.websecure.address=:443" # Listen on port 443 - - "--entrypoints.websecure.forwardedHeaders.insecure=true" # Allow forwarded headers + - "--api.insecure=true" + - "--log.level=DEBUG" + - "--accesslog" + - "--providers.docker=true" + - "--providers.docker.network=web" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--entrypoints.websecure.forwardedHeaders.trustedIPs=212.113.116.6,194.26.229.41,138.124.13.13" ports: - - "80:80" # Expose port 80 - - "443:443" # Expose port 443 - - "8080:8080" # Traefik Dashboard (optional) + - "80:80" + - "443:443" + - "8080:8080" volumes: - - "/var/run/docker.sock:/var/run/docker.sock" # Allow Traefik to interact with Docker + - "/var/run/docker.sock:/var/run/docker.sock" networks: - web - labels: - - "traefik.enable=true" nextjs-app: - build: - context: . # Path to your project - dockerfile: Dockerfile - container_name: nextjs-app-container - expose: - - "3000" # Expose port 3000 internally (not externally) - labels: - - "traefik.enable=true" - - "traefik.http.routers.nextjs-app.rule=Host(`dash.embermarket.app`)" - - "traefik.http.services.nextjs-app.loadbalancer.server.port=3000" - - # IP Whitelist middleware for the Next.js app - - "traefik.http.routers.nextjs-app.middlewares=ip-whitelist@file" # Use @file to reference middleware from a file provider - - # Define the IP whitelist middleware for the Next.js app - - "traefik.http.middlewares.ip-whitelist@file.ipWhiteList.sourcerange=212.113.116.6,194.26.229.41,138.124.13.13" # Allowed IPs - - environment: - - NODE_ENV=production - - NEXT_PUBLIC_API_URL=https://internal-api.inboxi.ng/api - restart: unless-stopped - networks: - - web - + build: + context: . + dockerfile: Dockerfile + container_name: nextjs-app-container + expose: + - "3000" + labels: + - "traefik.enable=true" + # Use either Host header or alternative routing + - "traefik.http.routers.nextjs-app.rule=Host(`dash.embermarket.app`) || PathPrefix(`/`)" + - "traefik.http.services.nextjs-app.loadbalancer.server.port=3000" + - "traefik.http.routers.nextjs-app.middlewares=ip-whitelist@file" + # Add fallback entrypoint if needed + - "traefik.http.routers.nextjs-app.entrypoints=websecure" + networks: + - web + environment: + - NODE_ENV=production + - NEXT_PUBLIC_API_URL=https://internal-api.inboxi.ng/api + restart: unless-stopped networks: web: - external: true + external: true \ No newline at end of file