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
Tags
Notes mentioning this note
- Docker - Smartmeter2mqtt Container Setup with Webserver and Webrequest Output
Smartmeter2mqtt is an application that parses smartmeter data over the network or a P1 cable, I use it in combination...
- P1 reader - Save Data From Smartmeter2mqtt with n8n to QuestDB
Here I describe how to create a n8n flow that receives parsed P1 reader data from Smartmeter2mqtt and then how...
Comments
No comments found for this note.
Join the discussion for this note on this ticket. Comments appear on this page instantly.