¿Lanzar una imagen de prueba de Gladys?

Si es solo para fines de prueba (no para desarrollo), es mejor lanzar una imagen Docker « en condiciones reales » en lugar de hacerlo en un entorno de desarrollo (lo que no refleja realmente la realidad y no es necesariamente fácil de configurar).

Para lanzar una imagen Docker, el proceso es el mismo que el descrito en la página de instalación de Gladys a través de Docker (Installation avec Docker | Gladys Assistant), es decir, lanzar un contenedor Docker en la máquina donde quieras probar Gladys (lo más cercano a lo que tienes en producción, por ejemplo, un Raspberry Pi).

La única diferencia es que debes cambiar el nombre de la imagen en el docker run (para lanzar una imagen generada por otro desarrollador) y poner volúmenes que correspondan a tu entorno de prueba.

Desglosemos el comando docker run del sitio:

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=80 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:v4

Aquí puedes ver que al final se especifica que se quiere lanzar un contenedor a partir de la imagen gladysassistant/gladys:v4, que es la imagen « oficial » que distribuimos. :slight_smile:

En el caso de un escenario de prueba, por ejemplo, en el caso de la PR RFLink, @ProtZ compartió una imagen Docker en su cuenta personal de Docker Hub, y la imagen se llama ngeissel/gladys:rflinkdev

Si quieres lanzar una imagen de prueba RFLink en tu Pi, puedo sugerirte el siguiente comando:

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-test-rflink \
-e NODE_ENV=production \
-e SERVER_PORT=8001 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant_test_rflink:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
ngeissel/gladys:rflinkdev

Notarás varios cambios:

  • Cambié el nombre del contenedor a « gladys-test-rflink » para evitar conflictos si ya tienes un Gladys en funcionamiento.
  • Cambié el puerto en el que Gladys escucha a 8001 para evitar conflictos si ya tienes un Gladys en funcionamiento.
  • Cambié el volumen de datos de Gladys (carpeta en la que se montarán los datos de Gladys en el disco), aquí para poner « /var/lib/gladysassistant_test_rflink » (Así, si quieres limpiar tu Pi después de haber ejecutado este archivo, solo tienes que eliminar esta carpeta).
  • Cambié la imagen a « ngeissel/gladys:rflinkdev »

Una vez que tu contenedor esté en funcionamiento, podrás acceder a Gladys escribiendo « IP_RASPBERRY_PI:8001 ».

Si quieres detener este contenedor:

docker stop gladys-test-rflink

Si quieres eliminar este contenedor:

docker rm gladys-test-rflink

Si quieres obtener una nueva versión de la imagen

(si el desarrollador ha avanzado en su integración):

docker pull ngeissel/gladys:rflinkdev

Tenga en cuenta que un contenedor Docker es inmutable: si alguna vez has descargado una nueva imagen, debes detener el contenedor, eliminar el contenedor y luego ejecutar un nuevo contenedor. :slight_smile:

Conclusión

Este es un ejemplo en el caso de RFLink, pero puedes cambiar el nombre de la imagen por lo que quieras.

Puede ser chino si no conoces Docker, en mi opinión vale la pena leer las bases de Docker si no lo conoces mucho. :slight_smile:

El Sonoff Ewelink ya está fusionado y disponible en Gladys 4 desde hace un tiempo. :slight_smile: