# HOW_TO_VERIFY (Caddy AutoGen) Denna fil beskriver hur du verifierar appen i en riktig ZimaOS-miljö och vilken data som behövs vid felsökning. ## 1) Förutsättningar - ZimaOS med appen `caddy-autogen` installerad. - En fungerande domän i Cloudflare (publik zon). - AdGuard Home (eller annan lokal DNS) i LAN. - Cloudflare API-token med minst: - `Zone.Zone:Read` - `Zone.DNS:Edit` - Minst en målcontainer med web UI-port. ## 2) Grundkonfiguration Sätt appvariabler i `caddy-autogen`: - `BASE_DOMAIN=home.example.com` - `WILDCARD_DOMAIN=home.example.com` - `CLOUDFLARE_API_TOKEN=` - `REQUIRE_CLOUDFLARE=true` - `ALLOW_INTERNAL_TLS_FALLBACK=false` Konfigurera lokal DNS (AdGuard Home): - `A`/rewrite för `*.home.example.com` -> ZimaOS LAN-IP - `A`/rewrite för `home.example.com` -> ZimaOS LAN-IP ## 3) Positivt test: endpoint skapas korrekt Exempel med Frigate (web UI på 5000): Sätt env-vars på Frigate-containern: ```text LABEL_CADDY_ENABLE=true LABEL_CADDY_TARGET_PORT=5000 LABEL_CADDY_HOST=frigate LABEL_CADDY_SCHEME=http LABEL_CADDY_PATH=/ ``` Verifiera: 1. Vänta 15-30 sekunder (default polling). 2. Öppna `https://frigate.home.example.com`. 3. Kontrollera att sidan svarar med giltigt certifikat. 4. Kontrollera att media-portar (8554/8555) inte blivit egna hostnamn/endpoints. Förväntat resultat: - Endpoint finns för web UI. - Certifikat utfärdas via Let's Encrypt DNS-01. - Endast explicit målport routas. ## 4) Negativt test: fail-closed Scenario A, ingen opt-in: 1. Ta bort `LABEL_CADDY_ENABLE=true` från målcontainern. 2. Vänta en polling-cykel. 3. Kontrollera att endpointen försvinner/slutar routas. Scenario B, saknad Cloudflare-token: 1. Sätt `REQUIRE_CLOUDFLARE=true`. 2. Ta bort eller ogiltiggör `CLOUDFLARE_API_TOKEN`. 3. Verifiera att ingen ny extern route publiceras. Förväntat resultat: - Appen exponerar inte tjänster oavsiktligt. - Loggar visar tydligt fel kring token/Cloudflare. ## 5) Kommandon för snabb verifiering Byt `` och `` enligt din miljö. ```bash nslookup frigate.home.example.com curl -vk https://frigate.home.example.com/ openssl s_client -connect frigate.home.example.com:443 -servername frigate.home.example.com