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.

Source: NocoDB
Source: NocoDB

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.

Source: Railway.app
Source: Railway.app

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.

Deploy 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.

Deploy NocoDB using the one-click starter template
Deploy NocoDB using the one-click starter template

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 Sign Up.

NocoDB super admin
NocoDB super admin 

Once you login, you'll see an empty dashboard. Create a New Project to get started. Provide the Project name and click Create.

NocoDB dashboard
NocoDB dashboard

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.

NocoDB project details
NocoDB project details

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.

NocoDB grid view
NocoDB grid view

Here is a sample gallery view instead.

NocoDB gallery view
NocoDB gallery view

And here is a sample form view.

NocoDB form view
NocoDB form view

Subscribe to alphasec

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe