36743a59c8
Build Docker Image for Raspberry Pi / build-and-push (push) Successful in 6m49s
- Rimosso credenziali hardcoded da mqtt.json (devono essere fornite solo da ENV) - Ottimizzato mqtt-push.sh: caricamento config MQTT una sola volta all'avvio - Ridotto I/O con redirect stderr su /dev/null - Fix errore sed con device path contenente slash - Aggiunto controllo esecuzione update_mqtt_config solo se ENV impostate - Ridotto consumo CPU da 25% a ~0-2% Nuovo: - Documentazione multi-inverter completa (MULTI_INVERTER.md) - Aggiornato README con sezione performance e multi-inverter - Aggiunto .gitignore per file cache/backup runtime Fixes: - Bug sed delimiter con device path /dev/ttyUSB* - Letture ripetute mqtt.json con jq (30+ per ciclo) - Credenziali non aggiornate da ENV se mqtt.json esiste
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
services:
|
|
voltronic-mqtt:
|
|
# Build locale per test
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.multiarch
|
|
|
|
# Immagine custom da Gitea registry (decommentare quando pronta)
|
|
# image: gitea.home-nas-ds.org/alessio/docker-voltronic-homeassistant:latest
|
|
|
|
container_name: voltronic-mqtt
|
|
|
|
privileged: true
|
|
restart: always
|
|
|
|
# Environment variables - configurano automaticamente mqtt.json e inverter.conf
|
|
environment:
|
|
# Device configuration
|
|
- INVERTER_DEVICE=/dev/ttyUSB0
|
|
|
|
# MQTT Broker configuration (questi valori sovrascrivono mqtt.json all'avvio)
|
|
- MQTT_SERVER=192.168.1.37
|
|
- MQTT_PORT=1883
|
|
- MQTT_TOPIC=homeassistant
|
|
- MQTT_DEVICENAME=voltronic
|
|
- MQTT_USERNAME=mqtt_user
|
|
- MQTT_PASSWORD=3tUhCpuDs43e#@k
|
|
|
|
# Auto-discovery options
|
|
# Force auto-discovery on every container start (default: false)
|
|
# Set to "true" to re-run discovery even if previous results exist
|
|
- FORCE_DISCOVERY=false
|
|
|
|
# Skip auto-discovery completely (default: false)
|
|
# Set to "true" to use only values from inverter.conf
|
|
- SKIP_DISCOVERY=false
|
|
|
|
volumes:
|
|
# Configurazione persistente (buffer sizes, calibration factors)
|
|
- ./config/:/etc/inverter/
|
|
|
|
# Cache discovery per evitare re-discovery ad ogni restart
|
|
- voltronic-cache:/cache/
|
|
|
|
devices:
|
|
# USB Port Mapping
|
|
- /dev/bus/usb:/dev/bus/usb:rwm
|
|
- /dev/ttyUSB0:/dev/ttyUSB0:rwm
|
|
- /dev/ttyUSB1:/dev/ttyUSB1:rwm
|
|
|
|
# Serial Port Mapping (optional, se usi RS232 nativo)
|
|
- /dev/ttyS0:/dev/ttyS0
|
|
- /dev/ttyS1:/dev/ttyS1
|
|
- /dev/ttyS2:/dev/ttyS2
|
|
|
|
# Used to auto-update images as we release new versions...
|
|
# watchtower:
|
|
# image: containrrr/watchtower
|
|
# container_name: watchtower
|
|
# restart: always
|
|
# privileged: true
|
|
# volumes:
|
|
# - /var/run/docker.sock:/var/run/docker.sock
|
|
# command: --interval 500
|
|
|
|
volumes:
|
|
voltronic-cache:
|
|
|