Das bekommen Sie
Ein Handbuch mit Skripten, die Sie direkt ausführen können. Es richtet sich an Entwickler, die eine Node- oder Go-App (mit SQLite oder Postgres) auf einem einzelnen Debian- oder Ubuntu-Server betreiben und wollen, dass sie Deployments, Reboots und Fehler übersteht.
- 15 kurze Kapitel und ein druckbares Runbook auf einer Seite („Seite ist down“ und „Aus Backup wiederherstellen“).
- 17 shellcheck-saubere Skripte: Benutzer anlegen, sshd härten, Firewall, automatische Sicherheitsupdates, Deployment per Release-Ordner mit automatischem Rollback, Rollback, restic-Backup mit konsistenten SQLite- und Postgres-Dumps, Restore-Drill, Disk- und Health-Checks, Swap, Secrets-Audit, Migrations-Demo und ein Docker-basierter Disaster-Recovery-Drill.
- Konfigurationsvorlagen: systemd-Unit, Caddyfile, sshd-Drop-in, journald-Limits, logrotate, Cron und env-Dateien.
- Druckbare Checklisten: erster Tag, wöchentlich, vor dem Deployment, bevor Sie den einen VPS verlassen.
Kapitel, die die meisten Anleitungen auslassen: Hinweise zu Postgres im Produktivbetrieb (was pg_dump liefert und was nicht), Limits für Log und journald, damit eine volle Platte Sie nicht lahmlegt, Speicher, Swap und der OOM-Killer, Expand/Contract-Migrationen, die ein Deployment überstehen, Secrets auf einer einzelnen Maschine und klare Kriterien dafür, wann es Zeit ist, den einen VPS zu verlassen.
Der Recovery-Drill mit Stoppuhr
Ein Skript baut einen „Produktions“-Server auf (App, SQLite, Postgres, Uploads), sichert ihn mit restic auf ein Volume außerhalb des Servers, zerstört den Server, baut ihn in einem sauberen Debian-Container neu auf und prüft, ob die Daten vollständig sind (Zeilenzahlen und eine Prüfsumme über jeden Upload).
| Wenig Daten | Mehr Daten | |
|---|---|---|
| Daten | 100k Zeilen pro Datenbank, 200 x 100 KB Uploads | 2M Zeilen pro Datenbank, 500 x 1 MB Uploads |
| Gesamte Recovery per Skript | 29.8 s | 34.3 s |
apt-Installation | 24.1 s | 23.0 s |
restic restore | 1.6 s | 3.3 s |
pg_restore | 2.6 s | 4.9 s |
Je ein Lauf auf einem arm64-Laptop unter Docker Desktop. Die Paketinstallation schwankte zwischen den Läufen von 21 s bis 57 s, die Gesamtdauer damit von etwa 27 s bis 62 s. Das Einrichten eines echten Servers beim Anbieter und die DNS-Umstellung sind nicht eingerechnet.
Was geprüft wurde, und wie
Jedes Skript und jedes Kapitel lief in sauberen Debian-12-Containern:
- ein echter sshd und ein echter ssh-Client (Schlüssel-Login funktioniert, Root- und Passwort-Login werden abgelehnt)
- ufw, getestet mit echtem Traffic zwischen zwei Containern
- systemd als PID 1: die Unit wird verifiziert, startet nach
kill -9neu, übernimmt nach dem Symlink-Wechsel ein neues Release und erzwingtMemoryMax - das Caddy-Paket von Debian als Proxy vor der App, mit 502 bei gestoppter App
- Backups und Restores mit restic und PostgreSQL 15, auch für Fehlerfälle (beschädigte Datenbank, falsches Passwort, veraltete Dumps)
- Limits für journald und logrotate, eine volle Platte, ein OOM-Kill, Migrationen auf SQLite und Postgres
Ein einziger Befehl (verify/run.sh, braucht Docker) wiederholt die komplette Prüfung auf Ihrer Maschine.
Umfang
Ein Server und eine App. Kein Autoscaling, kein Kubernetes, keine Multi-Region. Brauchen Sie das, sagt Ihnen das letzte Kapitel, woran Sie es erkennen.
Häufige Fragen
In welchem Format liegt es vor?
Markdown, Shell-Skripte und Konfigurationsdateien. Sie können es überall lesen und die Befehle kopieren. Kein PDF-DRM, kein Account.
Gilt es nur für Debian?
Die Befehle sind für Debian und Ubuntu, verifiziert wurde auf Debian 12.
Worin unterscheidet es sich vom VPS Deploy & Backup Kit?
Das Kit ist ein getestetes Skriptpaket (Blue/Green-Deployments, Backups, Alarme). Das Handbuch liefert das Wissen und die Skripte drumherum: Server-Setup, systemd, HTTPS, Logs, Speicher, Migrationen, Secrets und den Recovery-Drill. Bei den Grundlagen zu Deployment und Backup gibt es Überschneidungen.
Brauche ich Docker?
Nur, um das Verifikations-Harness erneut laufen zu lassen. Die Skripte selbst laufen auf einem normalen Server.
Wie ist die Lizenz?
Sie dürfen es auf Ihren eigenen Servern und in Ihrem eigenen Team einsetzen. Die Dateien weiterzuverkaufen oder weiterzugeben ist nicht erlaubt.
Änderungsprotokoll
- 0.2.0: Kapitel 1 bis 3 und 7 in Containern verifiziert, zeitlich gemessener Disaster-Recovery-Drill, neue Kapitel zu Postgres, Logs, Speicher, Migrationen, Secrets und zum Verlassen des einen VPS, 17 getestete Skripte, Runbook.
- 0.1.0: erstes Release.
Weiterlesen
- How to write a restore runbook you can follow at 3 a.m. (Englisch)
- systemd or pm2 for a small Node app on one VPS? (Englisch)
- SSH, ufw and fail2ban basics for a single VPS (Englisch)
- When a restore succeeds and hands you the wrong data (Englisch)
- Monitor one VPS without Prometheus, Grafana or a stack (Englisch)
- Find what filled your VPS disk and keep it from happening (Englisch)
- Harden a fresh Debian VPS in the first hour, step by step (Englisch)
- I destroyed my server on purpose and timed the recovery (Englisch)
- Caddy or nginx for a one-person VPS stack, compared (Englisch)
Herunterladen
Zahlung, Steuern und Rechnung übernimmt Polar als Merchant of Record. Den Download-Link erhalten Sie nach dem Checkout.