Unofficial PocketBase SaaS backend prepared for secure kubernetes deployment
2.6K
Unofficial PocketBase SaaS backend prepared for secure kubernetes deployment
PocketBase is an open-source backend consisting of an embedded database (SQLite) with real-time subscriptions, and built-in auth management, convenient dashboard UI and simple REST-ish API. This image provides PocketBase in a secure Kubernetes-ready manner using Alpine and non-root user.
PocketBase does not have a High-Availability or Horizontal scaling supported, therefore the main use-case here is to deploy a single container besides your application and use it as your lightweight SaaS backend.

Docker-Compose (recommended):
version: "3.8"
services:
pocketbase:
image: adaliszk/pocketbase
ports:
- "8080:8080"
or Docker CLI:
docker run -p 8080:8080 adaliszk/pocketbase
The image utilises the docker manifest for multi-platform awareness, therefore, the main tags will retrieve the correct platform image without needing to specify your platform.
| Architecture | Available | Tag |
|---|---|---|
| x86-64 | ✅ | <version> or latest |
| arm64 | ✅ | <version> or latest |
| arm/v7 | ✅ | <version> or latest |
The tags are automatically generated when
| Tag | Available | Description |
|---|---|---|
latest | ✅ | The latest version with multi-arch support |
0.12.3 | ✅ | PocketBase v0.12.3 with multi-arch support |
0.12.2 | ✅ | PocketBase v0.12.2 with multi-arch support |
0.11.3 | ✅ | PocketBase v0.11.3 with multi-arch support |
develop | ✅ | Automatic build from GitHub that links the source on Dockerhub |
The image uses the PocketBase binary as its entrypoint with a slight layer in front that allows a couple of variables to be set instead of command-line arguments:
| Variable | Overwrites | Default |
|---|---|---|
DATA_DIR | --dir | /data/database |
MIGRATION_DIR | --migrationDir | /data/migration |
PUBLIC_DIR | --publicDir | /data/static |
By default, the serve command will be executed with --http=0.0.0.0:8080 arguments.
As described above, all data is configured to exist under /data; therefore, to persist them, you need to attach a
volume to that location:
docker create volume pocketbase_data
docker run -p 8080:8080 -v pocketbase_data:/data adaliszk/pocketbase
or
version: "3.8"
volumes:
data: { }
services:
pocketbase:
image: adaliszk/pocketbase
volumes:
- data:/data
ports:
- "8080:8080"
Content type
Image
Digest
sha256:eb9221ad5…
Size
17.5 MB
Last updated
over 2 years ago
docker pull adaliszk/pocketbase