Website-Pflichtencheckvon Jurono
HostingPerformanceWartungTechnik

Case Study: VPS-Betrieb ohne Plattformballast

Wie ein gewachsener VPS von schwerer App-Orchestrierung auf CI-Artefakte, PM2, Doppler und Caddy umgestellt wurde, ohne produktive Dienste in einem Big-Bang-Cutover zu riskieren.

Von Jurono
Aktualisiert: 13. Juli 2026

Ein einzelner VPS kann lange gut funktionieren und trotzdem schleichend schwer werden. Erst läuft eine Website darauf, dann ein Analyse-Dienst, später eine kleine API, ein Passwort-Tresor, ein Admin-Panel und ein paar Datenbanken. Die einzelnen Entscheidungen sind jeweils nachvollziehbar. In Summe entsteht aber ein Betrieb, der mehr Speicher, mehr Container und mehr implizite Logik braucht als nötig.

Diese Case Study beschreibt eine kontrollierte Vereinfachung: weg von plattformverwalteten App-Runtimes, hin zu klaren CI-Artefakten, PM2-Prozessen, Doppler-Secrets und Caddy als öffentlicher Edge.

Ausgangslage

Der Server war produktiv. Deshalb war das Ziel nicht, alles neu zu bauen. Das Ziel war, die bestehende Umgebung schrittweise zu entflechten.

Die typischen Symptome:

  • Builds liefen teilweise noch direkt auf dem Server.
  • Mehrere kleine Apps liefen als eigene Runtime-Container.
  • Routing war über mehrere Stellen verteilt.
  • Alte Container konnten nach Deploy-Ereignissen wieder anlaufen.
  • Speicherverbrauch und Betriebsoberfläche waren unnötig hoch.

Das Risiko lag nicht in einer einzelnen App. Das Risiko lag in der Summe kleiner, schwer nachvollziehbarer Abhängigkeiten.

Zielbild

Die neue Struktur sollte langweilig und wiederholbar sein:

EbeneEntscheidung
BuildGitHub Actions baut das produktive Artefakt
SecretsDoppler liefert Runtime-Konfiguration
RuntimePM2 startet Node- und App-Prozesse
DatenGemeinsame Datenbank- und Cache-Dienste werden wiederverwendet
EdgeCaddy übernimmt HTTPS und Reverse Proxy
RollbackAlte Volumes und Releases bleiben zunächst erhalten

Der wichtigste Architekturwechsel: Der VPS baut nicht mehr. Er entpackt ein Artefakt, setzt einen Release-Zeiger um und lädt PM2 neu.

Vorgehen

Zuerst wurde der Live-Zustand inventarisiert: laufende Container, Domains, Ports, Volumes, Secrets und aktive PM2-Prozesse. Das verhindert, dass ein scheinbar alter Container abgeschaltet wird, obwohl er noch produktiven Traffic bedient.

Danach wurde jede App einzeln migriert:

  1. Produktions-Secrets in Doppler abbilden.
  2. App lokal oder in CI als Standalone-Artefakt bauen.
  3. App auf einem internen Port als PM2-Canary starten.
  4. Daten final synchronisieren, wenn die App lokalen State nutzt.
  5. Öffentliche Route umstellen.
  6. Statuscodes, Header und Logs prüfen.
  7. Alte Container stoppen und Restart-Policies deaktivieren.

Für eine App mit eingebettetem Datenverzeichnis wurde das alte Docker-Volume erst nach einem kurzen Schreibstopp übernommen. Dadurch gab es keinen parallelen Schreibbetrieb zwischen alter und neuer Runtime.

Edge-Wechsel

Zunächst blieb die vorhandene Proxy-Schicht als Brücke aktiv. Das war absichtlich konservativ: Erst müssen die Apps stabil laufen, dann wird die öffentliche Edge vereinfacht.

Im zweiten Schritt wurde die Edge durch Caddy ersetzt. Caddy passt gut zu kleinen VPS-Setups, weil die Konfiguration lesbar bleibt und Zertifikate automatisch verwaltet werden. Für PM2-Apps reicht eine klare Regel: Hostname rein, interner Upstream raus. Für einzelne Legacy-Container kann Caddy gezielt in das passende Docker-Netzwerk gehängt werden.

Ergebnis

Nach dem Rückbau sank der Speicherverbrauch deutlich. Noch wichtiger war aber die neue Betriebsform:

  • Deployments sind reproduzierbarer.
  • Der Server wird beim Bauen nicht belastet.
  • PM2 zeigt die laufenden Apps direkt.
  • Die öffentliche Routing-Schicht ist explizit lesbar.
  • Alte Runtime-Container bleiben gestoppt.
  • Rollback bleibt über vorherige Releases und gesicherte Volumes möglich.

Das Ergebnis ist kein maximal automatisiertes Plattformprodukt, sondern ein kleiner, gut kontrollierbarer Produktionsbetrieb.

Was Teams daraus mitnehmen können

Eine Plattform ist am Anfang oft schneller. Später kann sie für kleine Setups mehr Oberfläche schaffen, als sie spart. Dann lohnt sich ein Rückbau auf einfache Bausteine:

  • CI für Builds
  • Secret-Management außerhalb des Repos
  • PM2 für einfache Node-Runtimes
  • gemeinsame Infrastruktur statt doppelter Datenbank-Container
  • Caddy als klare HTTPS-Edge

Der Schlüssel ist die Reihenfolge: nicht erst abschalten und dann hoffen, sondern zuerst parallel canaryen, messen, routen und erst danach alte Runtimes entfernen.

Checkliste

  1. Live-Routen und aktive Container erfassen.
  2. Secrets und Datenvolumes identifizieren.
  3. CI-Artefakt bauen.
  4. PM2-Canary intern starten.
  5. Daten synchronisieren.
  6. Öffentliche Route umstellen.
  7. Öffentliche Smokes durchführen.
  8. Alte Container stoppen.
  9. Restart-Policies deaktivieren.
  10. Rollback dokumentieren.

So wird aus einem gewachsenen VPS wieder ein System, das man in wenigen Minuten erklären kann.

Jurono Logo

Jurono

Technische Website-Prüfung, Website-Fixes und AI-Code-Rettung für kleine Unternehmen, Praxen, Kanzleien und Gründer:innen in Deutschland.

Holen Sie sich unsere kostenlose Sicherheitscheckliste.

Kostenlose PDF herunterladen

Erstes Signal in 30 Sekunden? Kostenlosen Website-Schnelltest starten.

Website-Hinweise per E-Mail

Alle zwei Wochen eine kurze technische Notiz. Kein Spam, kein Verkaufstalk.

Passende Angebote

Direkt weiterkommen

Basierend auf den Themen dieses Artikels – ohne lange Suche.

Manueller Website-Check

Wenn niemand genau weiß, welche Skripte, Cookie-Signale oder technischen Risiken gerade auf Ihrer Website laufen.

249

Manuelle technische Ersteinschätzung und klare Prioritäten innerhalb von 2 Werktagen.

  • Sie sehen schnell, ob Tracking, Cookies, externe Dienste oder HTTPS auffällig sind
  • Mobile-, Ladezeit- und Technik-Probleme werden verständlich eingeordnet
  • Die wichtigsten Punkte stehen in einer kurzen Prioritätenliste
Manueller Website-Check anfragen

Technischer Website-Audit

Wenn die Website wichtig ist, aber unklar bleibt, welche sichtbaren Pflichtbereiche, technischen Risiken und Fixes wirklich Priorität haben.

549

Prüfung, Bewertung und konkreter Maßnahmenplan innerhalb von 3-5 Werktagen.

  • Alles aus dem manuellen Website-Check, gründlicher bewertet und dokumentiert
  • Konkrete Fundstellen zu Cookie-, Tracking- und externen Dienstsignalen
  • Sichtbare Pflichtbereiche technisch geprüft, ohne Rechtsberatung
Passend dazu: Technischer Website-Audit

Website Schutz & Wartung

Für kleine Unternehmen ohne internes Webteam, die laufende technische Ruhe statt gelegentlicher Notfälle brauchen.

279/Monat

Monatliche technische Betreuung nach einem kurzen Onboarding-Check.

  • Updates und Backups nach Systemzugang kontrolliert begleiten
  • Monatlicher Kurzcheck auf neue technische Auffälligkeiten
  • Bis zu 90 Minuten kleine Änderungen oder Fixes pro Monat
Website Schutz & Wartung anfragen

Erst Klarheit, dann entscheiden.

Starten Sie mit einer technischen Prüfung. Wenn nur Kleinigkeiten auffallen, können Sie es dabei belassen, den Bericht weitergeben oder später gezielte Fixes buchen.

Technische Prüfung und Umsetzung, keine Rechtsberatung. Ich prüfe sichtbare Signale, Einbindungen und Auslieferungsprobleme; Rechtstexte und verbindliche juristische Bewertungen bleiben Aufgabe von Anwält:innen oder Datenschutzberatung.

Case Study: VPS-Betrieb ohne Plattformballast