From 65eb63025488d104ce127a8c5d6038b1b855dfb6 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Tue, 24 Mar 2026 02:13:47 +0000 Subject: [PATCH] chore: migrate dev env to Traefik reverse proxy with HTTPS Replace direct port exposure with Traefik labels for dev.resolutionflow.com routing. Adds basic auth on frontend, TLS via Let's Encrypt, and updates Vite allowedHosts. Co-Authored-By: Claude Opus 4.6 (1M context) --- docker-compose.dev.yml | 20 +++++++++++++++----- frontend/vite.config.ts | 1 + 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 7aed2104..2d982fd0 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -22,8 +22,6 @@ services: context: ./backend dockerfile: Dockerfile.dev container_name: resolutionflow_backend - ports: - - "8000:8000" volumes: - ./backend:/app environment: @@ -43,21 +41,33 @@ services: depends_on: db: condition: service_healthy + labels: + - "traefik.enable=true" + - "traefik.http.routers.rf-api.rule=Host(`dev.resolutionflow.com`) && PathPrefix(`/api`)" + - "traefik.http.routers.rf-api.entrypoints=websecure" + - "traefik.http.routers.rf-api.tls.certresolver=letsencrypt" + - "traefik.http.services.rf-api.loadbalancer.server.port=8000" frontend: build: context: ./frontend dockerfile: Dockerfile.dev container_name: resolutionflow_frontend - ports: - - "5173:5173" volumes: - ./frontend:/app - /app/node_modules environment: - - VITE_API_URL=http://46.202.92.250:8000 + - VITE_API_URL=https://dev.resolutionflow.com/api depends_on: - backend + labels: + - "traefik.enable=true" + - "traefik.http.routers.rf-frontend.rule=Host(`dev.resolutionflow.com`)" + - "traefik.http.routers.rf-frontend.middlewares=dev-auth" + - "traefik.http.middlewares.dev-auth.basicauth.users=chihlasm:$$apr1$$dJXUAZ3Y$$SsJm.K8fOjCeNMe4B70Bi0" + - "traefik.http.routers.rf-frontend.entrypoints=websecure" + - "traefik.http.routers.rf-frontend.tls.certresolver=letsencrypt" + - "traefik.http.services.rf-frontend.loadbalancer.server.port=5173" volumes: rf_postgres_data: diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index de98c4f0..66aec6f4 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -19,6 +19,7 @@ export default defineConfig({ ], server: { host: '0.0.0.0', + allowedHosts: ['dev.resolutionflow.com'], watch: { usePolling: true, },