PocketBase
Self-HostedOpen-source backend for low-code apps with realtime DB & auth
Overview
PocketBase is a lightweight, self-hosted backend for low-code/full-stack developers. It combines an SQLite database with realtime subscriptions, built-in authentication (email/password, OAuth like Google/Facebook), file storage, auto-generated REST API, and an admin UI. Deployable as a single binary (no dependencies) or Docker, it’s ideal for prototypes, small apps, or side projects. Its simple setup and JavaScript hooks for extensibility let you integrate into web/mobile apps without complex infrastructure management.
Self-Hosting Resources
Below is a reference structure for docker-compose.yml.
⚠️ Do NOT run blindly. Replace placeholders with official values.
version: '3'
services:
pocketbase:
image: <OFFICIAL_IMAGE_NAME>:latest
container_name: pocketbase
ports:
- "8080:<APP_INTERNAL_PORT>"
volumes:
- ./data:/app/data
restart: unless-stopped Key Features
- Realtime SQLite database with subscriptions
- Built-in authentication (email/OAuth) & user management
- Auto-generated REST API & intuitive admin dashboard
- Single binary deployment (no external dependencies)
Frequently Asked Questions
? Is PocketBase hard to install?
No—PocketBase can be deployed as a single binary (download and run) or via Docker. The admin UI is accessible immediately after setup, letting you create data models without complex config.
? Is it a good alternative to Firebase?
Yes—PocketBase offers core Firebase features (realtime DB, auth, file storage) but is self-hosted, so you retain full data control. It’s lighter and better suited for small to medium projects avoiding vendor lock-in.
? Is it completely free?
Yes—PocketBase is open-source under the MIT License. It’s free to use, modify, and self-host with no hidden fees or paid tiers.
Top Alternatives
People Also Ask about PocketBase
Tool Info
Pros
- ⊕ Lightweight and easy to set up
- ⊕ No vendor lock-in (self-hosted)
- ⊕ Built-in file storage with access control
- ⊕ Minimal resource requirements
Cons
- ⊖ Limited to SQLite (not ideal for large-scale distributed apps)
- ⊖ Smaller ecosystem compared to Firebase or Supabase
- ⊖ Advanced customization requires JavaScript hooks