# 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: status-UI + endpoint 1. Vänta 15-30 sekunder (default polling). 2. Öppna `http://:31820/`. 3. Verifiera i UI: - `Caddy Apply = OK` - `Cloudflare Reachability = OK` - `Cloudflare Token = OK` - minst en route visas under `Generated Hosts`. 4. Öppna en exponerad host, t.ex. `https://frigate.home.example.com`. Förväntat resultat: - UI laddar och visar aktuell status. - Endpoint finns för web UI-hosten. - Certifikat utfärdas via Let's Encrypt DNS-01. ## 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. Verifiera i status-UI att routen försvinner. Scenario B, saknad/ogiltig Cloudflare-token: 1. Sätt `REQUIRE_CLOUDFLARE=true`. 2. Ta bort eller ogiltiggör `CLOUDFLARE_API_TOKEN`. 3. Verifiera i status-UI att Cloudflare Token inte är OK. 4. Verifiera att ingen ny extern route publiceras. Förväntat resultat: - Appen exponerar inte tjänster oavsiktligt. - Loggar visar tydligt token/Cloudflare-relaterat fel. ## 5) Kommandon för snabb verifiering Byt ``, `` och `` enligt din miljö. ```bash curl -sS http://:31820/status.json | jq . 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 :31820/status.json | jq .`. - `nslookup`-svar från en LAN-klient. - `curl -vk` output mot endpoint. - `openssl s_client` sammanfattning av cert/issuer. 4. Loggar: - Senaste 200 rader från `caddy-autogen-discovery`. - Senaste 200 rader från `caddy-autogen`. - Senaste 200 rader från `caddy-autogen-socket-proxy`. 5. Problemdefinition: - Exakt hostname som inte fungerar. - Förväntat beteende och faktiskt beteende. - Tidpunkt när felet observerades.