pocketbase

From public sources

PocketBase is an open-source Go backend in a single file, a database backend category tool with realtime subscriptions, user auth, file storage and an admin UI.

LibraryCategory: Databases & StorageOpen sourcedata checked Oct 15, 2026

Overview

Building a backend for a web or mobile app usually means wiring together a database, authentication, file storage and realtime updates before writing any product code. PocketBase bundles these pieces into one portable Go executable that can be deployed as a single process. It embeds a SQLite database with realtime subscriptions, and includes built-in user and file management, an admin dashboard UI, and a simple REST-style API. Official JavaScript and Dart SDKs make it straightforward to call from browsers, Node.js, React Native, Flutter-style mobile and desktop apps, or CLI tools. PocketBase can be run as a standalone app with extensions in JavaScript, or used as a Go framework to add custom business logic. It is released under the MIT License. The project is still under active development, so backward compatibility is not guaranteed before v1.0.0.
  • authentication
  • backend
  • backend-as-a-service
  • database
  • golang
  • realtime

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
Node.jsUnknown———
PythonUnknown———
JVMUnknown———
.NETUnknown———
WebAssemblyUnknown———
Web browserUnknown———
WindowsCompatiblex86_64official build in release v0.40.6: pocketbase_0.40.6_windows_amd64.zip0.70
Compatiblearm64official build in release v0.40.6: pocketbase_0.40.6_windows_arm64.zip0.70
macOSCompatiblex86_64official build in release v0.40.6: pocketbase_0.40.6_darwin_amd64.zip0.70
Compatiblearm64official build in release v0.40.6: pocketbase_0.40.6_darwin_arm64.zip0.70
LinuxCompatiblex86_64official build in release v0.40.6: pocketbase_0.40.6_linux_amd64.zip0.70
Compatiblearm64official build in release v0.40.6: pocketbase_0.40.6_linux_arm64.zip0.70
Compatiblearmv7official build in release v0.40.6: pocketbase_0.40.6_linux_armv7.zip0.70
Compatible—official build in release v0.40.6: pocketbase_0.40.6_linux_ppc64le.zip0.60
Server / self-hostedCompatible—Declared on the card—

Releases

checked Oct 29, 2026
v0.40.6LatestOct 23, 2026Official source ↗

Files in 0.40.6

The marketplace does not host these files: downloads go to the official source. Files have not been scanned by us.
FilePlatformSizeSHA-256Download from the official source
pocketbase_0.40.6_darwin_amd64.zipmacos · x86_64 · zip12.3 MB970464cfdb8f…Official source ↗
pocketbase_0.40.6_darwin_arm64.zipmacos · arm64 · zip11.7 MB7f2f7544e9ee…Official source ↗
pocketbase_0.40.6_linux_amd64.ziplinux · x86_64 · zip12.2 MB0e1f609158ed…Official source ↗
pocketbase_0.40.6_linux_arm64.ziplinux · arm64 · zip11.3 MBd22c66ceb67c…Official source ↗
pocketbase_0.40.6_linux_armv7.ziplinux · armv7 · zip11.6 MB33f1145b8053…Official source ↗
pocketbase_0.40.6_linux_ppc64le.ziplinux · zip11.4 MB6578cc6aca9c…Official source ↗
pocketbase_0.40.6_linux_s390x.ziplinux · zip11.9 MBc6a6fa7b9cef…Official source ↗
pocketbase_0.40.6_windows_amd64.zipwindows · x86_64 · zip12.4 MB33a2a1d255ca…Official source ↗
pocketbase_0.40.6_windows_arm64.zipwindows · arm64 · zip11.3 MB7ca50a72b768…Official source ↗
checksums.txtchecksums908 B5fb8bb01cc69…Official source ↗

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 15, 2026
Quality Score91
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 1 days ago
Documentation · 1515
README 6992 chars, description present
Ready to use · 156
install instructions: no; releases: yes
Metadata · 1010
4/4 of description, homepage, license, topics
Releases · 1010
10 release(s), latest 7 days ago
Category confidence · 1010
classifier confidence 1
Adoption · 1010
61429 stars (log-dampened, 10k = max)
License clarity · 55
SPDX MIT
Community · 55
issues enabled, 3733 forks

License

MIT
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/pocketbase/pocketbasePrimary★ 61,429 starslast activity Oct 14, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From pocketbase/pocketbase · license MIT · fetched Oct 29, 2026

⚠️ The repo has moved to https://ganigeorgiev.com/pocketbase/pocketbase.


PocketBase is an open source Go backend that includes:

  • embedded database (SQLite) with realtime subscriptions
  • built-in files and users management
  • convenient Admin dashboard UI
  • and simple REST-ish API

For documentation and examples, please visit https://pocketbase.io/docs.

[!WARNING] Please keep in mind that PocketBase is still under active development and therefore full backward compatibility is not guaranteed before reaching v1.0.0.

API SDK clients

The easiest way to interact with the PocketBase Web APIs is to use one of the official SDK clients:

You could also check the recommendations in https://pocketbase.io/docs/how-to-use/.

Overview

Use as standalone app

You could download the prebuilt executable for your platform from the Releases page. Once downloaded, extract the archive and run ./pocketbase serve in the extracted directory.

The prebuilt executables are based on the examples/base/main.go file and comes with the JS VM plugin enabled by default which allows to extend PocketBase with JavaScript (for more details please refer to Extend with JavaScript).

Use as a Go framework/toolkit

PocketBase is distributed as a regular Go library package which allows you to build your own custom app specific business logic and still have a single portable executable at the end.

Here is a minimal example:

  1. Install Go 1.27+ (if you haven't already)

  2. Create a new project directory with the following main.go file inside it:

    package main
    
    import (
        "log"
    
        "github.com/pocketbase/pocketbase"
        "github.com/pocketbase/pocketbase/core"
    )
    
    func main() {
        app := pocketbase.New()
    
        app.OnServe().BindFunc(func(se *core.ServeEvent) error {
            // registers new "GET /hello" route
            se.Router.GET("/hello", func(re *core.RequestEvent) error {
                return re.String(200, "Hello world!")
            })
    
            return se.Next()
        })
    
        if err := app.Start(); err != nil {
            log.Fatal(err)
        }
    }
    
  3. To init the dependencies, run go mod init myapp && go mod tidy.

  4. To start the application, run go run main.go serve.

  5. To build a statically linked executable, you can run CGO_ENABLED=0 go build and then start the created executable with ./myapp serve.

For more details please refer to Extend with Go.

Building and running the repo main.go example

To build the minimal standalone executable, like the prebuilt ones in the releases page, you can simply run go build inside the examples/base directory:

  1. Install Go 1.27+ (if you haven't already)
  2. Clone/download the repo
  3. Navigate to examples/base
  4. Run CGO_ENABLED=0 go build to build a binary for your current environment (or to target other platforms use GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build; see https://go.dev/doc/install/source#environment)
  5. Start the created executable by running ./base serve.

Note that the supported build targets by the pure Go SQLite driver at the moment are:

GOOSGOARCH
darwinamd64
darwinarm64
freebsd386
freebsdamd64
freebsdarm
freebsdarm64
linux386
linuxamd64
linuxarm
linuxarm64
linuxloong64
linuxppc64le
linuxriscv64
linuxs390x
netbsdamd64
openbsdamd64
openbsdarm64
windows386
windowsamd64
windowsarm64

Testing

PocketBase comes with mixed bag of unit and integration tests. To run them, use the standard go test command:

go test ./...

Check also the Testing guide to learn how to write your own custom application tests.

Security

If you discover a security vulnerability within PocketBase, please send an e-mail to support at pocketbase.io.

You could find more details in the project Security policy.

Contributing

PocketBase is free and open source project licensed under the MIT License. You are free to do whatever you want with it, even offering it as a paid service.

You could help continuing its development by:

Please refrain creating PRs for new features without previously discussing the implementation details. PocketBase has a roadmap and I try to work on issues in specific order and such PRs often come in out of nowhere and skew all initial planning with tedious back-and-forth communication.

Don't get upset if I close your PR, even if it is well executed and tested. This doesn't mean that it will never be merged. Later we can always refer to it and/or take pieces of your implementation when the time comes to work on the issue (don't worry you'll be credited in the release notes).

[!IMPORTANT] Due to recent LLM spam, PRs are temporary disabled and only existing collaborators can open a PR. If you stumble on a problem that you want to fix, please consider instead opening an issue or discussion with link to your fork (if not obvious - LLM contributions are not welcome). This status may change in the future in case GitHub finally decide to do something about the constant spam, or when I find time to move the project somewhere else.

Open the repository ↗