Acknowledgments
Almost nothing here is original. voidbase is one idea, that PocketBase's API could run on Cloudflare, resting on a great deal of work other people did first and gave away. This site is a fork of theirs, and the section below says exactly how much of it we kept.
Who builds voidbase
voidbase is built by Saastemly. Everything below is what we build on, and nobody on those lists works on this or has approved it.
PocketBase
PocketBase is Gani Georgiev's, MIT licensed, and it is the reason this project exists. voidbase reimplements its HTTP API, its filter and rule language, its email templates and its JavaScript hook surface.
Two pieces of it are not reimplemented at all. They are PocketBase's own code, running as they were written, and they are what makes the compatibility real rather than claimed.
- The admin panelMITServed at
/_/on every voidbase instance. It is PocketBase's own prebuiltui/dist, copied in from a pinned release and unmodified. We did not write a line of it and have not changed one, so when the panel asks voidbase for something it cannot answer, that is our bug rather than the panel's. - The JavaScript SDKMITWe ship no client of our own. Our documentation points at theirs, because it works against a voidbase instance unchanged, and the day it stops doing so we have broken something rather than they have.
- The Dart SDKMITThe same, for Flutter. Also theirs, also unchanged, and the reason a mobile app written against PocketBase can be pointed at voidbase by editing one address.
This website is a fork of PocketBase's. Not an homage to it and not a design inspired by it: the site you are reading started as pocketbase/site and still carries its layout, its stylesheets and its components. The landing page is the clearest evidence of that and we would rather point at it than hope nobody notices. What has changed since is the framework, because it was ported from Svelte to React and refactored more than once, and the documentation, which is written from scratch because none of it would have been true otherwise.
Copyright (c) 2022 - present, Gani Georgiev, under the MIT licence. The same person wrote the backend we reimplement and the site we forked, which is worth saying in one sentence rather than two paragraphs apart.
voidbase is not affiliated with or endorsed by the PocketBase project. If a single machine suits you, run PocketBase: it is faster, older and better proven, and we say so on the page that compares them.
Void and Cloudflare
Void is what turns a voidbase project into a Worker and deploys it, and it is what this site is built with. The parts of it we lean on hardest are the ones that were shipped while we were building on them.
Cloudflare is the platform underneath: Workers, D1, R2, Durable Objects and Workers AI. A backend that costs nothing until it has users is their achievement rather than ours, and the argument for voidbase mostly reduces to getting out of the way of it.
The Omarchy plugin marketplace
omarchy-plugin-marketplace worked out how to run a community marketplace without accounts, uploads or a place to host other people's code: a submission is a GitHub issue, an automated pass reports on the repository before anyone decides, an explicit maintainer approval is what publishes it, and the registry is a file in the repository rather than rows in a database.
The voidbase marketplace is a much smaller version of that idea and none of their code is in it, but the shape is theirs and it saved us from designing a worse one.
What the server is made of
Runtime dependencies, from the package's NOTICE file.
- HonoMITThe router every request goes through.
- cordisMITThe plugin kernel: services, dependency injection and the lifetime of a plugin, from the people behind Koishi.
- cosmokitMITThe utilities cordis is built on.
- Standard SchemaMITThe specification cordis validates plugin configuration against.
- fflateMITZip and unzip, for backups and for the admin panel inside the executable.
- PhotonApache-2.0Image processing compiled to WebAssembly, by Silvia O'Dwyer, which is what generates thumbnails. Packaged as @cf-wasm/photon.
- SimpleWebAuthnMITPasskey registration and verification on the server.
- bcryptjsMITPassword hashing.
What this site is made of
Everything above, plus the pieces that only the site uses.
- ReactMITThe pages you are reading.
- ViteMITThe build, through Void's plugin.
- SassMITThe stylesheets.
- Remix IconApache-2.0Every icon on this site, including the ones in the sidebar.
- Source Sans ProSIL OFL 1.1The typeface this sentence is set in, by Paul D. Hunt for Adobe.
- Ubuntu MonoUbuntu Font LicenceEvery command and code block.
- Gopher artworkThe gopher on the landing page, drawn by Marcus Olsson, from the original by Renee French.
And everyone who reports something
A backend gets trustworthy by being used in ways nobody designed for and having the results reported back. If you have opened an issue, corrected a page, or told us a number on the comparison pages was wrong, that is the contribution this project needs most and the one it is least able to make on its own. How to contribute is the short version of why.
Fix it yourself. The link below opens this file in GitHub's editor and forks the repository for you if you need one, and your change becomes a pull request without leaving the browser.