Proyecto aTIC (II) - Servidor de InfluxDB
Servidor de InfluxDB.
Como se ha mencionado en el anterior post (Proyecto aTIC (I) - Introducción), una de las raspberrys que intervienen en el proyecto contiene un servidor de InfluxDB sobre el sistema operativo Raspbian de la RaspberryPi (RPI1). Para la gestión del servidor y el resto de aplicaciones que se han necesitado (como el servicio Duck DNS que se menciona más adelante) se ha instalado Docker, una herramienta de virtualización para la creación de contenedores.
Adicionalmente, se ha hecho uso también de Portainer.io, una herramienta web open-source que permite gestionar contenedores Docker de una manera sencilla e intiutiva. Se ha configurado el sistema para que el servicio Portainer corra en el puerto 9000.
También se ha hecho uso de Docker Compose, que permite definir y ejecutar aplicaciones Docker multicontenedor, como la desarrollada para este proyecto. Docker Compose requiere de un archivo tipo .yaml en el que se especifique la configuración deseada y así, con un único comando, se descargan e instalan las imágenes necesarias para montar todos los contenedores. El archivo Docker Compose desarrollado para RPI1 se muestra a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | version: '2' services: portainer: container_name: portainer image: portainer/portainer restart: unless-stopped ports: - 9000:9000 volumes: - /var/run/docker.sock:/var/run/docker.sock - ./volumes/portainer/data:/data influxdb: container_name: influxdb image: "influxdb:latest" restart: unless-stopped ports: - 8086:8086 - 8083:8083 - 2003:2003 env_file: - ./services/influxdb/influxdb.env volumes: - ./volumes/influxdb/data:/var/lib/influxdb - ./backups/influxdb/db:/var/lib/influxdb/backup mosquitto: container_name: mosquitto image: eclipse-mosquitto restart: unless-stopped user: "1883" ports: - 1883:1883 - 9001:9001 volumes: - ./volumes/mosquitto/data:/mosquitto/data - ./volumes/mosquitto/log:/mosquitto/log - ./services/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf python: container_name: python build: ./services/python/. restart: unless-stopped network_mode: host volumes: - ./volumes/python/app:/usr/src/app |
Se observa cómo en el script se definen los servicios de Portainer, InfluxDB, Mosquitto y Python.
Como se ha mencionado con anterioridad, también se ha hecho uso de una DNS para poder acceder a la base de datos InfluxDB alojada en esta RaspberryPi (RPI1) de forma remota. Se ha empleado el servicio Duck DNS ya que es gratuito y muy sencillo de utilizar. Se ha reservado un dominio y se accede remotamente a la base de datos mediante el puerto 8086 (que se puede ver definido en el script anterior).
Para continuar con el siguiente post que define el proyecto desarrollado accede a Proyecto aTIC (III) - Broker MQTT.

Comentarios
Publicar un comentario