Este documento describe el flujo de trabajo para desarrollar en el entorno de jmq_chirpstack_listener.
Para levantar el entorno de desarrollo:
sudo docker compose down --volumes
sudo docker compose build --no-cache
sudo docker compose up
O levantarlo en segundo plano:
sudo docker compose up -d
-
Levantar el entorno
Usa los comandos anteriores para asegurarte de tener un entorno limpio. -
Desarrollar nuevas funcionalidades
Modifica el código según tus necesidades. Si modificas dependencias o elentrypoint
, recuerda reconstruir la imagen usando--no-cache
. -
Pruebas Funcionales
- Publicar un mensaje MQTT de prueba:
./mqtt_test.sh
- Verificar datos en la base de datos:
sudo docker exec -it chirpstack_timescaledb psql -U sensoruser -d sensordata -c "SELECT * FROM sensor_data ORDER BY timestamp DESC LIMIT 10;"
- Consultar el API:
curl http://localhost:8999/data/
- Revisar logs y errores:
sudo docker logs -f chirpstack_listener_app sudo docker exec -it chirpstack_listener_app cat /var/log/api.err.log sudo docker exec -it chirpstack_listener_app cat /var/log/mqtt.err.log
- Publicar un mensaje MQTT de prueba:
-
Iteración y Commit
Realiza commits frecuentes conforme avanzas:git add . git commit -m "feat: nueva funcionalidad"
-
Limpieza
Para limpiar contenedores, volúmenes y redes:
sudo bash -c 'docker stop $(docker ps -a -q)'
sudo bash -c 'sudo docker rm $(docker ps -aq)'
sudo docker volume prune -f
sudo docker network prune -f
- Ejecutar Entorno de Dev
Asegúrate de tener la base de datos y mosquitto corriendo:
sudo docker compose down
sudo docker compose -f docker-compose.yml up --build
ó
docker compose up -d timescaledb
docker compose up -d mosquitto
Ejecutas Servidor Local:
source venv/bin/activate
pip install -r requirements.txt
bash entrypoint-dev.sh