Hostityourself/infra
Claude e8d303f184
feat: extend backup script and add restore script
backup.sh now covers all data:
- SQLite via podman exec into server container (fallback to host path)
- Postgres via pg_dumpall inside postgres container
- Forgejo data volume via podman volume export
- Caddy TLS certificates via podman volume export
- .env file (plaintext secrets — store archive securely)

restore.sh reverses each step: imports volumes, restores Postgres,
restores SQLite, optionally restores .env (--force to overwrite).

Both scripts find containers dynamically via compose service labels
so they work regardless of the container name podman-compose assigns.

.env.example documents HIY_BACKUP_DIR, HIY_BACKUP_REMOTE,
HIY_BACKUP_RETAIN_DAYS.

https://claude.ai/code/session_01FKCW3FDjNFj6jve4niMFXH
2026-03-26 15:06:16 +00:00
..
postgres-init fix: use /bin/sh in postgres init script — Alpine has no bash 2026-03-26 11:47:58 +00:00
.env.example feat: extend backup script and add restore script 2026-03-26 15:06:16 +00:00
backup.sh feat: extend backup script and add restore script 2026-03-26 15:06:16 +00:00
boot.sh remove: podman system migrate (wrong tool for the wrong problem) 2026-03-24 12:34:16 +00:00
docker-compose.yml fix: drop service_healthy depends_on — podman-compose doesn't support it 2026-03-26 11:41:27 +00:00
Dockerfile.server fix: copy server/templates into build image for include_str! macros 2026-03-24 16:29:15 +00:00
gatus.yml feat: M4 Hardening — encryption, resource limits, monitoring, backups 2026-03-24 15:06:42 +00:00
Makefile Replace Docker with Podman throughout 2026-03-20 14:58:52 +00:00
restore.sh feat: extend backup script and add restore script 2026-03-26 15:06:16 +00:00
start.sh fix: use Caddy internal CA when ACME_EMAIL is not set 2026-03-25 22:09:00 +00:00