Deploy NocoDB Airtable Alternative
NocoDB 2026.07 with Postgres 17, bases and attachments on volumes
nocodb
Just deployed
/usr/app/data
postgres
Just deployed
/var/lib/postgresql/data
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.07 with its own PostgreSQL 17 metadata database on a persistent volume.
About Hosting NocoDB
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.
This template sets NC_DB to a dedicated PostgreSQL 17 service over Railway's private network from first boot, with Postgres storing its data on a mounted volume. A second volume is mounted 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.
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.
- Bases survive redeploys — Postgres metadata store on a volume instead of container-local SQLite.
- Attachments persist too — a separate volume at
/usr/app/dataholds uploaded files. - Stable auth secret — sessions and API tokens keep working across restarts.
- Correct public URL —
NC_PUBLIC_URLbound to your Railway domain so shared views and form links resolve. - No per-editor pricing — invite as many collaborators as you want on flat infrastructure cost.
Common Use Cases
- Internal admin panel — give your team a safe spreadsheet UI over a production database.
- Lightweight CRM or tracker — build a pipeline, inventory, or content calendar with kanban and form views.
- Instant REST API — expose tables to your app through NocoDB's generated API and tokens.
Dependencies for NocoDB Hosting
- A PostgreSQL 17 service with a volume mounted at
/var/lib/postgresql/data(included in this template). - A volume mounted at
/usr/app/datafor attachments (included in this template). - Optionally, an external database you want to browse and edit through NocoDB.
Deployment Dependencies
- NocoDB — upstream project (AGPL-3.0)
- NocoDB documentation — environment variables, views, and API reference
- nocodb/nocodb — the image this template deploys
Implementation Details
Two services on Railway's private network:
| Service | Image | Volume | Public |
|---|---|---|---|
nocodb | nocodb/nocodb:2026.07.0 | /usr/app/data | yes |
postgres | postgres:17.10-trixie | /var/lib/postgresql/data | no |
Confirm the app is serving:
curl https:///api/v1/health
Open your public domain and create the first admin account — whoever signs up first becomes the super admin, so do this immediately after deploying. From there, create a base to store data in NocoDB itself, or choose "Connect external data source" to build views over a database you already have.
The bundled Postgres is NocoDB's metadata store. Keeping your business data in a separate external source is the cleaner arrangement if you already run one.
Template Content
nocodb
nocodb/nocodb:2026.07.0PORT
NC_DISABLE_TELE
postgres
postgres:17.10-trixiePGDATA
POSTGRES_DB
POSTGRES_USER