My notes about PocketBase, an βopen-source backend in 1 file.β
- PocketBase with LINE Login
- PocketBase TypeScript Type Generator
- Implementing Conditional Updates in PocketBase
My setup
Here's how I run PocketBase on my VPS using Docker Compose:
services:
pocketbase:
image: ghcr.io/muchobien/pocketbase:latest
restart: unless-stopped
environment:
- PB_HOST=0.0.0.0
- PB_PORT=8090
- PB_ADMIN_EMAIL=${PB_ADMIN_EMAIL:?"PB_ADMIN_EMAIL missing"}
- PB_ADMIN_PASSWORD=${PB_ADMIN_PASSWORD:?"PB_ADMIN_PASSWORD missing"}
- TZ=${TZ:?"TZ missing"}
ports:
- '127.0.0.1:8090:8090'
volumes:
- pb_data:/pb_data
healthcheck:
test:
[
'CMD',
'wget',
'--no-verbose',
'--tries=1',
'--spider',
'http://localhost:8090/api/health',
]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
pb_data:Snippets
Importing PocketBase JS SDK:
import PocketBase from 'pocketbase'
export const pb = new PocketBase('β¦')Authenticating as superuser:
await pb
.collection('_superusers')
.authWithPassword(process.env.PB_ADMIN_EMAIL!, process.env.PB_ADMIN_PASSWORD!)