Hello from veraclins ops

If you can see this page, the full deploy loop works end-to-end:

  1. git push origin main
  2. GitHub Actions rsyncs files to the Hetzner ops box
  3. docker compose up -d on the box restarts the container
  4. Caddy routes test.veraclins.com via container labels
  5. Let’s Encrypt cert auto-issued, TLS terminated by Caddy

Phase 1 platform proven. Time to migrate real apps.