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
Who Railbase is for
Railbase is for growing companies that need private business operations without spreadsheet chaos, SaaS sprawl or a heavy ERP rollout.
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 that runs your business operations — auth, tenancy and value-priced 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 screens over systems you already run; Railbase is the self-hosted business operating platform underneath — the records, workflows and business modules you own.
Solutions
Railbase for Finance
The finance suite direction: one audit-ready ledger with connected subledgers as modules become available.
Railbase for Risk & Compliance
Run risk ownership, compliance alerts and audit-ready reporting on one shared platform you own, with control testing on the roadmap.
Railbase for Document Operations
Give documents, policies and contracts a home with versions, an access log, translation and approvals — on software you own.
Railbase for Procurement & Operations
The procurement and operations suite direction: purchasing, receiving, and approvals on one platform you own.
Railbase for Business Operations
Run company operations on one private platform where identity, documents and approvals are shared across available and planned modules.
Core Concepts
Architecture
VideoThe core, plugins, the vault data store, and the marketplace.
How plugins work
VideoPull-only acquisition, signed artifacts, verification, and the data-resident goja runtime.
Licensing & pricing
VideoValue-based module pricing (company-wide, role seat, usage, tenant/company, custom), signed license tokens, expiry, and revocation.
Data & multi-tenancy
VideoThe single-file vault store, collections, and row-level tenant scoping.
AI in Railbase
What the built-in AI engine is, where it runs, and the rules it follows.
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, run, and distributed (advanced).
Using AI from a plugin
The $app.ai capability surface a plugin uses to generate, reason, retrieve and delegate.
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 and items.
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
A spreadsheet-style editable grid with typed columns and add/remove rows.
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.
The scheduler
Manage recurring cron jobs — scheduled backups, cleanup sweeps, and your own — from the admin.
Connecting a model
Point Railbase at a cloud model, a local server, or a model file on your own hardware.
AI agents and approvals
Let the AI perform declared actions, with an autonomy ladder and a human approval queue.
Guides
Installing plugins
VideoInstall, update, uninstall, and purge marketplace-managed plugins.
Managing billing
VideoView licenses, change seats or cycle, and cancel — from your railbase.app account.
Updating
VideoUpdate plugins and Railbase itself in one click, and how version compatibility is enforced.
The documentation assistant
Ask questions in plain language and get answers grounded in your installed modules' documentation.
Self-Hosting
Trust
SOC 2 & Our Security Program
Where Railbase stands on SOC 2, the controls we run today, our data boundary, and how to report a vulnerability.
Where Your Data Lives
Your records and uploads sit on your own server — here's exactly what that means for outages, expiries, and auditor access.
How Railbase Is Secured
The security model behind Railbase — signed modules, encryption at rest, tenant isolation, and a boundary you control.
Backups and Moving Hosts
Because your records live in one Vault file and uploads live beside it, backups are ordinary file copies — here's what that means for you.
Licenses and Offline Use
How a purchased Railbase business module verifies its license offline, so a network blip never suspends your production instance.
AI privacy and control
Run AI on your own hardware, control what may leave, and audit every AI action.