Baserow: A No Code, Open Source Alternative to Airtable
The other day, I was looking to install Airtable on Linux, a hybrid database/spreadsheet service great for quickly building applications. Much to my frustration, there was no Linux client for the well-known service. Whatever was I to do?
Given I use Linux as my primary operating system, I knew there had to be an alternative. And since Docker never fails to simplify the deployment of what could otherwise be a complicated installation and setup.
So, I set out to find that alternative. My journey led me to an app called Baserow.
Baserow includes all the features I needed for an Airtable-like system, such as a user-friendly interface, collaboration and integration (with apps/services such as Slack and Zapier), and plenty of advanced features, such as complex formulas and functions, task automation with workflows and webhooks, import/export, and more.
Even better, by deploying Baserow to your own network, you have complete control over the privacy and security of your data.
If this sounds like something you (or your teams) could use, read on and find out how easy it is to deploy Baserow.
What You Need
To follow along with this tutorial, you’ll need a server with an operating system that supports Docker. I’ll demonstrate this on Ubuntu Server 22.04. If you use a different OS, you’ll need to alter the Docker installation process to match your platform of choice.
That’s it. Let’s dig in and deploy.
Install Docker
Because I like to walk through the entire process (and not assume you already have part X/Y/Z already installed and ready), let’s first walk through the steps for installing Docker on your server.
Here we go.
To begin, you must download and install the required Docker GPG key, which can be done with the command:
|
1 |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg |
After that is taken care of, you must then add the official Docker repository. The command to add the necessary repository is:
|
1 |
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
Before we can install Docker, we must install a few simple dependencies with the following command:
|
1 |
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y |
Next, update apt:
|
1 |
sudo apt-get update |
Docker CE (Community Edition) can now be installed with the command:
|
1 |
sudo apt-get install docker-ce docker-ce-cli containerd.io -y |
Now that Docker is installed, you must add your user to the docker group. If you skip this step, you’ll have to use sudo to work with Docker, which can lead to serious security issues with your deployments. To add your user to the group, run the command:
|
1 |
sudo usermod -aG docker $USER |
Finally, log out and log back in for the changes to take effect.
Once you’ve logged back in, verify everything works by listing Docker containers with the command:
|
1 |
docker ps |
The only thing you should see in the output is:
|
1 |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS |
There should be nothing listed in any of the columns.
You’re now ready to deploy Baserow.
Deploying Baserow with Docker
The deployment of Baserow can be taken care of with a single command, which is:
|
1 |
docker run -d --name baserow -e BASEROW_PUBLIC_URL=<a href="http://192.168.1.227">http://</a>SERVER -v baserow_data:/baserow/data -p 80:80 --restart unless-stopped baserow/baserow:latest |
Where SERVER is either the IP address or domain of the hosting server.
If you’ve ever deployed a Docker container, the above command should be instantly familiar. However, the one thing you should understand is the BASEROW_PUBLIC_URL option. If you don’t include that option, you won’t be able to access Baserow. You can set that to either the IP address or domain of the hosting server. If you go the domain route (so you can access it from outside your LAN), you’ll need to make sure your network hardware points the domain to the IP of the Baserow server.
Also, if that server is already using port 80, you’ll want to change 80:80 to something like 8081:80. Just make sure the first port in that pair is available on your server, otherwise the deployment will fail.
Accessing Baserow
Open a web browser and point it to http://SERVER (where SERVER is either the IP address or domain of the hosting server). If you used an external port other than 80, make sure to add that to the address, such as http://SERVER:8081.
You’ll be greeted by the Baserow sign-up page (Figure 1).
-

Figure 1: You must create an admin user before you can continue.
Click Sign up and then you’ll be presented with the Baserow login window. Log in with the newly created admin user credentials, and Baserow is ready to serve (Figure 2).

Figure 2.
Congratulations, you now have an Airtable-alternative that can be accessed from anywhere on your LAN. Hopefully, this tool will serve you as well as it is me.