Quickstart
Download, run, create an admin, and open the marketplace.
Updated
This guide takes you from nothing to a running Railbase with the in-app marketplace ready for available modules, trials, and purchases. It takes a few minutes and assumes a local machine; production hardening is covered in Deployment.
1. Download the binary
Grab the build for your platform from the download page. It's a single executable — there is nothing else to install. On macOS / Linux, make it runnable:
chmod +x ./railbase
The macOS build is signed and notarized, so it runs with no Gatekeeper prompt.
Prefer a click-install? Use the macOS .pkg from the download page
or brew install railbase/tap/railbase — then run railbase (without the ./).
2. Create the first admin
Seed the first administrator before starting the server. admin bootstrap
is a first-run / recovery seed only — it creates the very first admin and refuses
once any administrator exists. The email is a positional argument; you'll be
prompted for a password (twice). The command creates the data store on first use,
and the vault won't unlock without a password — locally, set RAILBASE_DEV=true
to use the built-in development key:
RAILBASE_DEV=true ./railbase admin bootstrap you@example.com
Note
This is not how you add admins routinely — once you're in, onboard the rest
through the invite flow (admin UI → Users & access → Admins & roles →
Invite, or POST /api/_admin/admins/invite), which sends an auditable single-use link
and lets each admin set their own password. For scripted first-runs,
--password and --no-email carry over.
Important
The vault is a single file opened by one process at a time. Commands that
open it (admin, backup, jobs, …) can't run while serve holds the lock —
they exit with "vault: file is locked by another process". Create the admin
first (as here), or stop the server for a moment. On a running instance you can
also create the first admin from the /_/bootstrap setup wizard instead.
3. Run it
RAILBASE_DEV=true ./railbase serve
With no other flags, Railbase:
- listens on
http://localhost:8095 - keeps its data store in a
pb_data/directory next to the binary — for the./railbaseyou downloaded that's the current directory (./pb_data/railbase.vault); with abrew/.pkginstall it's beside the installed binary, so pass--data-dirto choose a stable location - serves the admin console at
http://localhost:8095/_/
Important
In production you set a real RAILBASE_VAULT_PASSWORD instead of
RAILBASE_DEV=true. A bare serve with neither exits with "no vault
password configured". See Installation.
Tip
Use a different port or data directory with flags: RAILBASE_DEV=true ./railbase serve --addr :9000 --data-dir ./demo. See the CLI reference.
Now open http://localhost:8095/_/ and sign in. (Two-factor authentication
is self-service — enroll it under your account settings once you're in.)
Try it: Sign in to the admin console
- Open the admin console. On a fresh instance you land on the sign-in screen. go to /_/login
- Enter the admin email you just created. type “admin@example.com” into Email
- And the password. type “AdminP@ss123” into Password
- Sign in. click “Sign in”
- And you're in. This is your home base — collections, logs, and settings, all one click away. go to /_/
- Your collections, audit events, and live request rates, all at a glance. hover Collections
4. Open the marketplace
The in-app marketplace is built in and on by default — there's nothing to
enable. Open Marketplace in your admin (/_/) and you're browsing the live
catalogue from railbase.app.
Note
The marketplace always pulls from railbase.app — the catalogue, prices, and checkout are served there. To add a plugin to a build you compile yourself instead, see Installing plugins.
5. Buy or trial an available module
Open the Marketplace and pick a plugin. The flow is entirely in-product:
- Browse — the catalogue, prices, and licence terms are synced live from railbase.app.
- Buy or try free — checkout is embedded right in the page; enter your card in the secure payment form (served by railbase.app; card data never touches your server). Where a plugin offers a trial, Try free starts a time-boxed trial with no card.
- Install — your instance pulls the bundle, verifies it's authentic and
unmodified (sha256 + ed25519), and lands it as an encrypted, license-gated
row in your Vault (
_plugins). It runs in-process in the core's goja runtime — no separate process, no port, no subprocess.
No download, no file to copy, no redeploy. The moment it installs, the plugin's
schema, verbs (/api/<slug>/*) and jobs go live — and its end-user UI is mounted
at /<slug> from the bundle manifest, with no rebuild.
Note
Pricing is a value metric the publisher picks per plugin — per-seat is the default, but a plugin may instead bill a flat company price, a per-host seat, a flat price with a usage allowance, or a custom negotiated deal. See Licensing & seats.
Next steps
- Understand the moving parts in Architecture.
- Learn the full install/update/uninstall flow in Installing plugins.
- Take it to production with Deployment and Backups.