# Railbase > Railbase is a self-hosted backend platform that ships as a single binary: authentication, an embedded single-file NoSQL document store (Vault), REST auto-CRUD APIs, realtime subscriptions, multi-tenancy, RBAC, file storage, scheduled jobs, i18n and an admin console — with no external database to operate. Commercial business plugins (helpdesk, inventory, accounting, CMS, document translation and more) install at runtime from a built-in marketplace as signed, licensed artifacts. The core is free to download and run on Linux, macOS and Windows; plugins are per-seat licenses. Key pages: [download](https://railbase.app/en/download) · [plugin catalog](https://railbase.app/en/plugins) · [changelog](https://railbase.app/en/changelog) · [docs](https://railbase.app/en/learn) Every documentation page below is raw Markdown; the human version of `https://railbase.app/learn/.md` lives at `https://railbase.app/en/learn/`. The full corpus in one file: https://railbase.app/llms-full.txt ## Getting Started - [Introduction](https://railbase.app/learn/introduction.md): What Railbase is, how plugins are sold, and where railbase.app fits in. - [Quickstart](https://railbase.app/learn/quickstart.md): Download, run, create an admin, and install your first plugin. - [Installation](https://railbase.app/learn/installation.md): Platforms, the binary, flags, and the on-disk layout. ## Why Railbase - [Railbase vs PocketBase](https://railbase.app/learn/pocketbase-alternative.md): The same single-binary, self-hosted simplicity as PocketBase — plus commercial business modules you install at runtime. - [A self-hosted Supabase alternative](https://railbase.app/learn/supabase-alternative.md): Trade a multi-container Postgres stack for one self-hosted binary — with auth, realtime, tenancy and business modules included. - [A self-hosted Firebase alternative](https://railbase.app/learn/firebase-alternative.md): 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](https://railbase.app/learn/retool-alternative.md): Retool builds internal UIs over data you already have; Railbase is the self-hosted backend itself — and ships business apps too. ## Core Concepts - [Architecture](https://railbase.app/learn/architecture.md): The core, out-of-process plugins, the vault data store, and the marketplace. - [How plugins work](https://railbase.app/learn/how-plugins-work.md): Pull-only acquisition, signed artifacts, verification, and the subprocess runtime. - [Licensing & seats](https://railbase.app/learn/licensing-and-seats.md): Per-seat pricing by billable role, signed license tokens, expiry, and revocation. - [Data & multi-tenancy](https://railbase.app/learn/data-and-tenancy.md): The single-file vault store, collections, and the file-per-tenant model. ## Building with Railbase - [Project setup](https://railbase.app/learn/project-setup.md): Scaffold a Railbase app, understand the layout, and run the dev loop. - [Defining your schema](https://railbase.app/learn/schema.md): Declare collections, fields, relations, and access rules with the Go DSL. - [Migrations](https://railbase.app/learn/migrations.md): Turn schema changes into versioned migrations and apply them. - [The REST API](https://railbase.app/learn/rest-api.md): Auto-generated CRUD endpoints with filtering, sorting, expansion, and paging. - [Authentication & identity](https://railbase.app/learn/authentication.md): Auth collections, passwords, OAuth, API tokens, and RBAC roles. - [Realtime](https://railbase.app/learn/realtime.md): Subscribe to record changes over WebSocket or SSE. - [TypeScript SDK](https://railbase.app/learn/typescript-sdk.md): Generate a fully-typed client for your collections, auth, and realtime. - [Hooks & custom logic](https://railbase.app/learn/hooks.md): Run server-side logic on record events — in JavaScript or Go. - [Jobs & cron](https://railbase.app/learn/jobs-and-cron.md): Run background work and scheduled tasks with the built-in queue. - [The UI kit](https://railbase.app/learn/ui-kit.md): Use Railbase's shadcn-style component kit in your own frontend. - [Building plugins](https://railbase.app/learn/building-plugins.md): How plugins are structured, registered, and distributed (advanced). ## Using the Admin - [The admin console](https://railbase.app/learn/admin-overview.md): Sign in, find your way around, and the three working areas of the UI. - [Managing data](https://railbase.app/learn/managing-data.md): Browse and edit collections and records, filter, and import/export. - [Users & access](https://railbase.app/learn/users-and-access.md): Manage users, roles, admins, API tokens, and auth methods from the UI. - [Operating from the admin](https://railbase.app/learn/operations.md): Audit timeline, health, backups, mailer, and other day-two screens. ## Guides - [Installing plugins](https://railbase.app/learn/installing-plugins.md): Add a plugin to a self-hosted build today, plus the hosted marketplace flow. - [Managing billing](https://railbase.app/learn/managing-billing.md): View licenses, change seats or cycle, and cancel — from the app or your account. - [Updating](https://railbase.app/learn/updating.md): Update plugins and Railbase itself in one click, and how version compatibility is enforced. ## Self-Hosting - [Deploying to production](https://railbase.app/learn/deployment.md): Run Railbase on a VPS behind a reverse proxy, with TLS and systemd. - [Backups & restore](https://railbase.app/learn/backups-and-restore.md): Snapshot the vault, restore from a snapshot, and snapshot before risky changes. - [Security hardening](https://railbase.app/learn/security.md): Vault secrets, admin 2FA, the pinned vendor key, and limiting exposure. ## Reference - [CLI reference](https://railbase.app/learn/cli.md): The commands you'll use to run, administer, and back up Railbase. - [Environment variables](https://railbase.app/learn/environment-variables.md): The configuration variables an operator sets in production. - [Troubleshooting](https://railbase.app/learn/troubleshooting.md): Fixes for the issues operators hit most often. ## Optional - [Accordion](https://railbase.app/learn/ui-accordion.md): A vertically stacked set of headings that each reveal a section of content. - [Alert](https://railbase.app/learn/ui-alert.md): A callout for drawing attention to a short, important message. - [Alert Dialog](https://railbase.app/learn/ui-alert-dialog.md): A modal dialog that interrupts the user with an important confirmation. - [Aspect Ratio](https://railbase.app/learn/ui-aspect-ratio.md): Constrains its content to a fixed width-to-height ratio. - [Avatar](https://railbase.app/learn/ui-avatar.md): An image element with a text fallback for a user or entity. - [Badge](https://railbase.app/learn/ui-badge.md): A small label for status, counts, or categories. - [Breadcrumb](https://railbase.app/learn/ui-breadcrumb.md): Shows the path to the current page in a hierarchy. - [Button](https://railbase.app/learn/ui-button.md): A clickable button with variants and sizes; also exposes `buttonVariants` for styling links. - [Calendar](https://railbase.app/learn/ui-calendar.md): A date-field calendar for selecting single dates or ranges. - [Card](https://railbase.app/learn/ui-card.md): A surface that groups related content and actions. - [Carousel](https://railbase.app/learn/ui-carousel.md): A slideshow for cycling through images or cards (embla-carousel). - [Chart](https://railbase.app/learn/ui-chart.md): A set of composable chart components (bar, line, area, pie, …) with tooltips and legends. - [Checkbox](https://railbase.app/learn/ui-checkbox.md): A control that toggles between checked and unchecked. - [Collapsible](https://railbase.app/learn/ui-collapsible.md): An interactive section that expands and collapses its content. - [Combobox](https://railbase.app/learn/ui-combobox.md): An autocomplete input — a Popover wrapping a Command list (composed, not a single tag). - [Command](https://railbase.app/learn/ui-command.md): A fast, composable command menu / command palette. - [Context Menu](https://railbase.app/learn/ui-context-menu.md): A menu shown on right-click of an element. - [Drawer](https://railbase.app/learn/ui-drawer.md): A panel that slides in from an edge of the screen. - [Dropdown Menu](https://railbase.app/learn/ui-dropdown-menu.md): A menu of actions or options triggered by a button. - [Form](https://railbase.app/learn/ui-form.md): Accessible form fields with labels, descriptions, and validation messages. - [Hover Card](https://railbase.app/learn/ui-hover-card.md): A card that appears when hovering over a trigger (for previews). - [Input](https://railbase.app/learn/ui-input.md): A single-line text input. - [Input OTP](https://railbase.app/learn/ui-input-otp.md): A segmented input for one-time passcodes. - [Item](https://railbase.app/learn/ui-item.md): A flexible list-row layout: media, content, and actions with variants. - [Label](https://railbase.app/learn/ui-label.md): An accessible label associated with a form control. - [Menubar](https://railbase.app/learn/ui-menubar.md): A desktop-style menu bar with menus, items, and submenus. - [Navigation Menu](https://railbase.app/learn/ui-navigation-menu.md): A site navigation menu with dropdown content panels. - [Pagination](https://railbase.app/learn/ui-pagination.md): Page navigation with previous/next and page links. - [Password](https://railbase.app/learn/ui-password.md): A password input with strength scoring and a generator (Zod schema included). - [Phone](https://railbase.app/learn/ui-phone.md): An international phone input with country detection and E.164 output. - [Popover](https://railbase.app/learn/ui-popover.md): Floating content anchored to a trigger. - [Progress](https://railbase.app/learn/ui-progress.md): A horizontal progress bar. - [QDatatable](https://railbase.app/learn/ui-QDatatable.md): Railbase's schema-driven data table — search, sort, paginate, select, and export over a collection. - [QEditableForm](https://railbase.app/learn/ui-QEditableForm.md): A schema-agnostic record form with a create mode (edit all fields) and an edit mode (per-field click-to-edit). - [QEditableList](https://railbase.app/learn/ui-QEditableList.md): An inline-editable list with add/remove rows and a searchable combobox picker. - [Radio Group](https://railbase.app/learn/ui-radio-group.md): A set of mutually-exclusive radio options. - [Resizable](https://railbase.app/learn/ui-resizable.md): Resizable, draggable panel layouts. - [Scroll Area](https://railbase.app/learn/ui-scroll-area.md): A scrollable region with styled scrollbars. - [Select](https://railbase.app/learn/ui-select.md): A dropdown for choosing one option from a list. - [Separator](https://railbase.app/learn/ui-separator.md): A visual divider between content. - [Sheet](https://railbase.app/learn/ui-sheet.md): A dialog that slides in from a screen edge (side drawer). - [Sidebar](https://railbase.app/learn/ui-sidebar.md): A full application sidebar system: provider, collapsible rail, groups, and menus. - [Skeleton](https://railbase.app/learn/ui-skeleton.md): A placeholder shimmer shown while content loads. - [Slider](https://railbase.app/learn/ui-slider.md): A draggable control for selecting a value from a range. - [Sonner](https://railbase.app/learn/ui-sonner.md): Toast notifications — mount `` once, then call `toast()` anywhere. - [Switch](https://railbase.app/learn/ui-switch.md): An on/off toggle. - [Table](https://railbase.app/learn/ui-table.md): A semantic data table with header, body, and footer parts. - [Tabs](https://railbase.app/learn/ui-tabs.md): Layered sections of content shown one panel at a time. - [Textarea](https://railbase.app/learn/ui-textarea.md): A multi-line text input. - [Toaster](https://railbase.app/learn/ui-toaster.md): The toast host/region. Mount once; trigger with `toast()`. - [Toggle](https://railbase.app/learn/ui-toggle.md): A two-state button that can be on or off. - [Toggle Group](https://railbase.app/learn/ui-toggle-group.md): A set of toggles where one or several can be active. - [Tooltip](https://railbase.app/learn/ui-tooltip.md): A small popup label shown on hover or focus.