---
title: "Deploy NocoDB | (Just Updated) Airtable Alternative No Stranger Can Claim"
category: "Automation"
url: https://railway.com/deploy/nocodb-202608-or-airtable-alternative-no
---

# Deploy NocoDB | (Just Updated) Airtable Alternative No Stranger Can Claim

**[Deploy NocoDB | (Just Updated) Airtable Alternative No Stranger Can Claim on Railway](https://railway.com/template/nocodb-202608-or-airtable-alternative-no)**

- **Creator:** SuperSlowSloth
- **Category:** Automation

## Template content

### nocodb

- **Image:** ghcr.io/bon5co/nocodb-railway:latest
- **Health check:** /api/v1/health
- **Public domain:** Yes

### postgres

- **Image:** postgres:17.10-trixie

## Documentation

# 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

- [NocoDB documentation](https://docs.nocodb.com/)
- [NocoDB environment variables](https://docs.nocodb.com/getting-started/environment-variables)
- [Wrapper image source](https://github.com/bon5co/nocodb-railway)

### 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 signup` on 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/data` holds 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.


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — [Jul'26] WhatsApp automation platform using Evolution API, n8n & PostgreSQL
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/nocodb-202608-or-airtable-alternative-no
