- Create README.md with project layout and quick start instructions - Implement backup scripts for Gitea, including database and repository exports - Add systemd service and timer for automated Gitea backups - Develop bootstrap scripts for homelab and VPS setup - Document architecture and restore procedures - Configure Caddy reverse proxy and Docker Compose for service management - Establish secrets management guidelines
894 B
894 B
Architecture
Model
- VPS is public edge (Caddy + VPN client).
- Homelab hosts internal application stacks.
- Traffic path: Internet -> VPS Caddy -> VPN -> homelab service.
State Conventions
/srv/opscloned repo/srv/secretsdecrypted runtime secrets (not committed)/srv/data/<stack>persistent bind mounts/srv/backupsbackup artifacts
Deployment Order
- Edge bootstrap on VPS
- Homelab bootstrap
- Bring up proxy/network dependencies
- Bring up core stacks (gitea, db)
- Bring up secondary stacks (kuma, apps)
Bootstrap Paradox Mitigation
Because ops is hosted on Gitea inside the homelab, bootstrap uses three repo sources:
- Primary Gitea repo
- Optional fallback mirror (secondary git host)
- Local git bundle backup (
/srv/backups/ops/latest/ops.bundle)
Nightly backups include both full Gitea backups and standalone repo exports/bundles.