mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-06-12 18:41:27 +02:00
Add Home Assistant ingress support for Seerr addon with nginx reverse proxy
Co-authored-by: alexbelgium <44178713+alexbelgium@users.noreply.github.com>
This commit is contained in:
66
seerr/rootfs/etc/nginx/servers/ingress.conf
Normal file
66
seerr/rootfs/etc/nginx/servers/ingress.conf
Normal file
@@ -0,0 +1,66 @@
|
||||
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;
|
||||
|
||||
location / {
|
||||
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';
|
||||
|
||||
# Correct base_url for ingress
|
||||
absolute_redirect off;
|
||||
proxy_redirect / %%ingress_entry%%/;
|
||||
sub_filter_once off;
|
||||
sub_filter_types text/html text/css text/javascript application/javascript application/json;
|
||||
|
||||
# Rewrite Next.js static assets
|
||||
sub_filter '/_next/' '%%ingress_entry%%/_next/';
|
||||
|
||||
# Rewrite API paths
|
||||
sub_filter '"/api/v1' '"%%ingress_entry%%/api/v1';
|
||||
sub_filter "'/api/v1" "'%%ingress_entry%%/api/v1";
|
||||
sub_filter '`/api/v1' '`%%ingress_entry%%/api/v1';
|
||||
|
||||
# Rewrite image proxy paths
|
||||
sub_filter '"/imageproxy' '"%%ingress_entry%%/imageproxy';
|
||||
sub_filter '"/avatarproxy' '"%%ingress_entry%%/avatarproxy';
|
||||
sub_filter "'/imageproxy" "'%%ingress_entry%%/imageproxy";
|
||||
sub_filter "'/avatarproxy" "'%%ingress_entry%%/avatarproxy";
|
||||
|
||||
# Rewrite API docs path
|
||||
sub_filter '"/api-docs' '"%%ingress_entry%%/api-docs';
|
||||
|
||||
# Rewrite root href/src references
|
||||
sub_filter 'href="/' 'href="%%ingress_entry%%/';
|
||||
sub_filter 'src="/' 'src="%%ingress_entry%%/';
|
||||
sub_filter 'action="/' 'action="%%ingress_entry%%/';
|
||||
sub_filter 'content="/' 'content="%%ingress_entry%%/';
|
||||
|
||||
# Rewrite fetch/router paths in JavaScript
|
||||
sub_filter 'fetch("/' 'fetch("%%ingress_entry%%/';
|
||||
sub_filter "fetch('/" "fetch('%%ingress_entry%%/";
|
||||
sub_filter 'fetch(`/' 'fetch(`%%ingress_entry%%/';
|
||||
sub_filter 'router.push("/' 'router.push("%%ingress_entry%%/';
|
||||
sub_filter "router.push('/" "router.push('%%ingress_entry%%/";
|
||||
sub_filter 'router.push(`/' 'router.push(`%%ingress_entry%%/';
|
||||
sub_filter 'router.replace("/' 'router.replace("%%ingress_entry%%/';
|
||||
sub_filter "router.replace('/" "router.replace('%%ingress_entry%%/";
|
||||
sub_filter 'window.location.href="/' 'window.location.href="%%ingress_entry%%/';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user