Documentation
Run Railbase. Ship plugins.
Railbase is a single Go binary you self-host. Plugins are paid subscriptions you buy and install at runtime from the built-in marketplace — no rebuilds, no third-party code. These guides take you from download to production.
For AI agents: llms.txt · llms-full.txt — every page here is also raw Markdown (the Copy Markdown button, or append .md under /learn/).
Getting Started
Why Railbase
Railbase vs PocketBase
The same single-binary, self-hosted simplicity as PocketBase — plus commercial business modules you install at runtime.
A self-hosted Supabase alternative
Trade a multi-container Postgres stack for one self-hosted binary — with auth, realtime, tenancy and business modules included.
A self-hosted Firebase alternative
Own your data on your own server instead of a proprietary Google cloud — with the app-backend essentials and business modules built in.
Railbase vs Retool
Retool builds internal UIs over data you already have; Railbase is the self-hosted backend itself — and ships business apps too.
Core Concepts
Architecture
VideoThe core, out-of-process plugins, the vault data store, and the marketplace.
How plugins work
VideoPull-only acquisition, signed artifacts, verification, and the subprocess runtime.
Licensing & seats
VideoPer-seat pricing by billable role, signed license tokens, expiry, and revocation.
Data & multi-tenancy
VideoThe single-file vault store, collections, and the file-per-tenant model.
Building with Railbase
Project setup
VideoScaffold a Railbase app, understand the layout, and run the dev loop.
Defining your schema
VideoDeclare collections, fields, relations, and access rules with the Go DSL.
Migrations
VideoTurn schema changes into versioned migrations and apply them.
The REST API
VideoAuto-generated CRUD endpoints with filtering, sorting, expansion, and paging.
Authentication & identity
VideoAuth collections, passwords, OAuth, API tokens, and RBAC roles.
Realtime
VideoSubscribe to record changes over WebSocket or SSE.
TypeScript SDK
VideoGenerate a fully-typed client for your collections, auth, and realtime.
Hooks & custom logic
VideoRun server-side logic on record events — in JavaScript or Go.
Jobs & cron
VideoRun background work and scheduled tasks with the built-in queue.
The UI kit
VideoUse Railbase's shadcn-style component kit in your own frontend.
Building plugins
VideoHow plugins are structured, registered, and distributed (advanced).
UI Components
Accordion
A vertically stacked set of headings that each reveal a section of content.
Alert
A callout for drawing attention to a short, important message.
Alert Dialog
A modal dialog that interrupts the user with an important confirmation.
Aspect Ratio
Constrains its content to a fixed width-to-height ratio.
Avatar
An image element with a text fallback for a user or entity.
Badge
A small label for status, counts, or categories.
Breadcrumb
Shows the path to the current page in a hierarchy.
Button
A clickable button with variants and sizes; also exposes `buttonVariants` for styling links.
Calendar
A date-field calendar for selecting single dates or ranges.
Card
A surface that groups related content and actions.
Carousel
A slideshow for cycling through images or cards (embla-carousel).
Chart
A set of composable chart components (bar, line, area, pie, …) with tooltips and legends.
Checkbox
A control that toggles between checked and unchecked.
Collapsible
An interactive section that expands and collapses its content.
Combobox
An autocomplete input — a Popover wrapping a Command list (composed, not a single tag).
Command
A fast, composable command menu / command palette.
Context Menu
A menu shown on right-click of an element.
Drawer
A panel that slides in from an edge of the screen.
Dropdown Menu
A menu of actions or options triggered by a button.
Form
Accessible form fields with labels, descriptions, and validation messages.
Hover Card
A card that appears when hovering over a trigger (for previews).
Input
A single-line text input.
Input OTP
A segmented input for one-time passcodes.
Item
A flexible list-row layout: media, content, and actions with variants.
Label
An accessible label associated with a form control.
Menubar
A desktop-style menu bar with menus, items, and submenus.
Navigation Menu
A site navigation menu with dropdown content panels.
Pagination
Page navigation with previous/next and page links.
Password
A password input with strength scoring and a generator (Zod schema included).
Phone
An international phone input with country detection and E.164 output.
Popover
Floating content anchored to a trigger.
Progress
A horizontal progress bar.
QDatatable
Railbase's schema-driven data table — search, sort, paginate, select, and export over a collection.
QEditableForm
A schema-agnostic record form with a create mode (edit all fields) and an edit mode (per-field click-to-edit).
QEditableList
An inline-editable list with add/remove rows and a searchable combobox picker.
Radio Group
A set of mutually-exclusive radio options.
Resizable
Resizable, draggable panel layouts.
Scroll Area
A scrollable region with styled scrollbars.
Select
A dropdown for choosing one option from a list.
Separator
A visual divider between content.
Sheet
A dialog that slides in from a screen edge (side drawer).
Sidebar
A full application sidebar system: provider, collapsible rail, groups, and menus.
Skeleton
A placeholder shimmer shown while content loads.
Slider
A draggable control for selecting a value from a range.
Sonner
Toast notifications — mount `<Toaster />` once, then call `toast()` anywhere.
Switch
An on/off toggle.
Table
A semantic data table with header, body, and footer parts.
Tabs
Layered sections of content shown one panel at a time.
Textarea
A multi-line text input.
Toaster
The toast host/region. Mount once; trigger with `toast()`.
Toggle
A two-state button that can be on or off.
Toggle Group
A set of toggles where one or several can be active.
Tooltip
A small popup label shown on hover or focus.
Using the Admin
The admin console
VideoSign in, find your way around, and the three working areas of the UI.
Managing data
VideoBrowse and edit collections and records, filter, and import/export.
Users & access
VideoManage users, roles, admins, API tokens, and auth methods from the UI.
Operating from the admin
VideoAudit timeline, health, backups, mailer, and other day-two screens.
Guides
Installing plugins
VideoAdd a plugin to a self-hosted build today, plus the hosted marketplace flow.
Managing billing
VideoView licenses, change seats or cycle, and cancel — from the app or your account.
Updating
VideoUpdate plugins and Railbase itself in one click, and how version compatibility is enforced.