Host Your Own NoCode Airtable Alternative with Baserow

A brief guide to hosting your own nocode Airtable alternative with Baserow on DigitalOcean.

What is Baserow?

Much like NocoDB, Baserow is an open-source, "no-code" database and Airtable alternative. It offers pre-built components for developing applications, customisation of look-and-feel, collaboration between team members, and a declarative API for integration with external systems. This enables both technical and non-technical users to capture, organise and build logical relationships between data to trigger decisions and automate processes. Baserow can be the backend for web applications, with webhooks to track changes made to data. Baserow offers a cloud-hosted service, but you can also self-host the base version if you don't need the premium features. Let's explore the latter option today.

Source: baserow.io
Source: baserow.io

Install Baserow on a DigitalOcean Droplet

For this walk-through, I'll use DigitalOcean; if you don't have an account, sign up here - you’ll receive a $200, 60-day credit when you add a valid payment method. Set up your team and project, and deploy the Docker 1-Click Droplet from the marketplace. This droplet includes the Docker CE and Docker Compose packages, along with their respective dependencies. In addition to package installation, the droplet also configures Docker according to the official recommendations. Click Create Docker Droplet, select the data center region, the CPU option, an authentication option, the hostname, and click Create Droplet.

Once the droplet is ready, select it and launch the Droplet Console as root from the menu options. Run the following command to start a Baserow server instance. The BASEROW_PUBLIC_URL flag enables external access at <YOUR_DOMAIN>, while the BASEROW_CADDY_ADDRESSES flag enables automatic HTTPS via a pre-configured Caddy reverse proxy server.

docker run \
  -d \
  --name baserow \
  -e BASEROW_PUBLIC_URL=https://<YOUR_DOMAIN> \
  -e BASEROW_CADDY_ADDRESSES=https://<YOUR_DOMAIN> \
  -v baserow_data:/baserow/data \
  -p 80:80 \
  -p 443:443 \
  --restart unless-stopped \
  baserow/baserow:1.14.0

The default configuration installs Postgres and Redis instances on the same container; if you wish to use external instances instead, add the -e DATABASE_URL=postgresql://user:pwd@host:port/db and -e REDIS_URL=redis://user:pwd@host:port flags respectively. See this guide for additional Docker deployment options.

Finally, add the droplet IP as an A record in your DNS registrar corresponding to the <YOUR_DOMAIN> domain configured above. If you don't already own a domain, head over to Cloudflare Registrar or Namecheap and register your domain first.

Configure Baserow and Collaborate with Your Data

Click on the Baserow URL above; the instance launches with a sign-up page for the administrator. Specify the email, name and password, and click Sign up.

Baserow admin signup
Baserow admin signup

Once you sign up and login, you'll see an empty dashboard. You can create groups, and invite team members to collaborate with you.

Baserow initial dashboard
Baserow initial dashboard

Similar to Airtable, Baserow offers several database templates to get you started. Choose one of the built-in templates, or create a new database from scratch, and explore the capabilities.

Baserow templates
Baserow templates

As I played with Baserow, I couldn't help but notice that the base edition was fairly limiting beyond the initial data management use case. While Airtable itself has tremendous capabilities, there are several alternatives, including open-source ones like NocoDB, that offer cool features in the free versions (Baserow has a decent but clearly biased comparison here). Irrespective though, keep Baserow in your shortlist as you explore no-code data management and collaboration platforms.

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