🛠️ 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

  1. systemctl status cdsr --no-pager — service active and running?
  2. 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 failure
  3. sudo -n nginx -t — nginx config clean (harmless flxr ssl_stapling warning is expected)?
  4. Authelia rule present + container healthy:
    • grep -A2 'domain: "cdsr.loca.zone"' /home/loca/dev/services/authelia/config/configuration.yml
    • cd /home/loca/dev/services/authelia && sudo -n docker compose ps
    • cd /home/loca/dev/services/authelia && sudo -n docker compose logs --tail=50 authelia

4 items under this folder.