Docker - Budibase Low-code Platform Container Setup


When I heard that my employer was using the no-code platform Betty Blocks my interest was piqued. Although I like to write code with, for example, C# or javascript, the visual nature of no-code/low-code platforms appeals to me.

So it was time to start experimenting with these kinds of platforms. I started at Betty Blocks and unfortunately found out that Betty Blocks focuses entirely on enterprise users. For example, a trial account requires a business email and company size. Furthermore, it is not open source or has a self-hosted community edition, for example a docker image. I ran into the same problem with Mendix and other products. After some searching I finally came across Budibase. And it looks promising!

I am very curious whether it will be possible to build a nice and simple web application with Budibase that can replace the -not very complicated- stats and graphs from Grafana and also whether a number of buttons can communicate with Home Assistant and Homey. Despite the fact that you can already build very nice dashboards with Home Assistant and link them to various sources, I think it would be fun to try this out with Budibase.

Installation

Here I describe the installation of the Docker Budibase container. I run this Docker container on a Ubuntu VM that runs via [[ Proxmox VE ]]. I perform the following on the CLI.

Docker pull command:

docker pull budibase/budibase

Within my home folder I have created a Docker folder where I create a subfolder for each container:

cd ~
mkdir -p docker/budibase
cd docker/budibase

Also create folders where the data can be stored:

mkdir data

Now create a shell script with Nano:

sudo nano budibase_run.sh

With this shell script we are going to create the container. Copy the following into budibase_run.sh:

docker run -d -t \
  --name=budibase \
  --hostname=budibase \
  -p 10000:80 \
  -v $PWD/data:/data \
  -e TZ=Europe/Amsterdam \
  -e REDIS_PASSWORD="budibase" \
  --restart unless-stopped \ 
budibase/budibase:latest

If necessary, adjust the following:

-p 10000:80
Choose a port that is still available. Check this with netstat

-v $PWD/data:/data
Choose the location for the data. In this example it is the data map we created

-e TZ=Europe/Amsterdam
Pick the right timezone

-e REDIS_PASSWORD=”budibase”
Choose your Redis password. At the time of writing, the container will not start properly if this environment variable is not passed

Here you can read the documentation and about other environment variables you can set. Environment variables which are not set will automatically be pre-seeded with UUIDs .

Exit Nano with CTRL-X and save the changes.

Start the container:

sudo sh budibase_run.sh

Check if the container is running properly.

Using Budibase

Budibase can now be accessed via the following URL:

http://<IP DOCKER HOST>:10000/

If you want to change the pre-seeded values of, for example the MINIO_ACCESS_KEY and MINIO_SECRET_KEY or COUCHDB_USER and COUCHDB_PASSWORD you will need to update them in the hidden .env file located in the data map.

See also my notes about updating containers with Portainer or via the CLI. With Synology’s Docker Application, updating a container is also very easy.


Read other notes

Comments

    No comments found for this note.

    Join the discussion for this note on this ticket. Comments appear on this page instantly.

    Tags


    Notes mentioning this note


    Notes Graph