Git Repository Guide

PocketBase

PocketBase

Web Self-hostable MIT

When to use this

Use this when you want a complete backend (database + auth + storage + admin panel) without running separate services. One executable file. Perfect for side projects, indie apps, and prototypes that need to ship fast.

YouTube Tutorials

Click any card to watch on YouTube

What is PocketBase?

PocketBase is an open-source backend consisting of embedded database (SQLite), realtime subscriptions, built-in auth management, file and media storage, and a convenient Admin dashboard UI, all packaged as a single executable.

Everything in One Binary

  • Database — SQLite with automatic migrations via the Admin UI
  • Auth — Email/password, OAuth2 (Google, GitHub, etc.), username, anonymous
  • Realtime — Subscribe to collection changes via SSE or WebSocket
  • Storage — File uploads stored locally or on S3-compatible storage
  • Admin UI — Web-based dashboard to manage collections, users, settings
  • REST API — Auto-generated CRUD API for every collection
  • SDK — JavaScript, Dart, and community SDKs

Quick Start

# Download the binary for your OS from GitHub releases
./pocketbase serve
# Admin UI: http://localhost:8090/_/
# API: http://localhost:8090/api/

JavaScript SDK

import PocketBase from 'pocketbase';

const pb = new PocketBase('http://localhost:8090');
const records = await pb.collection('posts').getFullList();

PocketBase vs. Supabase

Supabase is hosted (or complex self-hosted). PocketBase is one binary you can run anywhere — VPS, Raspberry Pi, Docker. No Kubernetes, no microservices. The tradeoff: PocketBase uses SQLite so it's not designed for millions of concurrent writes.