Medusa self-hosted auf Hetzner: TCO und Datensouveränität ehrlich gerechnet

Medusa ist PostgreSQL-nativ und vollständig self-hostbar. Auf Hetzner mit Coolify und Docker läuft der Commerce-Stack DSGVO-konform in Deutschland – und rechnet sich gegen SaaS plus Transaktionsgebühren ab einem klaren Umsatzpunkt. Was der Wechsel wirklich kostet und wann er sich lohnt.
6 Min. LesezeitMatthias RadscheitMatthias Radscheit
Happycodingde-DE

TL;DR

Medusa läuft PostgreSQL-nativ und vollständig self-hosted auf Hetzner mit Coolify und Docker – DSGVO-konform in Deutschland. Gegen SaaS plus Transaktionsgebühren rechnet sich das ab einem bestimmten Umsatz, weil Fixkosten pro Bestellung sinken statt zu steigen. Bestell- und Kundendaten bleiben unter eigener Kontrolle. Voraussetzung: vorhandene Ops-Kompetenz und ehrlich eingepreiste eigene Stunden.

  • Medusa erhebt als Open-Source-Software selbst keine Transaktionsgebühr – es fallen nur Infrastruktur- und Payment-Provider-Kosten an. Genau hier entsteht der TCO-Vorteil gegenüber SaaS mit umsatzabhängigen Gebühren.
  • Der Produktiv-Stack braucht zwingend PostgreSQL und Redis, einen Server- und einen Worker-Prozess und mindestens 2 GB RAM. Ein Hetzner AX41 (~39 €/Monat) deckt das mit Reserve ab.
  • Realistisches 3-Jahres-Gesamtbild für eine mittelständische App: 40.000–80.000 € inklusive Setup (einmalig 5.000–20.000 €) und Wartung (2–5 h/Monat). Self-hosted Kosten sinken pro Bestellung, SaaS-Gebühren steigen mit dem Umsatz.
  • Bei Self-Hosting liegen Bestellungen und PII in der eigenen PostgreSQL-Instanz im EU-Rechenzentrum – kein Drittstaatentransfer für die Kerndaten. Zahlungsdaten bleiben beim Payment-Provider (AVV nötig).
  • Der Break-even ist eine Betriebsentscheidung, keine reine Rechenaufgabe: Ohne Ops-Kompetenz und ehrlich eingepreiste eigene Stunden ist Managed im Gesamtaufwand günstiger.

Der größte Kostenblock im E-Commerce steht in keinem Angebot einer SaaS-Plattform als Zeile: die Transaktionsgebühr, die mit jedem Euro Umsatz mitwächst. Wer sie ernst nimmt, kommt bei einem PostgreSQL-nativen Stack wie Medusa heraus, den man vollständig selbst betreibt.

Medusa ist Open-Source unter MIT-Lizenz und erhebt als Software keine Umsatz- oder Transaktionsgebühr. Es fallen nur Infrastruktur- und Payment-Provider-Kosten an. Das klingt nach einer Detailfrage der Buchhaltung, ist aber eine strategische Weichenstellung: Sie entscheiden damit, ob Ihre Kostenkurve mit dem Umsatz nach oben zieht oder ob sie flach bleibt und pro Bestellung sogar sinkt. Und Sie entscheiden, wo Ihre Bestell- und Kundendaten liegen – in einer selbst kontrollierten Datenbank in Deutschland oder bei einem US-Anbieter. Beide Fragen hängen zusammen, und beide beantwortet man am ehrlichsten mit einer echten Rechnung statt mit einem Versprechen.

Was braucht Medusa self-hosted auf Hetzner wirklich?

Fangen wir mit der Realität des Betriebs an, nicht mit dem Marketing. Ein produktiver Medusa-Stack braucht zwingend zwei Datenbanken: PostgreSQL als Commerce-Store und Redis für Cache, Event Bus, Locking und die Workflow-Engine. Der offizielle Docker-Guide referenziert postgres:15-alpine und redis:7-alpine auf einem node:20-alpine-Basisimage. Das ist kein exotischer Stack, sondern Standardhandwerk, das jeder Ops-Mensch kennt.

Dazu kommt eine Eigenheit, die viele beim ersten TCO-Vergleich übersehen: Medusa muss in Produktion in zwei Modi laufen. Der Server-Modus bedient API und Admin, der Worker-Modus arbeitet Background-Jobs und Subscriber ab, gesteuert über MEDUSA_WORKER_MODE. Beide Prozesse brauchen dieselben Secrets und dieselbe Datenbankverbindung. Die offizielle Empfehlung liegt bei mindestens 2 GB RAM und Node.js v20+ als LTS.

Für diese Anforderung ist ein Hetzner AX41 für rund 39 €/Monat kein Kompromiss, sondern großzügig dimensioniert. Er trägt PostgreSQL, Redis, beide Medusa-Prozesse und die Next.js-Storefront mit Reserve. Wir orchestrieren das über Coolify und Docker – Coolify ist bei Medusa nur über Community-Guides dokumentiert, nicht offiziell, aber das Muster ist geradlinig: Container definieren, Predeploy-Migration via medusa db:migrate, deployen. Offiziell dokumentiert ist als Deployment-Ziel Railway; wer die Kontrolle über die eigene Maschine will, landet aber bei einem Root-Server.

Medusa TCO gegen SaaS: Wo die Kurven sich kreuzen

Jetzt die Zahlen, und zwar ehrlich mit Bandbreite statt mit erfundener Präzision. Eine saubere Erstimplementierung eines self-hosted Medusa-Stacks liegt einmalig bei 5.000–20.000 €, je nach Individualisierung von Storefront, Modulen und Integrationen. Der laufende Betrieb kostet realistisch 2–5 Stunden pro Monat an Wartung – Updates, Monitoring, Backups prüfen. Bei einem Mischsatz von rund 120 € pro Entwicklerstunde und der Infrastruktur landet ein mittelständischer Shop im 3-Jahres-Gesamtbild bei etwa 40.000–80.000 €. Das ist der ehrliche TCO, inklusive der Stunden, die viele Rechnungen unterschlagen.

Dem stellen Sie die SaaS-Seite gegenüber. Shopify Plus startet laut offizieller Preisseite (Stand Juli 2026, in EUR geolokalisiert) bei 2.250 €/Monat im 1-Jahres-Term beziehungsweise 2.100 €/Monat bei 3 Jahren – als reine Base-Fee. Das sind über drei Jahre grob 75.000–81.000 € allein an Grundgebühr, bevor eine einzige Transaktionsgebühr anfällt. Genau die ist der Punkt: Nutzen Sie einen Fremd-PSP, zahlen Sie dessen Gebühr plus 0,20 % pro Transaktion an Shopify. Mit Shopify Payments entfällt dieser Aufschlag, dafür binden Sie sich an ein Gateway. Die vollständige Rechnung mit allen Fußnoten haben wir im direkten Vergleich Medusa gegen Shopify Plus aufgemacht.

Der entscheidende Effekt ist die Richtung der Kurven. Self-hosted Fixkosten sind weitgehend konstant; pro Bestellung sinken sie mit steigendem Volumen. Umsatzabhängige SaaS-Gebühren tun das Gegenteil – sie explodieren mit dem Erfolg. Bei niedrigem GMV liegt Managed vorn, weil die Grundlast erdrückend wirkt. Ab einem bestimmten Umsatz kreuzen sich die Linien, und danach zahlen Sie bei SaaS für Ihren eigenen Erfolg. Dieselbe Mechanik – konstante Infrastruktur gegen mit dem Verbrauch skalierende Managed-Gebühren – wiederholt sich über die Anbieter hinweg, von der Datenbank bis zum Commerce-Backend.

Datensouveränität: Wem gehören die Bestelldaten?

TCO ist die eine Hälfte der Entscheidung, die andere ist Kontrolle. Bei Self-Hosting liegen Bestellungen, Kundenprofile und die gesamte PII in einer PostgreSQL-Instanz, die Sie kontrollieren, in einem Rechenzentrum, das Sie wählen – bei Hetzner also in Deutschland. Für die Kerndaten Ihres Shops gibt es damit keinen Drittstaatentransfer, keine Diskussion über den CLOUD Act, keine Abhängigkeit von der jeweils aktuellen Rechtslage zum transatlantischen Datenverkehr. Das ist Datensouveränität E-Commerce im wörtlichen Sinn: Die Daten verlassen Ihren Kontrollbereich nicht.

Ehrlich bleibt: Vollständig entkommt niemand externen Verarbeitern. Zahlungsdaten liegen beim Payment-Provider. Mit dem Stripe-Provider berühren Kartendaten den Medusa-Server nicht – die Eingabe läuft clientseitig über Stripe Elements, das Backend erhält nur Tokens und Payment-Intents. Das qualifiziert die Kartenverarbeitung nach PCI-DSS-Logik in der Regel für den kleinsten Fragebogen, SAQ A, sofern Sie selbst keine Kartendaten speichern oder übertragen. Die konkrete Einstufung hängt von der Integrationsart ab, und beim self-hosted Betrieb bleiben Sie für Scoping, jährliche Attestierung und Serverabsicherung selbst verantwortlich. Für Stripe und jedes externe Modul – Analytics, File-Storage, Notifications – brauchen Sie einen AVV. Das ist eine architektonische Einordnung, keine Rechtsberatung.

Warum das mehr ist als eine Compliance-Fußnote, haben wir in Sind unsere Daten in den USA noch sicher? ausführlicher begründet. Die Kurzfassung: Wer die Kerndaten seines Geschäfts auf fremder Infrastruktur in einem Drittstaat hält, kauft sich ein Risiko ein, das keine Preisliste ausweist – und das im Ernstfall teurer wird als jede Transaktionsgebühr. Ein DSGVO Shop, dessen Datenhaltung Sie selbst verantworten, ist kein Ideologieprojekt, sondern gelebtes Vendor-Risk-Management.

Der unbequeme Punkt: Self-Hosting eines Shops ist Betriebsverantwortung mit Umsatzrisiko

Jetzt der Teil, den die Souveränitäts-Rhetorik gern überspringt. Ein Shop ist keine interne Anwendung, bei der ein Ausfall am Freitagabend niemanden stört. Ausfall heißt kein Verkauf. Jede Minute Downtime ist unmittelbar entgangener Umsatz, und die Verantwortung dafür tragen Sie, nicht ein SLA von Shopify.

Das hat konkrete Folgen. Sale-Traffic-Spitzen – Black Friday, ein erfolgreicher Newsletter, ein viraler Moment – müssen Sie selbst abfangen. Uptime-Monitoring, Failover, Backup-Restore-Tests, Security-Patching von Node, PostgreSQL und Redis: All das liegt bei Ihnen. Payment bringt zusätzlich PCI-Scope, den Sie aktiv managen müssen. Ein einzelner AX41 ist für den Normalbetrieb großzügig, aber ein Single Point of Failure; echte Resilienz bedeutet Redundanz, separate Datenbank, Read-Replicas – und die kostet. Ein hochverfügbares Setup liegt eher bei 150–400 €/Monat statt bei 39 €.

Deshalb ist die Ersparnis kein Automatismus. Sie ist nur echt, wenn zwei Bedingungen erfüllt sind. Erstens: Es gibt Ops-Kompetenz im Haus oder bei einem verlässlichen Partner – jemanden, der um drei Uhr nachts weiß, warum der Worker-Prozess hängt. Zweitens: Die eigenen Stunden sind ehrlich eingepreist. Wer den Betrieb als „macht der Kollege nebenbei" verbucht, vergleicht eine geschönte Self-Hosting-Rechnung mit einer vollständigen SaaS-Rechnung und wundert sich später. Für einen einfachen Standard-B2C-Katalog ohne dediziertes Team ist der Baukasten schlicht überdimensioniert; da ist Managed die vernünftige Wahl.

Was ich Entscheidern rate

Rechnen Sie den Break-even mit Ihren echten Zahlen, nicht mit einem Foliensatz. Nehmen Sie Ihren erwarteten GMV der nächsten drei Jahre, tragen Sie die umsatzabhängigen Gebühren als steigende Kurve ein und stellen Sie die flache Self-Hosting-Linie daneben – inklusive Setup, Wartungsstunden zum vollen Satz und der 150–400 €/Monat für ein resilientes Setup, nicht nur der 39 € für die Bastelmaschine. Der Kreuzungspunkt ist Ihre Entscheidungsgrenze, und er liegt für jeden anders.

Wenn Sie oberhalb dieser Grenze liegen und die Ops-Kompetenz vorhanden ist, ist der Fall klar: Medusa ist PostgreSQL-nativ, vollständig self-hostbar und läuft auf Hetzner mit Coolify und Docker DSGVO-konform in Deutschland. Sie sparen die Transaktionsgebühr, die mit Ihrem Erfolg wächst, und Sie behalten Ihre Bestell- und Kundendaten unter eigener Kontrolle. Liegen Sie darunter oder fehlt das Team, ist Managed die ehrlichere Antwort – kein Gesichtsverlust, sondern Betriebsökonomie. Die technische Tiefe zu Architektur, Modulen und Workflows, die diese Souveränität überhaupt tragbar macht, finden Sie in unserer Pillar-Übersicht zu Medusa als Headless-Commerce-Plattform.

Die eigentliche Frage ist nicht „Self-hosted oder SaaS?", sondern: Wollen Sie, dass Ihre Kostenkurve und Ihre Datenhoheit dem Interesse Ihres Dienstleisters folgen – oder Ihrem eigenen? Wer diese Frage nicht stellt, hat sie trotzdem beantwortet.

Häufige Fragen

Was kostet Medusa self-hosted auf Hetzner wirklich?
Die Software selbst ist MIT-lizenziert und erhebt keine Transaktionsgebühr. Es fallen Infrastrukturkosten an – ein Hetzner AX41 liegt bei rund 39 €/Monat und deckt PostgreSQL, Redis, Server- und Worker-Prozess mit Reserve ab. Dazu kommen einmalig 5.000–20.000 € saubere Erstimplementierung und 2–5 h/Monat Wartung. Ein realistisches 3-Jahres-Gesamtbild für eine mittelständische App liegt bei 40.000–80.000 €. Der entscheidende Unterschied zu SaaS: Diese Kosten sind weitgehend fix und sinken pro Bestellung, während SaaS-Gebühren mit dem Umsatz steigen.
Ist ein self-hosted Medusa-Shop auf Hetzner DSGVO-konform?
Architektonisch ja: Bestellungen und personenbezogene Daten liegen in Ihrer eigenen PostgreSQL-Instanz im gewählten Rechenzentrum, etwa in Deutschland. Für die Kerndaten gibt es keinen Drittstaatentransfer. Zahlungsdaten bleiben beim Payment-Provider – für Stripe und externe Module wie Analytics oder File-Storage brauchen Sie einen Auftragsverarbeitungsvertrag. Das ist eine architektonische Einordnung, keine Rechtsauskunft; die konkrete Bewertung gehört zu Ihrem Datenschutz.
Ab wann lohnt sich Self-Hosting gegenüber Shopify oder Medusa Cloud?
Der Vorteil entsteht bei hohem Umsatz und/oder wenn ein Fremd-PSP im Spiel ist, weil dann umsatzabhängige Transaktionsgebühren den größten Kostenblock bilden. Für kleine Shops ohne Ops-Team ist Managed im Gesamtaufwand günstiger. Self-Hosting rechnet sich oberhalb klarer Umsatz- und Volumenschwellen – und nur, wenn Betriebskompetenz vorhanden ist und die eigenen Stunden ehrlich eingepreist werden.
Welche Infrastruktur braucht Medusa im Produktivbetrieb?
Zwingend PostgreSQL als Commerce-Store und Redis für Cache, Event Bus, Locking und Workflow-Engine. Medusa muss in zwei Modi laufen: Server-Modus für API und Admin, Worker-Modus für Background-Jobs. Empfohlen sind mindestens 2 GB RAM und Node.js v20+. Auf Hetzner betreiben wir das über Coolify und Docker – ein AX41 hat genug Reserve für alle Komponenten plus Storefront.

Quellen

Ähnliche Artikel

Offen für ausgewählte Projekte

Lassen Sie uns über Ihr Projekt sprechen

Buchen Sie einen unverbindlichen Termin, schreiben Sie uns eine E-Mail oder nutzen Sie das Formular – wir freuen uns auf Ihre Nachricht.

150+
Abgeschlossene Projekte
15
Jahre Erfahrung
8
Senior‑Level Teammitglieder