Pulling ghcr.io/muchobien/pocketbase:latest
will automatically retrieve the appropriate image for your system architecture.
Architecture | Supported |
---|---|
amd64 | ✅ |
arm64 | ✅ |
armv7 | ✅ |
This image offers multiple tags for different versions. Choose the appropriate tag for your use case and exercise caution when using unstable or development tags.
Tag | Available | Description |
---|---|---|
latest | ✅ | Latest stable release of PocketBase |
x.x.x | ✅ | Specific patch release |
x.x | ✅ | Minor release |
x | ✅ | Major release |
Access the web UI at <your-ip>:8090
. For more details, refer to the PocketBase Documentation.
Below are example configurations to get started with a PocketBase container.
version: "3.7"
services:
pocketbase:
image: ghcr.io/muchobien/pocketbase:latest
container_name: pocketbase
restart: unless-stopped
command:
- --encryptionEnv # optional
- ENCRYPTION # optional
environment:
ENCRYPTION: $(openssl rand -hex 16) # optional (Ensure this is a 32-character long encryption key https://pocketbase.io/docs/going-to-production/#enable-settings-encryption)
ports:
- "8090:8090"
volumes:
- /path/to/data:/pb_data
- /path/to/public:/pb_public # optional
- /path/to/hooks:/pb_hooks # optional
healthcheck: # optional, recommended since v0.10.0
test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5
Using Docker CLI (More Info)
docker run -d \
--name=pocketbase \
-p 8090:8090 \
-e ENCRYPTION=example `# optional` \
-v /path/to/data:/pb_data \
-v /path/to/public:/pb_public `# optional` \
-v /path/to/hooks:/pb_hooks `# optional` \
--restart unless-stopped \
ghcr.io/muchobien/pocketbase:latest \
--encryptionEnv ENCRYPTION `# optional`
To build the image yourself, copy the Dockerfile
and docker-compose.yml
to your project directory. Update docker-compose.yml
to build the image instead of pulling it:
version: "3.7"
services:
pocketbase:
build:
context: .
args:
- VERSION=0.22.10 # Specify the PocketBase version here
container_name: pocketbase
restart: unless-stopped
command:
- --encryptionEnv # optional
- ENCRYPTION # optional
environment:
ENCRYPTION: example # optional
ports:
- "8090:8090"
volumes:
- /path/to/data:/pb_data
- /path/to/public:/pb_public # optional
- /path/to/hooks:/pb_hooks # optional
healthcheck: # optional, recommended since v0.10.0
test: wget --no-verbose --tries=1 --spider http://localhost:8090/api/health || exit 1
interval: 5s
timeout: 5s
retries: 5