From c0a2c68d944b2bfdd0633394393361f136264897 Mon Sep 17 00:00:00 2001 From: Stefan Hardegger Date: Wed, 23 Jul 2025 14:24:22 +0200 Subject: [PATCH] trying to fix the nginx config in docker --- docker-compose.yml | 70 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 53c96aa..ea9133b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,8 +8,10 @@ services: ports: - "6925:80" volumes: - - ./nginx.conf:/etc/nginx/nginx.conf - images_data:/app/images:ro + configs: + - source: nginx_config + target: /etc/nginx/nginx.conf depends_on: - frontend - backend @@ -71,4 +73,68 @@ services: volumes: postgres_data: typesense_data: - images_data: \ No newline at end of file + images_data: + +configs: + nginx_config: + content: | + events { + worker_connections 1024; + } + + http { + upstream frontend { + server frontend:3000; + } + + upstream backend { + server backend:8080; + } + + server { + listen 80; + client_max_body_size 10M; + + # Frontend routes + location / { + proxy_pass http://frontend; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_cache_bypass $http_upgrade; + } + + # Backend API routes + location /api/ { + proxy_pass http://backend/api/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_connect_timeout 60s; + proxy_send_timeout 60s; + proxy_read_timeout 60s; + } + + # Static image serving + location /images/ { + alias /app/images/; + expires 1y; + add_header Cache-Control "public, immutable"; + } + + # Typesense admin interface + location /typesense/ { + proxy_pass http://typesense:8108/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Typesense-API-Key $http_x_typesense_api_key; + } + } + } \ No newline at end of file