Spaces:
Sleeping
Sleeping
| events { | |
| worker_connections 1024; | |
| } | |
| http { | |
| include mime.types; | |
| default_type application/octet-stream; | |
| sendfile on; | |
| keepalive_timeout 65; | |
| # Redirect Nginx logs to Docker's standard output/error streams | |
| error_log /dev/stderr info; | |
| access_log /dev/stdout combined; | |
| # Set writable paths for Nginx temporary files to avoid permission errors | |
| # These paths correspond to directories created and permissioned in your Dockerfile | |
| client_body_temp_path /tmp/nginx_cache/client_body; | |
| proxy_temp_path /tmp/nginx_cache/proxy; | |
| # Gzip settings for improved performance (optional but recommended) | |
| gzip on; | |
| gzip_vary on; | |
| gzip_proxied any; | |
| gzip_comp_level 6; | |
| gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; | |
| server { | |
| listen 7860; # Hugging Face Spaces default port for Docker SDK | |
| server_name localhost; | |
| # Serve Streamlit app at the root (/) | |
| location / { | |
| proxy_pass http://localhost:8501; # Streamlit's default port | |
| proxy_http_version 1.1; | |
| proxy_set_header Upgrade $http_upgrade; | |
| proxy_set_header Connection "upgrade"; | |
| proxy_set_header Host $host; | |
| proxy_cache_bypass $http_upgrade; | |
| # Increase timeouts if Streamlit app takes long to load/respond or for large uploads | |
| proxy_read_timeout 300s; | |
| proxy_send_timeout 300s; | |
| # Allow larger file sizes if necessary, Nginx default is 1M. This is for requests proxied through Nginx. | |
| client_max_body_size 50M; # Adjust as needed for larger file uploads via Streamlit's internal mechanism | |
| } | |
| # This section is commented out as it's typically not needed for a Streamlit+Flask setup where | |
| # Streamlit calls Flask directly via localhost:5000. | |
| # If you needed to expose Flask publicly on a subpath, you'd uncomment and configure this. | |
| # location /api/ { | |
| # proxy_pass http://localhost:5000/; | |
| # 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; | |
| # client_max_body_size 50M; # Adjust for Flask API if it also handles uploads | |
| # } | |
| } | |
| } |