# HTTP server configuration server { listen 80; listen [::]:80; server_name ${NGINX_HOST}; location /api/ { proxy_pass http://${NGINX_INTERNAL_HOST}:${API_PORT}/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; } location /minio/ { proxy_pass http://${NGINX_INTERNAL_HOST}:${MINIO_INTERNAL_PORT}/; 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; } # Serve static files if they exist, otherwise proxy to the UI backend location / { root ${UI_ROOT}; try_files $uri /index.html @ui_backend; } # Fallback to proxying for UI requests location @ui_backend { proxy_pass http://${NGINX_INTERNAL_HOST}:${UI_PORT}; 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; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }