Skip to content

PocketBase

Open source Go backend in one file: SQLite database, user auth, file storage, and an admin UI.

Stars
61.6k
Forks
3.8k
Licence
MIT
Language
Go
Last update
10 days ago
Type
App

This repository is archived and no longer maintained.

What it is

PocketBase is a backend server you run yourself. It bundles a SQLite database, realtime subscriptions, user and file management, an admin dashboard, and a simple REST-style API into a single executable. Developers use it when they want a working backend for an app without setting up several separate services. The repository is archived, and the README says the project has moved to a new address.

  • Run the prebuilt executable with ./pocketbase serve to get an API and admin dashboard quickly
  • Add custom routes in Go, such as a GET /hello endpoint, by building your own app on the Go package
  • Extend behavior with JavaScript, since the prebuilt executables include the JS VM plugin enabled by default
  • Connect a frontend using the official JavaScript or Dart SDK clients

Great for

  • Developers building a small web or mobile app who want a ready-made backend
  • Prototypes and side projects that need user accounts, file uploads, and live data updates
  • Go developers who want to embed a backend into their own custom application
  • People who prefer a single portable file to deploy instead of a multi-service stack

Not ideal for

  • Teams that need a long-term, actively maintained dependency: the repo is archived and the README says backward compatibility is not guaranteed before v1.0.0
  • Projects that need a large-scale, multi-server database setup, since the design centers on an embedded SQLite database
  • Non-technical users who want a finished app with no setup, since it is a backend that still needs a frontend and configuration

How to get it

  1. 1

    Download the app

    You'll need: None for the prebuilt executable (Go 1.27+ is only needed to build from source or use it as a Go framework)

    Run the prebuilt executable after extracting the release archive

    ./pocketbase serve

    Build the minimal standalone executable from the repo (run inside examples/base)

    CGO_ENABLED=0 go build

    Start the executable built from the repo

    ./base serve
  2. 2

    Run it

    • Download the archive for your platform from the Releases page and extract it
    • Open a terminal in the extracted folder and run ./pocketbase serve
    • Open the admin dashboard in your browser at the address the server prints
    • Use the REST-style API or an official SDK to read and write data
  3. 3

    Get the most out of it

    • Use the official JavaScript SDK (for browser, Node.js, and React Native) or Dart SDK to connect your app
    • Extend the prebuilt executable with JavaScript, as described in the Extend with JavaScript docs
    • Build a custom binary in Go by importing the pocketbase package and registering your own routes
    • Use the Testing guide in the docs to write application tests

Downloads

Strengths

  • Runs as one self-contained file, which makes deployment simple
  • Includes built-in users, files, realtime subscriptions, and an admin UI without extra services
  • Released under the MIT License, so it can be used freely, including in paid services

Trade-offs

  • The repository is archived and the README points to a new location, so check the current source before relying on it
  • The README warns that full backward compatibility is not guaranteed before v1.0.0
  • The README says pull requests for new features are temporarily disabled, so outside contributions are limited

How it compares

ProjectStarsTypeLevelUpdatedBest for
pocketbase (this)61.6kAppbeginner10 days agoDevelopers building a small web or mobile app who want a ready-made backend
ollama186kAppbeginner4 days agoDevelopers who want a local model API for their own apps
traefik65.4kAppintermediate4 days agoTeams running many microservices in Docker, Swarm, or Kubernetes
gitea58.8kAppintermediate4 days agoTeams that want to host their own code instead of using a public cloud service
go-zero33.4kLibraryintermediate5 days agoGo developers building REST APIs or microservices
micro29.8kAppbeginner4 days agoPeople who work mostly in a terminal and want an easy editor

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.