Wirenboard + influxdb + grafana в докере

Добавьте в инструкции по подключению графаны вариант как всё настроить в докер контейнерах.
У меня например нет возможности запустить отдельный сервер с графаной, но есть synology, на котором я могу запустить всё в докере и пробросить порты наружу.

Насколько я понял вашу инструкцию по настройке графаны одним файлом docker-compose тут не обойтись и нужен будет докерфайл как минимум для python

вот мой docker-compose

version: '3.5'
services:

  homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:2023.9.0.dev20230728 
    environment:
      TZ: ${WORKSPACE_TIMEZONE}
    volumes:
      - ./home-assistant/config:/config/
      - /etc/localtime:/etc/localtime:ro #ro means read only
    ports:
      - "8123:8123"
    restart: always
    networks:
      - smarthome


  mqtt:
    container_name: mqtt
    image: eclipse-mosquitto:2.0.15
    environment:
      TZ: ${WORKSPACE_TIMEZONE}
    volumes:
      - ./mqtt/config/:/mosquitto/config/
      - ./mqtt/log/:/mosquitto/log/
      - ./mqtt/data/:/mosquitto/data/
    ports:
      - "1883:1883"
      - "9001:9001"
    restart: always
    networks:
      - smarthome


  influxdb:
    container_name: influxdb
    image: influxdb:2.7.1
    environment:
      TZ: ${WORKSPACE_TIMEZONE}
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: ${DOCKER_INFLUXDB_INIT_USERNAME}
      DOCKER_INFLUXDB_INIT_PASSWORD: ${DOCKER_INFLUXDB_INIT_PASSWORD}
      DOCKER_INFLUXDB_INIT_ORG: ${DOCKER_INFLUXDB_INIT_ORG}
      DOCKER_INFLUXDB_INIT_BUCKET: mybucket
    volumes:
      - ./influxdb/data/:/var/lib/influxdb2/
      - ./influxdb/config/:/etc/influxdb2/
    ports:
      - "8086:8086"
    restart: always
    networks:
      - smarthome


  grafana:
    container_name: grafana
    image: grafana/grafana:10.0.3
    environment:
      TZ: ${WORKSPACE_TIMEZONE}
      GF_SECURITY_ADMIN_USER: ${GRAFANA_USERNAME}
      GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD}
      GF_FEATURE_TOGGLES_ENABLE: publicDashboards
      GF_INSTALL_PLUGINS: grafana-clock-panel, grafana-simple-json-datasource
    volumes:
      - ./grafana/data/:/var/lib/grafana/
      - ./grafana/log/:/var/log/grafana/
      - ./grafana/conf/:/etc/grafana/
      - ./grafana/provisioning/alerting/:/etc/grafana/provisioning/alerting/
      - ./grafana/provisioning/datasources/:/etc/grafana/provisioning/datasources/
      - ./grafana/provisioning/dashboards/:/etc/grafana/provisioning/dashboards/
      - ./grafana/provisioning/notifiers/:/etc/grafana/provisioning/notifiers/
      - ./grafana/provisioning/plugins/:/etc/grafana/provisioning/plugins/    
    links:
      - influxdb     
    ports:
      - "3000:3000"
    restart: always
    networks:
      - smarthome


  node-red:
    container_name: node-red
    image: nodered/node-red:3.0.2-14
    environment:
      TZ: ${WORKSPACE_TIMEZONE}
    volumes:
      - ./node-red:/data
    ports:
      - "1880:1880"
    restart: always
    networks:
      - smarthome


  python:
    container_name: pythonWB # python:3.9.17-slim
    build:
      context: ./python
    volumes:
      - ./python/scripts/:/usr/src/app/
    restart: always
    networks:
      - smarthome


networks:
  smarthome:
    name: smarthome
    driver: bridge

вот докерфайл пайтона

FROM python:3.9.17-slim

WORKDIR /usr/src/app

RUN pip3 install --upgrade pip
RUN pip3 install paho-mqtt python-etcd influxdb influxdb-client


ENTRYPOINT [ "python", "mqtt_to_influxdb.py -h mqtt:1883 /#" ]

Скрипт mqtt_to_influxdb.py я заранее скачал и положил в папку /python/scripts, которая залинкована с папкой /usr/src/app в контейнере

При запуске контейнеров выскакивает ошибка python: can’t open file ‘/usr/src/app/mqtt_to_influxdb.py -h mqtt:1883 /#’: [Errno 2] No such file or directory, что не может найти файл mqtt_to_influxdb.py. Я проверял, что она выскакивает только когда запускаешь с параметрами -h mqtt:1883 /#

Без python вся эта связка у меня работает и так - данные из WB прилетают в MQTT и дальше я их могу отображать в HA.
Только сохранять в influxdb пока не могу, а мне прям очень надо чтобы хранились данные по напряжению со столба.

1 лайк

Здравствуйте! Спасибо, что делитесь опытом. Задачу в документацию поставил, тему закрою.

А при обновлении документации мне уведомление скинете?

Ох, я плохо прочитал сообщение — вы помощи просите по настройке, а не делитесь опытом.

Мы так настраивать не пробовали и помочь сами не сможем. Пусть тема тогда ещё повисит какое-то время, может кто из пользователей найдётся с нужным опытом.

@schel4ok Недавно пользователь опубликовал видео с инструкцией — это не решит вашу задачу?

3 лайка

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.