Deploy NocoDB 2026.08 | Airtable Alternative No Stranger Can Claim
Airtable alternative whose admin account cannot be claimed by a stranger
Just deployed
/usr/app/data
postgres
Just deployed
/var/lib/postgresql
Deploy and Host NocoDB on Railway
NocoDB is the open-source Airtable alternative: turn any database into a spreadsheet-style interface with grid, gallery, kanban, and form views, plus a REST API generated for every table. This template deploys NocoDB 2026.08 with its own PostgreSQL 17 metadata database on a persistent volume — and, unlike a stock deploy, with the admin account already claimed and public signup already closed.
About Hosting NocoDB
A stock NocoDB instance hands super-admin rights to the first person who signs up. POST /api/v1/auth/user/signup needs no authentication, and the first account ever created gets roles: super — so on a public Railway URL, every second between the domain going live and the deployer finishing the signup form is a window a stranger can walk through. Seeding an admin is only half a fix: the switch that closes public signup, invite_only_signup, defaults to false, lives in the metadata database rather than in any environment variable, and is only reachable through an authenticated API call once the server is running.
This template's image starts NocoDB on a loopback-only port first, signs in as the seeded admin, closes public signup, verifies the setting stuck, and only then binds the public port. The first request the Railway URL ever serves is therefore against an instance that already belongs to the deployer. It also refuses to boot if the admin password is empty, rather than starting an instance anyone could claim.
NocoDB stores two distinct things, and conflating them is what breaks most self-hosted deployments. Its metadata — bases, views, filters, users, shared links, and API tokens — lives in the database named by NC_DB. Left unset, that defaults to SQLite inside the container, which on Railway means every base and every user account is discarded on redeploy. Here NC_DB points at a dedicated PostgreSQL 17 service over Railway's private network from first boot, with Postgres on its own volume, and a second volume at /usr/app/data for file-type cell attachments, which are written to disk rather than to the database. NC_AUTH_JWT_SECRET is generated once and pinned — rotating it invalidates every issued session and API token.
Beyond its own metadata, NocoDB can connect external data sources: point it at a Postgres, MySQL, or SQL Server you already run and it will build a spreadsheet UI over your existing tables without copying them.
Common Use Cases
- Internal tools and trackers — CRM pipelines, inventory, applicant tracking, content calendars, built as spreadsheets by people who do not write SQL.
- A UI over a database you already have — connect an existing Postgres or MySQL and give non-technical teammates safe, view-scoped access to it.
- An instant REST API — every table gets generated endpoints and API tokens, so a spreadsheet doubles as a backend for a prototype or an automation.
Dependencies for NocoDB Hosting
- PostgreSQL 17 (included in this template, on a volume)
- A persistent volume for attachments at
/usr/app/data
Deployment Dependencies
Implementation Details
First login: admin@nocodb.local with the generated NC_ADMIN_PASSWORD shown on the nocodb service. Change it, then invite teammates from inside the app — public signup is closed on purpose. To reopen it, set invite_only_signup back to false in the app's settings as super admin.
Why Deploy NocoDB on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying NocoDB on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
- Nobody else can claim your instance — the admin is seeded and signup closed before the public port opens, verified as
400 Not allowed to signupon the first anonymous request and again after a redeploy. - Bases survive redeploys — Postgres metadata store on a volume instead of container-local SQLite.
- Attachments persist too — a volume at
/usr/app/dataholds uploaded files and thumbnails, on the same service that writes them. - Version pinned — NocoDB 2026.08.0 with automatic image updates off, because its metadata migrations only run forward.
- Nothing to fill in — every variable is generated for you; the deploy form opens with no required blanks.
Template Content