Files
hassio-addons/seerr/rootfs/etc/nginx/servers/ingress.conf
2026-02-20 11:27:27 +01:00

56 lines
2.0 KiB
Plaintext

server {
listen %%interface%%:%%port%% default_server;
include /etc/nginx/includes/server_params.conf;
include /etc/nginx/includes/proxy_params.conf;
proxy_buffering off;
gzip_static off;
client_max_body_size 0;
# Based on https://github.com/seerr-team/seerr/blob/develop/docs/extending-seerr/reverse-proxy.mdx
location ^~ / {
set $app '%%ingress_entry%%';
rewrite ^%%ingress_entry%%/?(.*)$ /$1 break;
proxy_pass http://127.0.0.1:5055;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_hide_header X-Powered-By;
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;
proxy_set_header Accept-Encoding "";
proxy_read_timeout 90;
add_header X-Frame-Options "SAMEORIGIN";
add_header 'Referrer-Policy' 'no-referrer';
# Redirect location headers
absolute_redirect off;
proxy_redirect ^ $app;
proxy_redirect /setup $app/setup;
proxy_redirect /login $app/login;
# Sub filters to replace hardcoded paths
sub_filter_once off;
sub_filter_types *;
sub_filter 'href="/"' 'href="$app"';
sub_filter 'href="/login"' 'href="$app/login"';
sub_filter 'href:"/"' 'href:"$app"';
sub_filter '\/_next' '%%ingress_entry_escaped%%\/_next';
sub_filter '/_next' '$app/_next';
sub_filter '/api/v1' '$app/api/v1';
sub_filter '/login/plex/loading' '$app/login/plex/loading';
sub_filter '/images/' '$app/images/';
sub_filter '/imageproxy/' '$app/imageproxy/';
sub_filter '/avatarproxy/' '$app/avatarproxy/';
sub_filter '/android-' '$app/android-';
sub_filter '/apple-' '$app/apple-';
sub_filter '/favicon' '$app/favicon';
sub_filter '/logo_' '$app/logo_';
sub_filter '/site.webmanifest' '$app/site.webmanifest';
}
}