Auth layer (Authentik 2026.8.0): - compose: 3-service stack (authentik-postgres, authentik-server, authentik-worker), postgres health-gated, bind mounts under /home/dank/authentik - Caddyfile: auth.franksdank.cloud vhost; forward_auth on the no-auth vhosts (homepage, SearXNG, Hermes, Prometheus, RomM, Copyparty); outpost path proxied first in a route block - .env.example: AUTHENTIK_PG_PASS + AUTHENTIK_SECRET_KEY - deploy.sh: render only CADDY_BASICAUTH_HASH (the homepage per-user hashes are retired; grafana + pihole keep basicauth) - tests/authentik.bats (new) + updated homepage/caddyfile/pihole seams - docs: Authentik.md + per-service pages; Caddy.md + Homepage.md updated Homepage (naked domain): - Caddyfile: dankclaw.franksdank.cloud -> franksdank.cloud www.franksdank.cloud; dankclaw + dankserver redirect to it; bare-IP catch-all updated - addn-hosts: A records for the naked domain, www, and auth (all -> 143) - tests/pihole.bats: vhost_names handles multi-address blocks; TLD check allows the naked domain All 146 tests pass.
46 lines
1.8 KiB
Plaintext
46 lines
1.8 KiB
Plaintext
# A records for the flat franksdank.name scheme (dnsmasq addn-hosts format:
|
|
# <IP> <name> [<name> ...]). Served by the Pi-hole quadlet (FTL is a
|
|
# dnsmasq fork): the quadlet mounts this file into /etc/dnsmasq.d/ read-only.
|
|
#
|
|
# Caddy is consolidated on dankclaw (192.168.0.143): it fronts every service
|
|
# on both hosts, so every name resolves to that one IP. Keep in sync with the
|
|
# Caddyfile (tests/pihole.bats cross-checks this).
|
|
#
|
|
# 192.168.0.143 = dankclaw (runs the Caddy container + the AI/dev stack)
|
|
# 192.168.0.235 = dankserver (media stack; reached by Caddy via published
|
|
# LAN ports — no DNS records point here)
|
|
|
|
# --- Homepage (naked domain + www) + legacy names ---
|
|
192.168.0.143 franksdank.cloud
|
|
192.168.0.143 www.franksdank.cloud
|
|
192.168.0.143 dankclaw.franksdank.cloud
|
|
192.168.0.143 dankserver.franksdank.cloud
|
|
|
|
# --- Authentik (SSO / OIDC provider) ---
|
|
192.168.0.143 auth.franksdank.cloud
|
|
|
|
# --- Media services (dankserver, proxied) ---
|
|
192.168.0.143 plex.franksdank.cloud
|
|
192.168.0.143 plex.franksdank.casa
|
|
192.168.0.143 books.franksdank.cloud
|
|
192.168.0.143 romm.franksdank.cloud
|
|
192.168.0.143 files.franksdank.cloud
|
|
192.168.0.143 jellyfin.franksdank.cloud
|
|
192.168.0.143 radarr.franksdank.cloud
|
|
192.168.0.143 sonarr.franksdank.cloud
|
|
192.168.0.143 lidarr.franksdank.cloud
|
|
192.168.0.143 readarr.franksdank.cloud
|
|
192.168.0.143 prowlarr.franksdank.cloud
|
|
192.168.0.143 qbittorrent.franksdank.cloud
|
|
|
|
# --- AI / search / dev services (dankclaw, local) ---
|
|
192.168.0.143 search.franksdank.cloud
|
|
192.168.0.143 comfyui.franksdank.cloud
|
|
192.168.0.143 chat.franksdank.cloud
|
|
192.168.0.143 hermes.franksdank.cloud
|
|
192.168.0.143 gitea.franksdank.cloud
|
|
192.168.0.143 grafana.franksdank.cloud
|
|
192.168.0.143 prometheus.franksdank.cloud
|
|
192.168.0.143 loki.franksdank.cloud
|
|
192.168.0.143 pihole.franksdank.cloud
|