Commit Graph

98 Commits

Author SHA1 Message Date
root
e7bf4f9d93 fix: clean shared/authentik (fix tab escaping) + add :8080 webhook endpoint 2026-08-12 14:42:40 +02:00
root
2c418d395d refactor: split Caddyfile into per-host configs with shared snippets
Structure:
  shared/authentik  - forward-auth proxy + authentik snippet (both hosts)
  hosts/hubris/      - git, mcp, oikos, paperless, cloud, photos, etc.
  hosts/strong/      - media, books, roms, jellyseerr, qbit, sab, matrix, etc.

Each host imports /etc/caddy/shared/* at the top of its Caddyfile.
Systemd overrides point to hosts/<hostname>/Caddyfile.

Deploy workflow: git push → webhook → caddy reload
2026-08-12 14:37:30 +02:00
root
86e727255b chore: add .gitignore for backup and env files 2026-08-12 14:33:33 +02:00
root
2b8bddc488 split: move 10 strong-hosted services to dedicated Caddy on CT 140 (.250)
Moved media, books, roms, jellyseerr, qbit, sab, matrix, element,
house, seanime to strong Caddy (192.168.8.250). These services
backends live on strong LXCs — co-locating Caddy removes cross-host
proxy dependency.

Remaining on hubris (.175): git, mcp, oikos, paperless, cloud, photos,
proxmox, secrets, home, trmnl, auth.
2026-08-12 14:33:03 +02:00
4238adb81c fix: zimaos.hubris.network reverse_proxy target IP .102→.195 (VM serving at original .195) 2026-08-06 22:05:17 +02:00
f266f0605f add matrix.hubris.network reverse proxy to Synapse (192.168.8.242:8008) 2026-08-05 17:11:34 +02:00
48549d0072 fix(zimaos): update reverse_proxy to 192.168.8.102:80 (correct ZimaOS VM IP) 2026-08-04 21:28:00 +02:00
root
d17ee47ce5 add pascal.hubris.network → 192.168.8.100:3001 2026-08-04 14:39:23 +02:00
25b81b2dce Add /oidc-callback to enroll bypass for desktop OIDC flow 2026-07-13 23:21:41 +02:00
root
a3d9368a54 Merge branch 'master' of http://192.168.8.121:3000/dtoro/caddy-conf 2026-07-12 23:15:18 +02:00
root
89ff86e36e add tube.hubris.network -> 192.168.178.44:8082 2026-07-12 23:11:13 +02:00
e026ba867a oikos: split SPA off to its own :8091 container
api no longer embeds the SPA (it's compose/web/Dockerfile's `web`
service in the oikos repo now) — route the catch-all handle to :8091
instead of :8090, and restore the /api/v1/*, /mcp, /agent/* matcher so
those keep hitting api directly rather than falling through to the
static file server.
2026-07-12 23:03:46 +02:00
8e48911e1f fix: close mcp.hubris.network block properly, remove dangling comment 2026-07-08 11:59:24 +02:00
fc50aa3bda oikos: remove old mcp+secrets blocks pointing to decommissioned apps/105 2026-07-08 11:58:12 +02:00
5401d77bab oikos: remove duplicate block, switch to mac-mini :8090, bypass Authentik for /api/v1/clients/enroll 2026-07-08 11:56:53 +02:00
ed20908d34 dns: add oikos/mcp/hermes → mac-mini Docker (Go Phase 6 cutover) 2026-07-07 19:15:39 +02:00
c195142827 Add oikos.hubris.network -> Oikos Console on apps (105:8091)
Authentik-gated (matches paperless.hubris.network's pattern) since the
console handles real mutation actions (signal ack/resolve, approval
approve/deny) and doesn't implement its own network-level gating the
way mcp.hubris.network/secrets.hubris.network do.

See dtoro/Homelab-Docs oikos/console/ for the app itself.
2026-07-06 13:26:24 +02:00
205cbf00f3 roms.hubris.network → .249 (fixed IP conflict with seanime) 2026-07-05 17:19:49 +02:00
c937c03da3 Add roms.hubris.network → 192.168.8.248:80 (RomM LXC 134 on strong) 2026-07-05 17:12:21 +02:00
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