Agent skill · software engineering · davila7

PocketBase Deploy

Production deployment for PocketBase. Use when deploying PocketBase to a server, setting up Docker, configuring systemd, reverse proxy (nginx/Caddy), TLS, SMTP, backups, S3 storage, rate limiting, or hardening for production. Provides ready-to-use configs.

Why this skill is useful

Adds executable deployment scripts and configurations for PocketBase, including Docker setup, systemd service, and reverse proxy configurations that are not commonly found in public documentation.

What it needs

Requires docker installed locally. About 4k tokens when loaded. Last updated 2026-08-06. 30,138 stars on the source repository.

What this skill does

PocketBase Production Deployment Single Binary Deployment PocketBase is a single binary. No runtime dependencies. Data stored in pbdata/ (SQLite DB, uploaded files, logs). systemd Service File descriptor limit For high-traffic deployments, increase the limit: Also set system-wide in /etc/security/limits.conf: Go memory limit For constrained environments: Docker Dockerfile docker-compose.yml Reverse Proxy Caddy (recommended — auto TLS) That's it. Caddy handles TLS certificates automatically via Let's Encrypt. nginx Critical for realtime: proxybuffering off and proxyreadtimeout must be set for SSE subscriptions to work. SMTP Configuration Configure in Dashboard > Settings > Mail settings, or via hooks: Security Hardening Superuser MFA Always enable MFA for superuser accounts in production: Dashboard > Superusers > Auth options > MFA > Enable Settings encryption key Encrypt sensitive settings (SMTP passwords, S3 keys) at rest: Set PBENCRYPTIONKEY environment variable to a 32+ character random string. Once set, settings are encrypted in the DB. Do not lose this key — you won't be able to decrypt settings without it. Rate limiting Built-in rate limiter (enabled by default). Configure in Dashboard > Settings > Rate limits, or: Hide the Dashboard in production Access the dashboard only via SSH tunnel: S3 Storage For file uploads, offload to S3-compatible storage: Dashboard > Settings > Files storage > S3 Compatible providers: AWS S3, Backblaze B2, Cloudflare R2, MinIO, DigitalOcean Spaces, Wasabi. Backups Small databases (< 1GB) Use the built-in backup feature: Dashboard > Settings > Backups Or via API: POST /api/backups Auto-schedule: configure cron in Dashboard Large databases The Dashboard backup uses SQLite's online backup API (locks DB briefly). For large DBs, use: Never copy the .db file directly while PocketBase is running — it may be in an inconsistent state. Backup script Health Check Deployment Checklist 1. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills davila7/pb-deploy

View the source on GitHub

Browse the @skills marketplace