Hello everybody ,
First I wanted to thanks Balena for their amazing work and this community too for being there and making Balena a great product to work with .
As you can guess, I’m a passionate developer , especially in developing containerised projects on Raspberry Pi so that everybody can use them at home in a very simple way .
My goal here is to prepackage everything so that an end-user (who have never touched a terminal in his life) only need to:
- flash a .img on their Raspberry Pi
- (optionnal) if they want to connect via Wi-Fi, edit a config file available on a boot partition to add their SSID/ password
My project is working with 5 containers / images available on Dockerhub, and the goal is to always pull the latest tag of these images, so that the whole project is updated to the latest version whenever a Raspberry Pi is rebooted .
I can see that, as of today, main options are available to me:
Going with Ubuntu for Raspberry Pi, and using
cloud-initto bootstrap the project (installing Docker / docker-compose, downloading the
docker-compose.yaml, and launching it)
One drawback that I can see, is that Ubuntu is not particularly optimised for containerised apps.
Going with k3os, and using k3os config (
cloud-initlike) to bootstrap the project (apply k8s remote conf).
The OS should be optimised for containerised apps, however, the building of a custom OS image to simply “flash a .img” and get it working does not seems easy .
Going with BalenaOS
Here I need your help to know if it’s possible to modify a balena-os.img to add my
docker-compose.yamlso that an end-user could simply “flash a .img” and get it working.
The goal is also not to be linked to Balena Cloud and/or Open Balena but to just use BalenaOS to run apps on Raspeberry Pis.
Thanks a lot for your time!