PocketBase - backend jako usługa w jednym kontenerze: baza SQLite, autoryzacja użytkowników, magazyn plików i auto-generowane REST/realtime API dla Twojej własnej aplikacji mobilnej albo webowej.
Środowisko
| Runtime | Obraz Docker ghcr.io/muchobien/pocketbase (community wrapper wokół oficjalnej binarki pocketbase/pocketbase), jeden kontener |
| Zalecany plan | Box S+ (Docker, jeden lekki kontener, min 256 MB RAM) |
Przykładowy saplo.yaml
Plik saplo.yaml w katalogu głównym repozytorium opisuje, jak Saplo ma zbudować i uruchomić aplikację. Wygeneruje go też komenda saplo init.
version: 1
name: my-pocketbase
stack: pocketbase
app_id: 1234
Pełny opis wszystkich pól znajdziesz na stronie Plik saplo.yaml.
Jak wdrożyć
Ten stack wdrożysz na trzy sposoby - wybierz wygodny dla siebie:
- Z panelu - tworzysz aplikację klikami, kod wgrywasz później przez CLI lub Git.
- Saplo CLI - z katalogu projektu:
saplo init, potemsaplo deploy. - Deploy z GitHub - podłączasz repo raz, każdy push wdraża się sam.
# Najszybsza droga - z katalogu projektu
$ npm install -g @saplo/cli
$ saplo login
$ saplo init
$ saplo deploy
Dobrze wiedzieć
- Stawiasz z panelu jednym kliknięciem - Saplo instaluje Docker CE i uruchamia kontener. Konto administracyjne (superuser) zakłada się samo przy pierwszym starcie, dane logowania trafiają do pliku POCKETBASE-SETUP.txt w katalogu aplikacji.
- Panel administracyjny (definiowanie kolekcji danych, zarządzanie użytkownikami i plikami) działa pod adresem Twojej domeny ze ścieżką /_/. Aplikację (mobilną albo webową) podłączasz do PocketBase oficjalnym SDK (JavaScript, Dart i inne), wskazując adres Twojej domeny jako bazowy URL API.
- Dane (baza, pliki, migracje) trzymane są w nazwanym wolumenie Dockera, przeżywają restart i aktualizację obrazu.
- Inna nisza niż Baserow i Directus (też w katalogu Saplo) - tamte to gotowe narzędzia do klikania w przeglądarce nad istniejącą bazą, ten to warstwa API (baza, logowanie, storage), na której piszesz WŁASNĄ aplikację.
Gotowy na deploy?
Wybierz plan Box i postaw aplikację PocketBase jeszcze dziś.