docs: update CLAUDE.md — Nginx→Caddy, 3 repos→dynamic, ssl_mode→tls_mode

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
S
2026-03-01 11:02:29 -05:00
parent f15ab8c18c
commit 89bfc8a70f

View File

@@ -1,14 +1,14 @@
# Gitea Migration Toolkit
## Project Overview
Bash-based automation toolkit for migrating 3 GitHub repos to self-hosted Gitea. All scripts run from MacBook, SSHing into Unraid (primary) and Fedora (backup mirror). GitHub serves as offsite push mirror.
Bash-based automation toolkit for migrating GitHub repos to self-hosted Gitea. All scripts run from MacBook, SSHing into Unraid (primary) and Fedora (backup mirror). GitHub serves as offsite push mirror.
## Architecture
- **Control plane**: MacBook runs all scripts locally, SSHs into remotes
- **Primary Gitea**: Docker Compose on Unraid
- **Backup Gitea**: Docker Compose on Fedora (pull mirrors)
- **Runners**: Docker on Unraid/Fedora, native binary + launchd on MacBook
- **HTTPS**: Nginx reverse proxy + Certbot on Unraid
- **HTTPS**: Caddy reverse proxy with Cloudflare DNS-01 or existing certs (macvlan IP on Unraid)
## Script Conventions
- All `.sh` files MUST start with `set -euo pipefail`
@@ -42,7 +42,7 @@ backup/ # Backup and restore scripts
- `manage_runner.sh add|remove|list` — Dynamic runner management
## .env Validation
`validate_env()` in `lib/common.sh` checks all ~50 .env variables against their expected format (IP, port, email, path, URL, bool, integer, password, ssl_mode). Uses parallel arrays for the variable-to-validator mapping (bash 3.2 compatible). Called by `preflight.sh` and `bitwarden_to_env.sh`. `configure_env.sh` uses the same individual validators interactively.
`validate_env()` in `lib/common.sh` checks all ~55 .env variables against their expected format (IP, port, email, path, URL, bool, integer, password, tls_mode, db_type). Uses parallel arrays for the variable-to-validator mapping (bash 3.2 compatible). Called by `preflight.sh` and `bitwarden_to_env.sh`. `configure_env.sh` uses the same individual validators interactively.
## Version Checking
Setup scripts and preflight validate minimum versions for all tools: