🛠️ Operations
Operations reference for the single-user code-server deployment at cdsr.loca.zone.
Pages
- install-upgrade — install or upgrade the upstream Debian package, service lifecycle, extension reinstall after Code version bumps, fallback path
- auth-tls — Authelia access rule, nginx four-block topology, shared cert lineage, proof commands, rollback/debug order
- extensions — pinned baseline table, optional Cody, explicit exclusions, first-run sign-in notes, install/audit scripts
- verification — every smoke check with expected outputs: systemctl, loopback healthz, auth redirect, wiki public, Authelia compose, extension audit, browser flows, dev proxy, wiki build
🚨 Triage order when something is broken
systemctl status cdsr --no-pager— service active and running?curl -sf http://127.0.0.1:52224/healthz— always HTTP 200 while the server is up. Body{"status":"expired","lastHeartbeat":0}is healthy-idle (no editor session connected);{"status":"alive",...}appears only while a browser session is connected. Only a non-200 or no response at all indicates failuresudo -n nginx -t— nginx config clean (harmless flxr ssl_stapling warning is expected)?- Authelia rule present + container healthy:
grep -A2 'domain: "cdsr.loca.zone"' /home/loca/dev/services/authelia/config/configuration.ymlcd /home/loca/dev/services/authelia && sudo -n docker compose pscd /home/loca/dev/services/authelia && sudo -n docker compose logs --tail=50 authelia