Commit Graph

79 Commits

Author SHA1 Message Date
root
9dcac60a08 add seanime.hubris.network proxy to seanime LXC 133 on strong :43211 2026-07-05 16:56:46 +02:00
root
dfe4e7bf80 migrate grimmory (130) to strong - update books backend 2026-07-05 15:03:34 +02:00
root
468c2e7d93 migrate arriman (122) and jellyfin (101) to strong - update backends 2026-07-05 14:37:32 +02:00
root
9b99dbb641 update house+teddy backends after LXC 129 migration to strong + teddycloud static IP 2026-07-05 13:18:03 +02:00
root
0b703fa192 update house.hubris.network backend to strong (192.168.8.244) after LXC 129 migration 2026-07-05 13:04:16 +02:00
root
751feefe4c update element.hubris.network backend to strong (192.168.8.242) after migrating LXC 118 2026-07-05 12:06:03 +02:00
root
8c92428b42 fix: remove forward-auth gate for jellyfin, use SSO plugin OIDC flow instead 2026-07-04 21:24:51 +02:00
root
ae854e563d fix: add /sso/* and /SSO-Auth/* to jellyfin api bypass for SSO plugin 2026-07-04 20:24:54 +02:00
root
acc5af8477 feat: add authentik forward-auth gate for media.hubris.network (API bypass for apps) 2026-07-04 19:45:14 +02:00
root
e01a39175f teddy.hubris.network: fix backend to https://192.168.8.243:8443 2026-06-29 22:11:21 +02:00
root
3824faf11c add teddy.hubris.network for TeddyCloud LXC 131 2026-06-29 21:52:04 +02:00
root
06d9452741 books.hubris.network: migrate backend to grimmory LXC 130 (192.168.8.213) 2026-06-29 01:20:11 +02:00
root
e0973bfeeb add house.hubris.network for Yuvomi 2026-06-26 17:24:33 +02:00
root
85e9a92059 remove matrix.hubris.network — moved to VPS traefik 2026-06-25 10:38:49 +02:00
dtoro
d2d9ef8da0 add trmnl.hubris.network -> 192.168.8.211:9851 (TRMNL plugins LXC 128) 2026-06-24 17:14:08 +02:00
root
6786f07c76 Add element.hubris.network (Element Web client) 2026-06-23 23:30:09 +02:00
root
0f472e9088 remove papers.hubris.network (zimaos paperless removed) 2026-06-21 23:29:17 +02:00
root
f9783571a1 revert paperless.hubris.network to LXC 103 2026-06-21 23:18:08 +02:00
root
b3e7385754 add papers.hubris.network for paperless on zimaos 2026-06-21 21:58:57 +02:00
root
8d14ef80fa point paperless to zimaos (192.168.8.195:8000) 2026-06-21 21:14:40 +02:00
root
d49a844941 feat: gate sab.hubris.network with Authentik forward-auth 2026-06-13 11:15:04 +02:00
root
32575ce73f fix: sab.hubris.network reverse proxy port 8081 -> 8082
SABnzbd is configured with SABNZBD__PORT=8082 in docker compose.
Previous value 8081 was a dead port; 8080 would route to qBittorrent.
2026-06-06 14:13:42 +02:00
1b977aabfa photos: clean up routing for Mulimage 2.0, add prism subdomain
Update the photos.hubris.network block to match the current stack
(PhotoPrism API + Go sidecar + SvelteKit). Add prism.hubris.network
as a dedicated PhotoPrism vhost for the Prismatic mobile client.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-06 12:38:41 +02:00
root
408a11c856 fix: add internal HTTP proxy for forward-auth (avoids TLS routing issues) 2026-06-04 23:43:48 +02:00
root
fec102895f fmt: clean up sso.hubris.network block formatting 2026-06-04 22:51:58 +02:00
root
2962a6e485 cleanup: point authentik forward-auth and sso to VPS 2026-06-04 22:47:28 +02:00
root
f520afad60 fix: proxy auth.hubris.network to VPS (82.165.190.79), strip port from Host header 2026-06-04 22:37:45 +02:00
c906a5acc7 authentik: add sso.hubris.network site for LAN forward-auth outpost callback
Domain-level proxy providers (Paperless, qBit) need an external_host that
routes to the LAN outpost (192.168.8.6), not auth.hubris.network (now the VPS
core). New site sso.hubris.network -> reverse_proxy 192.168.8.6:9000.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 00:41:55 +02:00
6ea8e727d4 authentik: point forward-auth snippet at LAN outpost (192.168.8.6)
Forward-auth now validates against the VPS Authentik core via a dedicated
LAN outpost (auth-outpost LXC 106), not LXC 124's frozen embedded outpost.
Resolves the post-migration split-brain. 192.168.8.180:9000 -> 192.168.8.6:9000.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-01 00:31:08 +02:00
db7f8fbf4e photos: revert /library/login proxy — OIDC starts at /api/v1/oidc/login
Earlier commits (e535f93 + a52cf68) proxied /library/login through to
PhotoPrism to fix what I thought was the OIDC initiation path. Wrong:
the SvelteKit SPA initiates OIDC by navigating to /api/v1/oidc/login
(already routed via @pp). The /library/login URL is what PhotoPrism's
UI uses POST-OIDC for the localStorage handoff back to the SPA — it
MUST bounce to / via the caddy redir, otherwise the SPA never picks
up the session and the user lands in PhotoPrism's own UI.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 01:08:10 +02:00
a52cf68d0f photos: wrap site block in route{} to force literal directive order
Without an explicit route{} block, caddy auto-hoists `redir` ahead of
`reverse_proxy`. That meant /library/* still redirected to / even
though I'd placed an @pp_login reverse_proxy above the redirs in the
file. Wrap the whole site in route{} so directives run in source order
and the more-specific /library/login matcher wins before the broader
/library/* redir.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 01:02:11 +02:00
e535f93dcc photos: stop caddy from eating /library/login (OIDC initiation)
The /library/* catch-all redir bounced /library/login (PhotoPrism's
OIDC login surface) back to / before the user could click "Sign in
with Authentik". Add a specific @pp_login matcher above the redir
so /library/login + /library/login/* reach PhotoPrism, while the
post-login /library/browse target still bounces back to the SvelteKit
SPA.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 01:01:21 +02:00
730334c3df photos: cut over to PhotoPrism stack on LXC 120, drop photos-new
Mulimage 2.0 merged the PhotoPrism + Go sidecar + SvelteKit architecture
into main and it now runs on LXC 120 (192.168.8.136). photos.hubris.network
moves from the legacy "reverse_proxy :3000" passthrough to the same
path-matchers pattern photos-new used: /api/v1/* + /static/* + /share/*
→ PhotoPrism (:2342), /api/sidecar/* → sidecar (:8000), catch-all →
nginx-served SvelteKit static bundle (:3000, was Vite dev in M0).

photos-new.hubris.network is removed entirely — LXC 127 is being
decommissioned in the same cutover.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 23:50:22 +02:00
root
708556fd1e Add mcp.hubris.network + secrets.hubris.network vhosts
Proxies to LXC 105:9810 (homelab-mcp SSE) and :9820 (secrets-issuance).
No SSO — both are agent-facing; auth happens at the service layer
(source-IP gating for issuance, mesh+LAN gating for both).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 17:12:51 +02:00
Claudio
a3d7e6a61c photos-new: bounce /library/* to / after OIDC 2026-05-17 22:03:35 +02:00
Claudio
e90f9078d8 Add photos-new.hubris.network -> LXC 127 (PhotoPrism M0 test) 2026-05-17 21:36:39 +02:00
Claudio
a219176c95 Add zimaos.hubris.network -> VM 100 (192.168.8.195)
Reverse-proxies the new ZimaOS VM through the standard pattern (TLS via
IONOS DNS-01, plain reverse_proxy to backend). Cert issued by Lets
Encrypt on first request.
2026-05-14 13:29:26 +02:00
claudio
ba935abbfb Add plato.hubris.network → LXC 126:8080 2026-05-13 01:14:44 +02:00
claudio
65507e68f7 Remove files.hubris.network (Seafile decommissioned) 2026-05-13 00:29:55 +02:00
Caddy on hubris
f0a8835d8c Route /thumbnail/* on files.hubris.network to Seafile Pro thumbnail-server (LXC 125:8081) 2026-05-12 18:57:57 +02:00
Caddy on hubris
c1c161d1b8 Strip IETF resumable-upload headers for Seafile iOS app (LXC 125)
iOS Seafile Pro 4.0.2 negotiates resumable uploads via Upload-Draft-Interop-Version: 6, but Seafile-fileserver does not understand the protocol and never returns the expected interim response; the iOS client then cancels the HTTP/2 stream after ~60s and the upload (or library-create POST) appears to fail. Strip the negotiation headers so the client falls back to normal multipart upload, and bump upstream timeouts for large transfers.
2026-05-12 18:10:40 +02:00
Caddy on hubris
139f889c23 Add files.hubris.network for Seafile (LXC 125) 2026-05-12 12:21:29 +02:00
claudio
7e856d85a6 Gate artifacto admin with Authentik + forward gateway header
Inject X-Artifacto-Gateway (shared secret in ARTIFACTO_GATEWAY_SECRET)
so the app can auto-login Authentik-authenticated users while
rejecting spoofed SSO headers from direct-connection peers.

Leaves /p/* (share URLs), /static/*, /healthz public.
2026-04-22 22:20:56 +02:00
root
a6b12a4e64 Revert photos.hubris.network forward-auth
mule-image commit e8e1adc wires native OIDC against Authentik
(/api/v1/auth/oidc/login). Users land on mulita login and click
Sign in with Authentik; outpost not involved.
2026-04-22 22:15:24 +02:00
root
8ed2631f6b Gate photos.hubris.network behind Authentik forward-auth
Bypass /api/* for JWT/mobile clients (mulita uses Bearer tokens;
SPA login POSTs /api/v1/auth/login). Browser UI goes through the
embedded outpost.
2026-04-22 22:13:06 +02:00
claudio
31eb41a05a Add artifacto.hubris.network → LXC 105:3100 2026-04-22 21:04:09 +02:00
claudio
8be7291059 Remove temp keys.hubris.network (bootstrap done) 2026-04-22 17:47:49 +02:00
claudio
55c7a8e8f2 TEMP: keys.hubris.network for netbird bootstrap 2026-04-22 16:24:11 +02:00
claudio
18343396aa blog: drop forward-auth, WriteFreely has native OIDC 2026-04-22 14:20:00 +02:00
claudio
c6a3707363 blog: gate only admin/login paths with Authentik; leave public reading open 2026-04-22 14:17:57 +02:00