# 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 {
	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.emsenhuber.net {
	reverse_proxy http://10.40.20.30: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.emsenhuber.net {
	reverse_proxy http://10.40.20.232
}

iobroker.emsenhuber.net {
	reverse_proxy http://10.40.20.107:8081
}

z2m25.emsenhuber.net {
	reverse_proxy http://10.40.20.106:8080
}

# --- MCP-Endpunkte: heute spricht ~/.claude.json diese IPs roh --------------
pve-mcp.emsenhuber.net {
	reverse_proxy http://10.40.20.173:3000
}

ha-mcp.emsenhuber.net {
	reverse_proxy http://10.40.20.105:9583
}

n8n-mcp.emsenhuber.net {
	reverse_proxy http://10.40.20.167:3001
}

gitea-mcp.emsenhuber.net {
	reverse_proxy http://10.40.20.167:3000
}

# --- HTTPS-Backends (Selbstsignat) -----------------------------------------
pve.emsenhuber.net {
	reverse_proxy https://10.40.20.100:8006 {
		import selfsigned
	}
}

portainer.emsenhuber.net {
	reverse_proxy https://10.40.20.126:9443 {
		import selfsigned
	}
}

pbs.emsenhuber.net {
	reverse_proxy https://10.40.20.135:8007 {
		import selfsigned
	}
}
