BalenaOS loves Coder


Pueees tengo un Raspberry 3 que ha sobrevivido como vikingo a mis experimentos; ahí tenía varios servicios corriendo en contenedores, salió Fedora 42 y pensé, momento de actualizar y probar, pero, al estar grabando la imagen con balenaEtcher al SD recordé que existe balenaOS, un sistema operativo ligero hecho para correr contenedores al estilo Docker (Docker optimizado para IoT), entonces me pregunté ¿ why not? …
[Confesiones: me molesta el desorden de archivos, por eso odio poquito Node.js y toda su basura, y comienzo a ver a Golang con ojos de amor 🥰; se supone debería estar practicando algoritmos con Python y SQL, pero no, aquí estamos, intentando crear un workspace remoto usando Coder, BalenaOS y Docker… ]
En fin, la cosa es sencilla: si lo quieren replicar, primero se crean una cuenta en balena.io, crean su organización, siguiente siguiente shalala … ponen add device y ponen su dispositivo, la versión del OS, modo developer, si lo usarán en WIFI pues ponen su SSID y su contraseña para que se conecte en automático en modo headless, y descargan la imagen, ponen su microSD, la formatean y después escriben la imagen con su programa favorito, aunque ya que estamos aquí usen balenaEtcher.
Ya con su dispositivo encendido y conectado al wifi deben descargar el CLI de balena e instalarlo e inician sesión con:
balena login # Se abre el navegador y pues ponen sus credenciales y listo.
Después para detectar su dispositivo usan:
balena device list # Esto les dará la información desu dispositivo nomás pa saber.
En la instrucción anterior les dará el UUID, por ejemplo ft4hru3o o algo así, con ese harán muchas cosas, por ejemplo activar el local mode que es importante para pushear contenedores:
balena device local-mode fb5e2ad --enable # Activar local mode, ahi dice ps xd
Es importante también conocer la IP de su dispositivo, si mDNS no esta funcionando o les da lata (si ping ft4hru3o.local no funciona o así) pues lo pueden buscar con netstat -a o desde su router o así, mil formas, imaginemos que la IP local de mi dispositivo es 192.168.1.69.
Entonces hacemos un
git push https://github.com/rigelcarbajal/balenacoder.git && cd balenacoder
y una vez dentro del directorio hacemos
balena push 192.168.1.69 # A nuestro raspberry o donde hallan instalado esto.
Les dejo la pagina oficial del instalador de Coder pero les comento que ese docker-compose NO es compatible con balenaOS, por eso subo las instrucciones de arriba que a mi me han funcionado bien.
Acceden usando la IP o el hostname de su dispositivo, en mi caso sería 192.168.1.69:7080, crean su cuenta local con correo y contraseña y listo, pueden comenzar a jugar.
Pueden usar un contenedor de nginx para hacer un reverse proxy al puerto 80 y exponerlo desde la plataforma de balena.io para que puedan acceder desde cualquier sitio a su workspace de Coder. Según leí, solo se puede usar el puerto 80 con balena, por eso usar nginx.
—
Sources:
Subscribe to my newsletter
Read articles from Rigel Carbajal directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Rigel Carbajal
Rigel Carbajal
¡Hola! Soy Rigel, ingeniero en sistemas, amante de la tecnología, los datos y un buen café. 🚀 Siempre aprendiendo y listo para el próximo reto. 🤓