user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$host"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off; # Traefik handles compression at the edge — leave it off here. gzip off; # 50M for file uploads (matches php upload_max_filesize) client_max_body_size 50M; # Upstream PHP-FPM upstream php-upstream { server app:9000; } include /etc/nginx/conf.d/*.conf; }