resolver 127.0.0.1; server { listen 80 default_server; server_name ""; location / { root /www; index index.php; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } location /auth-admin { internal; rewrite ^ /auth.php?admin; } location /auth-user { internal; rewrite ^ /auth.php?user; } location /plex { set $test ""; # # If a request to / comes in, 301 redirect to the main plex page, # # but only if it doesn't contain the X-Plex-Device-Name header or query argument. # # This fixes a bug where you get permission issues when accessing the web dashboard. # if ($http_x_plex_device_name = '') { # set $test A; # } # if ($arg_X-Plex-Device-Name = '') { # set $test "${test}B"; # } # if ($test = AB) { # rewrite ^/$ http://$http_host/web/index.html; # } proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://plex:32400; # Plex proxy settings. proxy_redirect off; proxy_buffering off; ## Required for Websockets proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 36000s; ## Timeout after 10 hours } location /deluge { auth_request /auth-admin; proxy_pass http://deluge:8112/; proxy_set_header X-Deluge-Base "/deluge/"; } location /sickrage { auth_request /auth-admin; proxy_pass http://sickrage:8081; } location /nzbget { auth_request /auth-admin; proxy_pass http://nzbget:6789; } location /plexpy { auth_request /auth-user; proxy_pass http://plexpy:8181; } location /radarr { auth_request /auth-admin; proxy_pass http://radarr:7878; } location /hydra { auth_request /auth-admin; proxy_pass http://hydra:5075; } }