events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; access_log /dev/stdout; error_log /dev/stderr; client_max_body_size 50M; proxy_read_timeout 1200s; proxy_connect_timeout 1200s; proxy_send_timeout 1200s; send_timeout 1200s; resolver 127.0.0.11 valid=30s ipv6=off; server { listen 80; # Route for the main Dashboard location / { auth_basic "Restricted Access - Local AI Suite"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://dashboard:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } # Route for Company Explorer location /ce/ { auth_basic "Restricted Access - Local AI Suite"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://company-explorer:8000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # Route for Lead Engine UI location /lead/ { auth_basic "Restricted Access - Local AI Suite"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://lead-engine:8501/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; proxy_read_timeout 86400; } # Route for Lead Engine Feedback (public) location /feedback/ { auth_basic off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; rewrite ^/feedback/(.*)$ /$1 break; proxy_pass http://lead-engine:8004; 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; } # Smartlead Webhooks (public) location /public/smartlead/ { auth_basic off; rewrite ^/public/smartlead/(.*)$ /webhook/$1 break; proxy_pass http://lead-engine:8004; 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; } } }