Files
hassio-addons/maintainerr/rootfs/etc/nginx/servers/ingress.conf
copilot-swe-agent[bot] 8631d9213c fix(maintainerr): inject ingress base path into UI files for React Router
The upstream Maintainerr builds its Vite/React frontend with a
__PATH_PREFIX__ placeholder that gets replaced at runtime by start.sh
using the BASE_PATH env var. This sets:
- React Router's basename (createBrowserRouter)
- API base URL (axios calls)
- EventSource URLs
- Vite asset prefix

Without this replacement, React Router has an empty basename and can't
match the ingress URL (/api/hassio_ingress/<token>/), returning
"No route matches URL".

Fix: Replace __PATH_PREFIX__ in the built UI files with the HA ingress
entry before starting the app. Remove nginx sub_filters (no longer
needed since the UI files already reference the correct ingress-prefixed
URLs). Keep the nginx rewrite rule to strip the prefix on the server side.

Agent-Logs-Url: https://github.com/alexbelgium/hassio-addons/sessions/e0751563-06a4-4b4e-a4a7-63b2e5f66f03

Co-authored-by: alexbelgium <44178713+alexbelgium@users.noreply.github.com>
2026-04-03 14:02:46 +00:00

34 lines
996 B
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;
location / {
set $app '%%ingress_entry%%';
rewrite ^%%ingress_entry%%/?(.*)$ /$1 break;
proxy_pass http://127.0.0.1:6246;
# WebSocket support
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_read_timeout 90;
add_header X-Frame-Options "SAMEORIGIN";
add_header 'Referrer-Policy' 'no-referrer';
# Redirect location headers
absolute_redirect off;
proxy_redirect / $app/;
}
}