Skip to content

Runbook — Restore the whole VPS from a Hostinger snapshot

Use when: the VPS is unrecoverable, has been compromised, or a multi-hour mistake needs to be rolled back across many subsystems.

Cost

This is disruptive: - Every container stops while the snapshot restores - Any data written since the snapshot is lost - The restore takes 15–45 minutes depending on snapshot size

Do not use this for single-DB issues — use restore-postgres.md instead.

Prerequisites

  • Hostinger account access (joaobrazao login)
  • An agreed downtime window — notify @DownRabbitbot first
  • Knowledge of which snapshot to restore

Steps

  1. Notify in @DownRabbitbot:

    VPS restore from snapshot starting now. Expect 15–45 min downtime.

  2. Decide the target snapshot

  3. Go to https://hpanel.hostinger.com/vps/1345342/backups
  4. Pick the most recent snapshot before the bad event
  5. Note its timestamp — you will use it in the post-mortem

  6. Trigger the restore in hPanel

  7. Click the snapshot → Restore
  8. Confirm with the warning prompt
  9. Hostinger queues the restore; the VPS reboots when it starts

  10. Wait for the VPS to come back

  11. Watch ping 76.13.44.83
  12. When SSH responds: ssh vps

  13. Verify base services

    docker ps | wc -l   # should be ~32
    docker ps --filter "status=running" | grep -E "infra-(nginx|postgres|redis)"
    

  14. Check nginx

    curl -skI https://admin.joaoluisbrazao.cloud/admin/dashboard | head -3
    

  15. Spot-check critical apps

  16. https://brain.joaoluisbrazao.com — should load
  17. https://gamine.org — should load
  18. https://admin.joaoluisbrazao.cloud/docs/ — should load

  19. Announce in @DownRabbitbot:

    VPS restored from snapshot . Lost writes: from to now. Post-mortem to follow.

  20. Re-apply lost writes if known — manual work, depends on what was lost.

  21. Post-mortem within 24h in runbooks/post-mortems/.

When NOT to use snapshot restore

  • Single-DB corruption → restore-postgres.md
  • Single-volume corruption → restore-volume.md
  • Cert renewal failure → just rerun certbot
  • A single container crashed → docker restart <name> first

Escalation

If snapshot restore fails (Hostinger error, VPS doesn't come back): contact João immediately. Do not retry destructively.