Ein CRM selbst betreiben: Warum wir SaaS verlassen haben
Der SaaS-CRM-Markt bietet reichlich Auswahl. Salesforce, HubSpot, Pipedrive, Zoho – jedes mit eigenen Tarifstufen, einer Funktionsübersicht und einem Kundenbetreuer, der gern erklärt, warum der nächsthöhere Tarif genau das bietet, was Ihr Unternehmen braucht. Wir haben im Laufe der Jahre mehrere dieser Tools genutzt und festgestellt, dass sich das Verhältnis von Kosten und Nutzen ab einem bestimmten Punkt umkehrt.
Die Kosten sind das sichtbarste Symptom. Pipedrive ist anfangs preislich angemessen, die Kosten steigen dann aber mit der Zahl der Nutzerlizenzen. HubSpots kostenloser Tarif erfüllt seinen Zweck, bis er plötzlich nicht mehr ausreicht – der Sprung zu einem kostenpflichtigen Tarif ist dann erheblich. Salesforce gehört in eine ganz andere Kategorie: Es ist Unternehmenssoftware mit entsprechenden Preisen, die eigene Administratoren für Konfiguration und Wartung erfordert. Für ein Beratungsunternehmen, das einige hundert Kontakte und eine Handvoll aktiver Verkaufschancen verwaltet, sind diese Preismodelle nicht besonders effizient.
Die Kostenrechnung beschränkt sich jedoch nicht auf Abonnementgebühren. Es stellt sich auch die Frage, was Sie eigentlich kaufen.
Das Problem der Anbieterbindung
SaaS-CRM-Anbieter verkaufen Komfort. Im Gegenzug verwahren sie Ihre Daten, kontrollieren die Benutzeroberfläche und können die Preise nach eigenem Ermessen ändern. Das ist keine umstrittene Beobachtung – so funktioniert das Modell. Salesforce hat die Preise mehrfach erhöht. HubSpot hat die Zuordnung von Funktionen zu Tarifstufen verändert. Pipedrive hat sein Tarifangebot überarbeitet und die Tarife umbenannt. Jeder dieser Schritte ist rechtlich zulässig und erschwert Kunden, die ihre Workflows auf den bisherigen Bedingungen aufgebaut haben, die Arbeit.
Die Frage der Datenportabilität ist wichtiger, als in den meisten Diskussionen eingeräumt wird. Jedes große CRM bietet eine Exportfunktion an, typischerweise als CSV. Ein CSV-Export Ihrer Kontaktdaten bildet jedoch nicht Ihre gesamten CRM-Daten ab. Beziehungen zwischen Kontakten und Unternehmen, Aktivitätshistorie, zeitliche Verläufe von Verkaufschancen, benutzerdefinierte Felder – diese bleiben bei einem Export selten vollständig erhalten. In der Praxis bedeutet der Wechsel von einem SaaS-CRM zu einem anderen System, erhebliche Teile Ihrer betrieblichen Historie von Grund auf neu aufzubauen. Formal gehören die Daten Ihnen. Sie in einer nutzbaren Form wiederherzustellen, erfordert jedoch erheblichen Aufwand.
Twenty CRM und die Self-Hosting-Option
Twenty (twenty.com) ist ein Open-Source-CRM, das sich als ernsthafte Alternative zu kommerziellen Angeboten etabliert hat. Die Codebasis wird aktiv entwickelt, das Datenmodell ist gut strukturiert und die Benutzeroberfläche ist gut benutzbar. Es läuft auf PostgreSQL, was bedeutet, dass gängige Datenbankwerkzeuge direkt eingesetzt werden können. Das Projekt ist kein Hobbyprojekt – dahinter steht ein finanziertes Team mit einer klaren Roadmap.
Wir haben es auf unserer bestehenden Hetzner-Infrastruktur bereitgestellt, derselben CX53-Instanz, auf der unsere Website und andere Dienste hinter Traefik laufen. Die von Twenty bereitgestellte Docker-Compose-Konfiguration ist unkompliziert. Die Kerndienste sind der API-Server, das Frontend, die PostgreSQL-Datenbank und Redis für Caching und die Verwaltung von Warteschlangen. Der gesamte Ressourcenbedarf für ein kleines Team ist überschaubar: Der Stack verbraucht im Ruhezustand unter 2 GB RAM.
Die Einrichtung dauerte etwa zwei Stunden, einschließlich DNS-Konfiguration und SSL-Terminierung über unseren bestehenden Traefik-Reverse-Proxy. Die Twenty-Dokumentation beschreibt die Bereitstellung mit Docker klar. Umgebungsvariablen sind gut dokumentiert, Zustandsprüfungen funktionieren wie erwartet, und die erste Datenmigration läuft beim ersten Start automatisch. Es gab keine nennenswerten Hindernisse.
Was die Kostenanalyse tatsächlich zeigt
Twenty auf unserer bereits betriebenen Infrastruktur selbst zu hosten, verursacht praktisch keine zusätzlichen Kosten. Auf dedizierter Infrastruktur entsprechen die Kosten der monatlichen Serverrechnung. Unser Hetzner CX53 kostet etwa 30 € pro Monat und hostet mehrere Dienste – das CRM ist einer von mehreren Diensten in einer gemeinsamen Umgebung, nicht der Grund für den Server.
Zum Vergleich die gängigen SaaS-Alternativen (Listenpreise, Stand Oktober 2026): Pipedrive kostet bei jährlicher Abrechnung je nach Tarifstufe 14–79 $ pro Nutzerlizenz und Monat. Für ein Drei-Personen-Team sind das 42–237 $ pro Monat oder 504–2.844 $ pro Jahr. HubSpots Sales Hub Professional, der Automatisierung und benutzerdefinierte Berichte freischaltet, kostet bei jährlicher Abrechnung 90 $ pro Nutzerlizenz und Monat zuzüglich einer einmaligen Einrichtungsgebühr von 1.500 $. Die Starter Suite von Salesforce – der Einstieg – kostet 25 $ pro Nutzer und Monat, aber die Funktionen, die die meisten Vertriebsteams tatsächlich benötigen, befinden sich in der Pro Suite zu 100 $ pro Nutzer und Monat.
Keine dieser Zahlen ist unvernünftig für große Vertriebsorganisationen, bei denen die CRM-Nutzung direkt den messbaren Wert der Vertriebspipeline steigert. Aber für ein technisches Beratungsunternehmen, bei dem das CRM primär als Kontaktdatenbank und zur Dokumentation von Kundenprojekten dient, sieht die Rechnung anders aus. Der Betriebsaufwand eines selbst betriebenen Deployments wird in Stunden pro Jahr gemessen, nicht pro Woche. Die Amortisierung wird schnell erreicht.
Datenhoheit in der Praxis
Wenn Ihre CRM-Daten in einer PostgreSQL-Datenbank liegen, die Sie kontrollieren, hat das konkrete Auswirkungen auf den Betrieb. Backups sind Standard-Datenbankdumps – wir führen täglich pg_dump-Exporte zu Hetzner Object Storage aus, mit einer Aufbewahrungsdauer von 30 Tagen und monatlichen Snapshots für ein Jahr. Abfragen unterliegen keinen Beschränkungen. Sie können CRM-Tabellen per Join mit Ihren eigenen Daten verknüpfen, benutzerdefinierte Berichte direkt auf Basis des Datenbankschemas erstellen oder Kontaktdaten ohne Aufruflimits für Exporte oder API-Aufrufkontingente in andere interne Systeme einspeisen.
Das ist wichtiger, als es zunächst erscheint. SaaS-CRMs setzen API-Aufruflimits, die bei wachsendem Umfang zu architektonischen Einschränkungen werden. In HubSpots Tarifen Free und Starter teilen sich private Apps ein Limit von 250.000 Anfragen pro Tag und 100 Anfragen pro 10 Sekunden (Stand Oktober 2026). Pipedrives Limits variieren je nach Tarif. Wenn Sie CRM-Daten mit externen Systemen synchronisieren müssen – Abrechnungstools, Projektmanagement, benutzerdefinierte Dashboards – bestimmen diese Limits, welche Integrationen technisch realisierbar sind. Bei einer selbst betriebenen PostgreSQL-Datenbank gibt es kein Anbieterkontingent; die praktischen Grenzen ergeben sich aus der Serverkapazität, Ihren eigenen Zugriffskontrollen und der Aufgabe, Integrationen mit dem sich weiterentwickelnden Datenbankschema von Twenty kompatibel zu halten.
Es gibt auch die Frage, was mit Ihren Daten passiert, wenn der Anbieter übernommen wird, seine Bedingungen ändert oder den Betrieb einstellt. Das sind unwahrscheinliche Ereignisse bei den großen Anbietern, aber ihre Wahrscheinlichkeit ist nicht null. Datenhoheit bedeutet, die Verantwortung für das Risikomodell selbst zu tragen, statt sie zu delegieren.
Anpassung ohne Entwicklungspartner
Twenty basiert auf einer GraphQL-API mit einem metadatengesteuerten Datenmodell. Das Hinzufügen benutzerdefinierter Felder zu einer Entität dauert in der Benutzeroberfläche nur Sekunden – Sie definieren den Feldtyp, er erscheint sofort in der UI und im API-Schema. Keine Konfigurationsexporte, keine Sandbox-Deployments, keine Support-Tickets, kein Wechsel in einen höheren Tarif erforderlich.
Dieser Ansatz unterscheidet sich grundlegend von dem, was SaaS-CRMs bieten. Salesforce erlaubt umfangreiche Anpassungen, aber das Anpassungsmodell ist komplex genug, um eine ganze Branche spezialisierter Dienstleister zu beschäftigen. Pipedrive erlaubt benutzerdefinierte Felder für die meisten Objekte, aber Anpassungen der Benutzeroberfläche sind begrenzt. HubSpots Anpassungsmöglichkeiten hängen stark davon ab, welchen Tarif Sie gebucht haben.
Der Twenty-Ansatz – offenes Schema, lokale Kontrolle – bedeutet, dass Sie das Datenmodell direkt erweitern, wenn ein Kundenprojekt die Erfassung von Informationen erfordert, die das Standard-Datenmodell nicht abdeckt. Für ein Beratungsunternehmen, das manchmal ungewöhnliche Strukturen von Geschäftsabschlüssen oder kundenspezifische Metadaten erfassen muss, hat sich diese Flexibilität als nützlich erwiesen.
Backup-Strategie
Unsere Backup-Konfiguration ist absichtlich einfach. Ein täglicher automatisierter pg_dump der Twenty-PostgreSQL-Datenbank, komprimiert und auf Hetzner Object Storage hochgeladen. Anwendungsdaten – Profilbilder, Anhänge – liegen in einem Docker-Volume, das mit restic nach demselben Zeitplan gesichert wird. Aufbewahrung: 30 Tage für tägliche Snapshots, 12 Monate für monatliche Snapshots.
Wiederherstellungstests finden vierteljährlich statt: Das Backup in einer Staging-Datenbank wiederherstellen, Zeilenzahlen überprüfen, Datenintegrität stichprobenartig prüfen. Eine vollständige Wiederherstellung vom Backup zu einer betriebsbereiten Twenty-Instanz dauert etwa 15 Minuten – akzeptabel für ein Tool, das nicht auf dem kritischen Pfad von Echtzeitabläufen liegt. Hetzner Object Storage kostet 6,49 € pro Monat (ohne Umsatzsteuer, Stand Oktober 2026), inklusive 1 TB Speicherplatz; unsere CRM-Backups verbrauchen einen kleinen Bruchteil dieser Kapazität.
Die dafür erforderliche Betriebsdisziplin ist überschaubar. Backup-Jobs laufen als Cron-Jobs auf dem Host, protokollieren ihre Ergebnisse in einem Monitoring-System und lösen bei Fehlern einen Alarm aus. Das ist Standard-Infrastrukturpraxis, die jedes Team, das Server-Workloads betreibt, bereits haben sollte.
Wann Self-Hosting sinnvoll ist
Die Argumente für das Self-Hosting eines CRM sind am stärksten, wenn mehrere Bedingungen zusammentreffen. Ihr Team hat tatsächlich die Kapazität, Docker-Container zu betreiben und eine PostgreSQL-Datenbank zu verwalten – das ist eine reale Voraussetzung, keine Formalität. Sie betreiben bereits Serverinfrastruktur mit verfügbarer Kapazität. Ihr CRM-Anwendungsfall ist relativ stabil, was bedeutet, dass Sie nicht auf die Roadmap des Anbieters für Funktionen angewiesen sind, die Sie im nächsten Quartal benötigen werden.
Die Argumente zu Kosten und Datenhoheit sind berechtigt, stehen aber hinter der Frage zurück, ob das Team den Betrieb leisten kann. Self-Hosting spart Geld gegen den Einsatz von Zeit und Fachwissen. Wenn die Arbeitszeit Ihres Teams für den Betrieb teurer ist als ein SaaS-Abonnement, lohnt sich der Wechsel möglicherweise wirtschaftlich nicht. Ob sich der Wechsel rechnet, hängt nicht nur von den Kosten ab, sondern auch von den tatsächlichen Fähigkeiten und freien Kapazitäten Ihres Teams.
Wann nicht
Wenn Ihre Organisation umfassende Integrationen in Unternehmenssysteme benötigt – ein CRM, das mit einer Marketing-Automatisierungsplattform, einem CDP und einem Data Warehouse verbunden ist, wobei ein eigenes RevOps-Team alle Systeme betreut –, ist Self-Hosting die falsche Richtung. Das Integrationsökosystem rund um kommerzielle CRMs ist umfangreich, weil die Anbieter Jahre damit verbracht haben, es aufzubauen. Eine selbst betriebene Twenty-Instanz verbindet sich über ihre GraphQL-API oder direkten Datenbankzugriff. Sie hat keine Bibliothek von 500 vorgefertigten Konnektoren.
Ähnlich verhält es sich, wenn niemand in Ihrem Team einen fehlgeschlagenen Docker-Container diagnostizieren, PostgreSQL-Logs lesen oder eine Datenbank aus einem Backup wiederherstellen kann. Der Betriebsaufwand übersteigt schnell die Kosteneinsparungen. Der Self-Hosting-Pfad erfordert ein Mindestmaß an Infrastrukturkompetenz, das nicht jedes Team hat – und der Erwerb dieser Kompetenz hat eigene Kosten.
Compliance-Anforderungen können die Gleichung ebenfalls verschieben. Wenn Ihr Unternehmen Vorschriften unterliegt, die eine zertifizierte Datenverarbeitung durch Technologieanbieter erfordern – SOC-2-Attestierungen, ISO-27001-Audits – bedeutet ein selbst betriebenes Deployment, dass Sie sich nicht auf die Attestierung eines CRM-Anbieters berufen können; das CRM fällt in den Geltungsbereich Ihrer eigenen Kontrollen und Audits. Ob das ein Vorteil oder eine Belastung ist, hängt von Ihrem bisherigen Compliance-Stand ab.
Was wir tatsächlich betreiben
Unsere produktive Twenty-Installation läuft seit mehreren Monaten ohne nennenswerten Vorfall. Kontaktverwaltung, Unternehmenseinträge, die Nachverfolgung von Verkaufschancen und Aktivitätsprotokollierung funktionieren alle wie erwartet. Die Benutzeroberfläche ist übersichtlich genug, dass die Einarbeitung keine formale Schulung erforderte. Die GraphQL-API hat sich als nützlich erwiesen, um CRM-Informationen in andere interne Werkzeuge einzubinden – insbesondere für Kundenberichte und die Nachverfolgung von Kundenprojekten, für die wir eigene Werkzeuge entwickeln, statt sie als SaaS-Add-on zu kaufen.
Der Wartungsaufwand ist geringer als erwartet. Twenty veröffentlicht Updates in einem gleichmäßigen Rhythmus; ihre Bereitstellung ist eine Frage des Abrufens des neuen Docker-Images und des Neustarts des Dienstes, typischerweise unter fünf Minuten. Die PostgreSQL-Datenbank hat über die routinemäßige Überprüfung der Backups hinaus keinen manuellen Eingriff erfordert.
Die Entscheidung war nicht ideologisch. Wir haben uns nicht vom SaaS-CRM verabschiedet, weil SaaS grundsätzlich falsch oder Self-Hosting grundsätzlich tugendhaft ist. Die Entscheidung beruhte auf betrieblichen Gründen: Für unseren spezifischen Anwendungsfall ist der Weg über Self-Hosting einfacher, günstiger und gibt uns bessere Kontrolle über Daten, die uns gehören. Für eine Organisation mit anderen Einschränkungen – einem größeren Vertriebsteam, tieferen Integrationsanforderungen oder begrenzter Infrastrukturkapazität – könnte die Schlussfolgerung anders sein. Der Punkt ist, die Rechnung explizit anzustellen, anstatt standardmäßig zum Abonnementmodell zu greifen, weil es der Weg des geringsten Widerstands ist.
Weiterführende Beiträge
- Traefik-Reverse-Proxy: Der vollständige Self-Hosting-Leitfaden für HTTPS und SSL-Automatisierung
- n8n auf Hetzner Cloud selbst hosten: Vollständiges Docker-Setup-Tutorial
- Wie vollständige Datenhoheit die Verkaufsprozesse auf Amazon verändert
- Mandantenfähigen Entwicklungsstack mit Docker aufbauen: Vollständiges Setup für skalierbare Kunden-Deployments
- Hetzner Cloud Ende 2026: Tarife und Preise für das Self-Hosting von n8n, Windmill, Twenty und Ollama