46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: '3'
|
|
|
|
services:
|
|
pocketbase:
|
|
<<: *defaults
|
|
image: ${GHCR_IO_REGISTRY:-ghcr.io}/muchobien/pocketbase:${PB_VERSION:-0.30.0}
|
|
environment:
|
|
TZ: ${TZ:-UTC}
|
|
# Optional ENCRYPTION (Ensure this is a 32-character long encryption key)
|
|
# $ openssl rand -hex 16
|
|
# https://pocketbase.io/docs/going-to-production/#enable-settings-encryption
|
|
ENCRYPTION: ${PB_ENCRYPTION}
|
|
PB_ADMIN_EMAIL: ${PB_ADMIN_EMAIL:-admin@example.com}
|
|
PB_ADMIN_PASSWORD: ${PB_ADMIN_PASSWORD:-supersecret123}
|
|
ports:
|
|
- '${PB_PORT:-8090}:8090'
|
|
volumes:
|
|
- pb_data:/pb_data
|
|
|
|
# optional public and hooks folders
|
|
- ./pb_public:/pb_public
|
|
- ./pb_hooks:/pb_hooks
|
|
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
|
|
start_period: 10s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${POCKETBASE_CPU_LIMIT:-0.25}
|
|
memory: ${POCKETBASE_MEMORY_LIMIT:-256M}
|
|
reservations:
|
|
cpus: ${POCKETBASE_CPU_RESERVATION:-0.1}
|
|
memory: ${POCKETBASE_MEMORY_RESERVATION:-128M}
|
|
|
|
volumes:
|
|
pb_data:
|