Добавьте в инструкции по подключению графаны вариант как всё настроить в докер контейнерах.
У меня например нет возможности запустить отдельный сервер с графаной, но есть 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 пока не могу, а мне прям очень надо чтобы хранились данные по напряжению со столба.