PocketBase as a standalone database server
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Storage tests on PostgreSQL (push) Canceled after 0s
CI / Complement (federation off) (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
CI / Smoke test the binary (push) Canceled after 0s
CI / Admin panel (push) Canceled after 0s
CI / Web client (push) Canceled after 0s
CI / Desktop client (ubuntu-24.04) (push) Canceled after 0s
CI / Desktop client (windows-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Test (windows-latest) (push) Canceled after 0s
CI / Storage tests on PostgreSQL (push) Canceled after 0s
CI / Complement (federation off) (push) Canceled after 0s
CI / golangci-lint (push) Canceled after 0s
CI / Smoke test the binary (push) Canceled after 0s
CI / Admin panel (push) Canceled after 0s
CI / Web client (push) Canceled after 0s
CI / Desktop client (ubuntu-24.04) (push) Canceled after 0s
CI / Desktop client (windows-latest) (push) Canceled after 0s
The pocketbase driver no longer embeds PocketBase: Warp keeps its data as PocketBase collections on a server of its own and reaches it only through the REST API, the way the postgres driver reaches PostgreSQL. database.connection_string is the server's URL, and Warp signs in as the superuser in WARP_PB_SUPERUSER_EMAIL / WARP_PB_SUPERUSER_PASSWORD (or a WARP_PB_SUPERUSER_FILE of the two). Every SQL table is a superuser-only collection of the same name and columns, created by warp migrate. Reads go through PocketBase's SQL endpoint with the SQL drivers' queries, via a read-only database/sql driver that inlines arguments, moves long ones into warp_params and pages past 1000 rows. Writes are record operations in batch requests under one write lock in the Warp process. Media is a protected file field in warp_media, local or in the S3 bucket Warp writes into PocketBase's settings. Search matches word prefixes with LIKE. The storage tests run against an in-process PocketBase and pass as on SQLite. Docker: the PocketBase stacks get a pocketbase service running tajniak81/pocketbase-docker-root (WARP_PB_IMAGE), with a pb-data volume and its admin UI on loopback; the AIO images run that PocketBase binary as a process beside the homeserver, making up a superuser when none is set. The .env examples, READMEs, docs and warp.yaml.example follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0994156705
commit
a47e15cc1c
69 files changed
+8209
-374
No files matched your search
@@ -21,11 +21,31 @@ WARP_PORT=8008
|
||||
WARP_ADMIN_PORT=8009
|
||||
WARP_WEB_PORT=8080
|
||||
|
||||
# The PocketBase image; any PocketBase 0.40 or later answers the same.
|
||||
WARP_PB_IMAGE=tajniak81/pocketbase-docker-root:latest
|
||||
|
||||
# PocketBase's port, for its admin UI at http://localhost:8070/_/. It is
|
||||
# on loopback unless the bind address says otherwise; put the UI behind a
|
||||
# reverse proxy before binding it to 0.0.0.0.
|
||||
WARP_PB_BIND=127.0.0.1
|
||||
WARP_PB_PORT=8070
|
||||
|
||||
# The PocketBase superuser the homeserver signs in as, and so can you, in
|
||||
# the admin UI. The pocketbase container creates it on its first start and
|
||||
# leaves it alone after that: to change the password, change it in the
|
||||
# admin UI first, then here. It needs 8 characters or more.
|
||||
WARP_PB_SUPERUSER_EMAIL=admin@example.org
|
||||
WARP_PB_SUPERUSER_PASSWORD=change-me-now
|
||||
|
||||
# Where the data lives. Empty keeps the named volume in brackets; a
|
||||
# host path (starting with . or /) bind-mounts that directory instead.
|
||||
# The homeserver runs as UID 10001, so its directory must be writable by it.
|
||||
# The homeserver's /data (warp-data).
|
||||
# The homeserver runs as UID 10001, so its directory must be writable by
|
||||
# it; PocketBase runs as root.
|
||||
# The homeserver's /data (warp-data): its signing key.
|
||||
WARP_DATA_VOLUME=
|
||||
# PocketBase's pb_data (pb-data): the database, and media unless it is
|
||||
# in S3.
|
||||
WARP_PB_DATA_VOLUME=
|
||||
|
||||
# ------------------------------------------------------------ homeserver
|
||||
|
||||
|
||||
Reference in new issue
Block a user