Commit graph

57 commits

Author SHA1 Message Date
ea9dba0c58 Monitor page: Uptime Kuma iframe + deploy log; expose /deploy/ via nginx
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 15:53:05 +00:00
1dd265b46d PWA: restrict navigateFallback to portal routes only
The service worker was intercepting iframe navigation to app paths
(/notices/, /kitchen/ etc.) and serving the portal's cached index.html
before the request reached nginx — causing the 🚧 EmbeddedFallback.
Only apply the fallback to portal routes; everything else goes to network.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 15:47:55 +00:00
0d15730789 nginx: proxy /notices/ and /monitor/ through portal nginx
Portal's nginx is the actual entry point (original NPM proxies the whole
domain to the portal LXC). App paths need to be proxied here, not in the
stack NPM. Same pattern as /api/auth/ which already works.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 15:26:50 +00:00
06182363cf Portal: render placeholder instead of recursing when embedded in an iframe
An un-routed app path falls back to serving the portal, which would otherwise
load the whole shell inside itself endlessly. Detect self-embedding and show a
'not available yet' placeholder instead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 15:05:50 +00:00
ff745b3ec7 Healthcheck: 127.0.0.1 (avoid IPv6 localhost refused) 2026-07-01 14:42:29 +00:00
19f13cf412 Docker-in-LXC: security_opt apparmor=unconfined 2026-07-01 13:28:51 +00:00
b54081113b Initial commit: portal 2026-07-01 12:09:54 +00:00