- phase1_gitea_unraid.sh: 9-step deploy (dirs, docker-compose, app.ini,
container start, wait, admin user, API token, save to .env, create org).
Every step has idempotency check — running twice changes nothing.
- phase1_post_check.sh: 5 independent verification checks
- phase1_teardown.sh: stop container + optionally remove data, with prompts
Also adds inline comments to lib/common.sh and preflight.sh explaining
WHY decisions were made (SSH flags, API tmpfile pattern, port checks, etc.)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
16 checks: .env exists, runners.conf exists, 24 required vars non-empty,
SSH to Unraid/Fedora, Docker + docker-compose on both servers, ports free,
DNS resolution, GitHub token valid, GitHub repos exist, Nginx running,
Nginx conf dir writable. Runs ALL checks even if earlier ones fail.
Exits 0 only if all 16 pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>