Host Your Own NoCode Airtable Alternative with NocoDB
A brief guide to hosting your own nocode Airtable alternative with NocoDB on Railway.
What is NocoDB?
NocoDB is a "no-code" platform that converts popular relational databases into smart spreadsheets. Like Airtable, but open source. The self-hosted version currently supports MySQL, PostgreSQL, Microsoft SQL Server and SQLite, while the NocoDB Cloud also supports Amazon Aurora, MariaDB, Google BigQuery, Snowflake and Oracle databases. You can create grid/gallery/form/kanban views of your data, search/sort/filter columns and rows, collaborate with team members just like Google Sheets, and integrate with common business tools like Slack, Teams and email. With NocoDB, even non-developers and business users can rich spreadsheet-based interfaces.
What is Railway?
Railway is a modern app hosting platform that makes it easy to deploy production-ready apps quickly. Railway offers persistent database services for PostgreSQL, MySQL, MongoDB, and Redis, as well as application services with a GitHub repository as the deployment source. For the latter, Railway can automatically determine the application runtime and deploy the service. Railway offers several one-click starters for popular applications, including NocoDB. Since we are just testing the waters, Railway's free tier should be sufficient to host the service.
Deploy NocoDB using One-Click Starter on Railway
Sign up for an account with Railway using GitHub, and click
Authorize Railway App when redirected. Review and agree to Railway's Terms of Service and Fair Use Policy if prompted. Launch the NocoDB one-click starter template (or click the button below) to deploy NocoDB instantly on Railway.
You'll be given an opportunity to change the default repository name and set it private, if you'd like. Accept the defaults and click
Deploy; the deployment will kick off immediately.
Once the deployment completes, NocoDB will be available at a default
xxx.up.railway.app domain - click on this URL to access your instance. If you are interested in setting up a custom domain, I covered it at length in a previous post - see the final section here.
Configure NocoDB and Connect Your Data Source
The NocoDB instance launches with a sign-up page for the super administrator. Provide the email and password, and click
Once you login, you'll see an empty dashboard. Create a
New Project to get started. Provide the
Project name and click
The Railway NocoDB template creates and connects to a Postgres database instance by default. You can connect to a different database by clicking
Team & Settings >
Data Sources >
New, and selecting the database type to connect.
Next, create a table manually, or import directly from Airtable, Microsoft Excel, or a CSV/JSON file. Once your data is in NocoDB, you can create different views - grid, gallery, form or kanban - to visualise the information. As an example, I downloaded a dataset of approximately 2000 podcasts from here, imported it as a CSV file, and created different views. Here is a sample grid view of the podcasts.
Here is a sample gallery view instead.
And here is a sample form view.