PocketBase

PocketBase mit Volume hosten.

Starte das fertige PocketBase-Image und lege ein Volume unter /pb_data an. Deine Daten überstehen Neustarts und Deploys, ein Backup läuft täglich.

Braucht den Tarif Entwickler, kostenlos gibt es nur Websites. Preise · Grenzen vorab prüfen

  • Fertiges Image, kein Build
  • Daten auf einem Volume
  • Backup täglich
claude · run-zero-examples/pocketbase

> Deploye den Ordner pocketbase auf run.zero.

runzero_create_appfertigexample-pocketbase

runzero_push_filesfertigein Commit

runzero_deployfertigDienst und Volume angelegt

runzero_wait_for_buildfertiglive

live unter https://pocketbase-example-pocketbase-d9db184f.run-zero.de

Die Sitzung, mit der die Live-Demo entstanden ist, mit den echten MCP-Tools.
Ablauf

In drei Schritten live.

Getestet mit dem Beispiel, das live läuft.

  1. 01

    run-zero.yaml im Repo-Root anlegen

    PocketBase braucht keinen Build. Der Dienst startet ein fertiges Image, das auf Port 8090 lauscht.

    • Nenne den Dienst nicht pb: Kubernetes setzt für jeden Dienst <NAME>_PORT=tcp://…, und PB_PORT lässt PocketBase abstürzen.
    run-zero.yaml (Auszug)
    version: "1"services:  pocketbase:    image: ghcr.io/muchobien/pocketbase:latest    port: 8090
  2. 02

    Volume für /pb_data

    Dort liegen Datenbank und Uploads. Ein neuer PocketBase-Dienst bekommt auch ohne Eintrag 10 GiB unter /pb_data, wenn dein Tarif Platz hat. Trag es trotzdem ein, dann steht der Pfad in der Datei, mit size: wählst du mehr.

    run-zero.yaml (Auszug)
        volumes:      - path: /pb_data
  3. 03

    Konto anlegen und deployen

    Lege ein Konto an, verbinde deinen Agenten mit dem Befehl und melde dich in Claude Code mit /mcp und Authenticate an.

    • Dann schreibst du dem Agenten: Deploye dieses Repo auf run.zero.
    • Beim ersten Start steht im Log des Dienstes, auch über runzero_get_logs, ein Link für deinen ersten Superuser. Er beginnt mit http://0.0.0.0:8090, ersetze das durch https://pocketbase-<app>.run-zero.app.
    Ohne Agent

    Lege die App im Dashboard an und verbinde dein GitHub-Repo. Jeder Push baut neu.

    Claude Code verbinden
    claude mcp add --transport http \  -s user run-zero \  https://api.run-zero.de/mcp \  --client-id runzero-cli \  --callback-port 53761

Nach 1 bis 3 Minuten läuft der Dienst unter https://pocketbase-<app>.run-zero.app. /api/health antwortet, das Admin-Dashboard liegt unter /_/. Die Startseite / liefert bei PocketBase einen 404, das ist normal. Startet der Dienst nicht, nennt runzero_get_logs den Grund.

Dateien

Eine Datei reicht.

Mehr braucht das Beispiel nicht, das live läuft.

Dienst pocketbase aus einem fertigen Image auf Port 8090, mit Volume unter /pb_data.

Beispiel auf GitHub(öffnet in neuem Tab)
pocketbase/run-zero.yaml
version: "1"services:  pocketbase:    image: ghcr.io/muchobien/pocketbase:latest    port: 8090    volumes:      - path: /pb_data
Getestet

Was mit deinen Daten passiert.

Geprüft mit einem Eintrag im Beispiel, das live läuft.

RedeployDaten bleiben, der Dienst antwortet einige Sekunden mit 503
Skalieren auf 0 und zurück auf 1Daten bleiben
Skalieren auf 2Abgelehnt, mit Volume läuft genau eine Instanz
Grenzen

Was heute nicht geht.

Für einen Dienst mit Volume.

  • Braucht den Tarif Entwickler

    Free hat keine Apps mit Server und kein Postgres, der Deploy bricht dort ab.

    Preise ansehen
  • Genau eine Instanz

    Höher skalieren geht nicht, auf 0 bleiben die Daten erhalten. Jeder Deploy hat eine kurze Lücke.

  • Keine Vorschau

    Vorschau-Adressen und manuelles Veröffentlichen gehen für diesen Dienst nicht.

  • Größe fest

    Standard 10 GiB, mehr mit size:. Ein bestehendes Volume lässt sich noch nicht vergrößern.

Alle Grenzen ansehen
Betrieb

Was du nicht mehr selbst machst.

Build, HTTPS, Datenbank und Backups laufen auf der Plattform.

  • Daten bleiben in Deutschland

    Server und Backups bei Hetzner in Nürnberg. Mit Auftragsverarbeitungsvertrag.

  • HTTPS automatisch

    Jeder Dienst bekommt eine Adresse unter run-zero.de, eigene Domains ein Zertifikat von Let’s Encrypt.

  • Volume mit Backup

    Ein Eintrag in run-zero.yaml, täglich gesichert, die letzten 14 bleiben.

  • Kein Lock-in

    Dein Code bleibt in deinem Repo. Für einen Download erstellst du im PocketBase-Dashboard ein eigenes Backup.

Fragen.

Zu PocketBase.

Was zeigt die Live-Demo?

Einen öffentlichen Eintrag unter /api/collections/notes/records, der Redeploy und Skalieren auf 0 überstanden hat. Das Admin-Dashboard liegt unter /_/, der Zugang ist nicht öffentlich.

Gibt es Backups?

Ja, täglich, die letzten 14 bleiben. PocketBase speichert in SQLite, das wird konsistent kopiert. Zurückholen mit runzero_restore_volume, vorher wird der aktuelle Stand gesichert.

Bekommt PocketBase sein Volume automatisch?

Ein neuer Dienst bekommt 10 GiB unter /pb_data, volumes: [] schaltet das ab. Ohne Platz im Tarif läuft er ohne Volume, die Daten gehen beim Neustart verloren, das Deploy-Ergebnis deines Agenten warnt. Ein bestehender Dienst bleibt unverändert, auch hier warnt es nur.

Welche PocketBase-Version läuft?

Das Beispiel nutzt das Image mit dem Tag latest. Für planbare Updates trägst du eine feste Version ein.

Geht das auch mit meiner eigenen SQLite-App?

Ja, mit volumes: am Dienst, deine App muss die Datei dort ablegen. Bei erkanntem SQLite nennt das Deploy-Ergebnis deines Agenten den nötigen Eintrag.

Weitere Anleitungen

Alle Anleitungen

Dein Code. Live auf run.zero.

Websites sind kostenlos, ohne Kreditkarte. Apps mit Server, Datenbank und eigene Domain gibt es ab dem Tarif Entwickler.