
marimo einfach selbst hosten
Yulei Chenmarimo ist ein Open-Source reaktives Notebook für Python. Anders als klassische Jupyter Notebooks sind marimo Notebooks reproduzierbar, git-freundlich und können als Scripts oder interaktive Apps geteilt werden. SQL-Support ist direkt eingebaut, was es perfekt für Datenanalyse und Exploration macht.
Mit Sliplane kannst du marimo in wenigen Minuten deployen - mit einem One-Click Preset. Kein Server-Setup, kein Reverse Proxy, kein Infrastruktur-Stress. Einfach klicken und loslegen.
Voraussetzungen
Bevor du loslegst, brauchst du einen Sliplane Account (kostenlose Testphase verfügbar).
Schnellstart
Sliplane bietet One-Click Deployment mit Presets.
- Klick auf den Deploy-Button oben
- Wähl ein Projekt aus
- Wähl einen Server aus (bei Neuanmeldung bekommst du einen 48-Stunden Gratis-Testserver)
- Klick auf Deploy!
Über das Preset
Das One-Click Deploy oben nutzt Sliplane's marimo Preset. Das ist enthalten:
- Die SQL-Variante des marimo Docker Images (
ghcr.io/marimo-team/marimo), mit eingebautem SQL-Support zum direkten Abfragen von Datenbanken aus deinen Notebooks - Spezifischer Version-Tag für Stabilität
- Persistenter Storage auf
/app, damit deine Notebooks Redeployments überleben - Ein zufällig generiertes Token-Passwort zur Authentifizierung
- Vorkonfiguriert für alle Netzwerk-Interfaces und Port 8080
Nächste Schritte
Sobald marimo läuft, öffne die Domain, die Sliplane zugewiesen hat (z.B. marimo-xxxx.sliplane.app) im Browser.
Einloggen
Du wirst nach einem Access Token gefragt. Den Wert von TOKEN_PASSWORD findest du in den Umgebungsvariablen deines Services auf Sliplane. Gib ihn ein, um dich anzumelden.
Notebooks erstellen
Nach dem Login siehst du den marimo File-Browser. Klick auf Create, um ein neues Notebook zu starten. marimo Notebooks werden als einfache .py-Dateien im /app Volume gespeichert, was sie einfach zu versionieren und teilen macht.
Wichtige Features
- Reaktive Ausführung: Änder eine Zelle und alle abhängigen Zellen aktualisieren sich automatisch
- SQL-Zellen: Frag Datenbanken direkt im Notebook über den eingebauten SQL-Editor ab
- App-Modus: Teil Notebooks als interaktive Web-Apps mit
marimo runstattmarimo edit - Package Management: marimo kann fehlende Packages automatisch erkennen und installieren
Umgebungsvariablen
Du kannst diese Umgebungsvariablen in deinen Sliplane Service-Einstellungen anpassen:
| Variable | Beschreibung |
|---|---|
TOKEN_PASSWORD | Das Passwort für den Zugang zum marimo Editor |
PORT | Der Port, auf dem marimo lauscht (Standard: 8080) |
Fehlerbehebung
Falls du nicht auf die marimo UI zugreifen kannst, prüf die Service-Logs im Sliplane Log-Viewer. Häufige Probleme:
- Connection refused: Achte drauf, dass der Service fertig deployed ist und der Health Check durchgeht
- Authentifizierungsfehler: Prüf die
TOKEN_PASSWORDUmgebungsvariable nochmal
Für allgemeine Docker Log-Tipps, schau dir unseren Beitrag zu Docker Logs an.
Kostenvergleich
Du kannst marimo auch bei anderen Cloud-Anbietern self-hosten. Hier ein Preisvergleich der gängigsten Anbieter:
| Anbieter | vCPU | RAM | Disk | Monatliche Kosten | Hinweis |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | 9 € (~$10,65) | Flatrate, 1 TB Bandbreite, SSL inklusive |
| Fly.io | 2 | 2 GB | 40 GB | ~$18 | Disk und Bandbreite separat berechnet |
| Render | 1 | 2 GB | 40 GB | ~$35 | 100 GB Bandbreite, Disk separat berechnet |
| Railway | 2 | 2 GB | 40 GB | ~$67 + $20 Plan | Pro-Plan Minimum, nutzungsbasiert, Bandbreite separat |
Klick hier, um zu sehen, wie diese Zahlen berechnet wurden.
(Annahme: eine durchgehend laufende Instanz mit 730 Stunden/Monat)
- Sliplane: pauschal 9 €/Monat für den Base Server. Unbegrenzte Services auf dem gleichen Server, 1 TB Egress und SSL inklusive.
- Fly.io:
shared-cpu-2x2 GB = $11,83/Mo + 40 GB Volume × $0,15/GB = $6 -> ~$17,83/Mo. Egress separat berechnet ($0,02/GB in EU). - Render: nächste Übereinstimmung ist Standard ($25, 1 vCPU / 2 GB) plus 40 GB Disk × $0,25/GB = $10 -> ~$35/Mo. Upgrade auf Pro (2 vCPU / 4 GB) kostet $85/Mo + Disk.
- Railway (Pro-Plan): CPU 2 × $0,00000772/s × 2.628.000 s = $40,57; RAM 2 × $0,00000386/s × 2.628.000 s = $20,29; Volume 40 × $0,00000006/s × 2.628.000 s = $6,31 -> ~$67/Mo Compute, plus $20/Mo Pro-Plan Minimum und $0,05/GB Egress.
Bandbreitenkosten können bei nutzungsbasierten Anbietern schnell ansteigen. Nutz unser Bandbreiten-Kostenvergleichstool, um zu sehen, was dein Egress bei jedem Anbieter kosten würde.
FAQ
Wofür kann ich marimo verwenden?
marimo eignet sich super für Datenexploration, Prototyping, interne Tools und reproduzierbare Analysen. Das reaktive Ausführungsmodell sorgt dafür, dass du immer aktuelle Ergebnisse siehst. Der eingebaute SQL-Support lässt dich Datenbanken direkt im Notebook abfragen.
Wie verbinde ich marimo mit einer Datenbank?
Die SQL-Variante von marimo unterstützt Verbindungen zu Datenbanken wie PostgreSQL, MySQL und SQLite. Wenn deine Datenbank auf dem gleichen Sliplane Server läuft, nutz den internen Service-Namen als Host. Du kannst auch zusätzliche Python-Packages direkt im Notebook-Code installieren.
Wie update ich marimo?
Änder den Image-Tag in deinen Sliplane Service-Einstellungen auf eine neuere Version und deploye neu. Prüf die marimo GitHub Releases für die neueste stabile Version.
Kann ich marimo Notebooks als eigenständige Apps betreiben?
Ja. marimo unterstützt einen "App-Modus", in dem Notebooks als interaktive Web-Applikationen laufen. Um vom Edit-Modus in den App-Modus zu wechseln, änder den Command in deinen Service-Einstellungen von marimo edit zu marimo run. Im App-Modus können Nutzer mit den Notebook-Outputs interagieren, ohne den Code zu sehen oder zu bearbeiten.
Was ist der Unterschied zwischen marimo und Jupyter?
marimo Notebooks werden als reine Python-Dateien gespeichert (nicht JSON wie bei Jupyter), was sie einfach mit git versionierbar macht. Das reaktive Ausführungsmodell stellt sicher, dass Zellen immer den aktuellen Stand widerspiegeln - das typische Jupyter-Problem mit Zellen in falscher Reihenfolge gibt's hier nicht. marimo hat außerdem einen eingebauten Package Manager und SQL-Support.