Oktett-Klasse .150-.199 (App-Services). Nautobot gibt damit .30/.31 an AGH frei. .157 ist gitea, deshalb nimmt redis .158. - Datenmigration ueber neues nautobot/tp45-ip-move.py: Nautobot verbietet das Aendern einer IP nach dem Anlegen -> anlegen/primary_ip4 umhaengen/ Altobjekt loeschen, in dieser Reihenfolge - Stack-Redeploy (PUT /api/stacks/203), Caddy-Backend, Core-Literal *24 ueber GC deployt (Plan 51a90e25) mit Wirksamkeitspruefung am Geraet - caddy/deploy.sh: push_verified() ersetzt den push||push-Fallback. `pct push` meldet Exit 0 AUCH wenn es die Quelle nicht lesen kann, der Fallback griff deshalb nie und `caddy validate` pruefte die ALTE Datei -> gruene Abnahme bei unveraendertem Zustand (Symptom: 502 bei gesundem Backend) - 39 Referenzen in 28 Dateien mitgezogen; lebende Doku nachgezogen (CLAUDE.md, ip-plan.md, cf-tunnel-mapping §0-Kopf, TP16.3/TP31-Prosa) - GC-Compliance 140/140, 0 Drifts Neue Funde (TP45-Prosa + CLAUDE.md): - Die Core-Adressliste `nautobot` wird von GC nirgends gerendert -> ein Recovery von null erzeugt einen Core, in den Nautobot nicht mehr per SSH kommt. Gleiche Klasse wie die fehlenden DHCP-Reservierungen. - Regel *24 (Literal) und *28 (Liste) sind Dubletten; der Literal steht bei 0 Paketen. Zusammenlegung bleibt offen. - gc-manual-plan.py: /api/extras/job-log-entries/ liefert 404 (Nautobot 3.x) -> bei gescheitertem Deploy fehlt die Fehlermeldung. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
108 lines
2.9 KiB
Caddyfile
108 lines
2.9 KiB
Caddyfile
# TP31 — Reverse Proxy BF (Caddy), LXC 130 / 10.40.20.40
|
|
# SSoT: docs/teilprojekte.md → TP31. Deploy: pct push 130 caddy/Caddyfile /etc/caddy/Caddyfile
|
|
#
|
|
# Zertifikate ausschliesslich per DNS-01, damit auch rein INTERNE Namen gueltige
|
|
# Zertifikate bekommen, ohne dass von aussen irgendetwas erreichbar sein muss.
|
|
# Token: /etc/caddy/caddy.env (chmod 600, NICHT im Repo) — eng geschnitten auf
|
|
# Zone:DNS:Edit fuer emsenhuber.net. NICHT das account-weite CF_API_TOKEN.
|
|
{
|
|
email christoph@emsenhuber.com
|
|
acme_dns cloudflare {env.CF_DNS_API_TOKEN}
|
|
}
|
|
|
|
# --- Backends mit Selbstsignat: Caddy prueft deren Zertifikat nicht ---------
|
|
(selfsigned) {
|
|
transport http {
|
|
tls_insecure_skip_verify
|
|
}
|
|
}
|
|
|
|
# =========================================================================
|
|
# OEFFENTLICH (via Cloudflare Tunnel + Access; Clients ohne WARP)
|
|
# =========================================================================
|
|
vw.emsenhuber.net {
|
|
# TP41 T2: /admin nur lokal/WARP-intern (kein CF-Header). Via CF (Header CF-Connecting-IP
|
|
# gesetzt) -> 404 statt Vault-Admin. Ersetzt die frühere WAF-Edge-Regel (403).
|
|
@cf_admin {
|
|
header CF-Connecting-IP *
|
|
path /admin /admin/*
|
|
}
|
|
respond @cf_admin 404
|
|
reverse_proxy http://10.40.20.127
|
|
}
|
|
|
|
hass.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.105:8123
|
|
}
|
|
|
|
n8n.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.167:5678
|
|
}
|
|
|
|
gitea.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.157:3000
|
|
}
|
|
|
|
# =========================================================================
|
|
# INTERN (Mesh/LAN; Split-Horizon zeigt diese Namen auf 10.40.20.40)
|
|
# =========================================================================
|
|
nautobot.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.154:8080
|
|
}
|
|
|
|
# grafana.emsenhuber.net — 2026-08-25 entfernt: LXC 104 war seit Langem gestoppt und stand
|
|
# noch auf VLAN1 (10.40.41.109); die Ingress-Zeile zeigte auf 10.40.20.109, das es nie gab.
|
|
# Wiederaufbau spaeter als eigener Punkt, dann nach TP32-Systematik.
|
|
|
|
ds-bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.10:8080
|
|
}
|
|
|
|
ccu.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.232
|
|
}
|
|
|
|
iobroker.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.107:8081
|
|
}
|
|
|
|
z2m25.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.106:8080
|
|
}
|
|
|
|
# --- MCP-Endpunkte: heute spricht ~/.claude.json diese IPs roh --------------
|
|
pve-mcp.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.173:3000
|
|
}
|
|
|
|
ha-mcp.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.105:9583
|
|
}
|
|
|
|
n8n-mcp.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.167:3001
|
|
}
|
|
|
|
gitea-mcp.bf.emsenhuber.net {
|
|
reverse_proxy http://10.40.20.167:3000
|
|
}
|
|
|
|
# --- HTTPS-Backends (Selbstsignat) -----------------------------------------
|
|
pve.bf.emsenhuber.net {
|
|
reverse_proxy https://10.40.20.100:8006 {
|
|
import selfsigned
|
|
}
|
|
}
|
|
|
|
portainer.bf.emsenhuber.net {
|
|
reverse_proxy https://10.40.20.126:9443 {
|
|
import selfsigned
|
|
}
|
|
}
|
|
|
|
pbs.bf.emsenhuber.net {
|
|
reverse_proxy https://10.40.20.135:8007 {
|
|
import selfsigned
|
|
}
|
|
}
|