Files
docker-voltronic-homeassistant/Dockerfile.multiarch
T
Pi Developer 36743a59c8
Build Docker Image for Raspberry Pi / build-and-push (push) Successful in 6m49s
feat: Ottimizzazione performance e gestione credenziali MQTT
- 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
2026-01-31 17:45:53 +01:00

46 lines
1017 B
Docker

# Multi-architecture build managed by buildx
FROM debian:bookworm
ARG BUILD_DATE
ARG VERSION
ARG VCS_REF
ARG TARGETPLATFORM
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.version=$VERSION \
org.label-schema.vcs-ref=$VCS_REF
RUN apt update && apt install -y \
curl \
git \
build-essential \
cmake \
jq \
mosquitto-clients
ADD sources/ /opt/
ADD config/ /etc/inverter/
RUN cd /opt/inverter-cli && \
mkdir -p bin && cmake . && make
# Environment variables for runtime configuration
ENV INVERTER_DEVICE="/dev/ttyUSB0" \
MQTT_SERVER="192.168.1.37" \
MQTT_PORT="1883" \
MQTT_TOPIC="homeassistant" \
MQTT_DEVICENAME="voltronic" \
MQTT_USERNAME="" \
MQTT_PASSWORD="" \
FORCE_DISCOVERY="false" \
SKIP_DISCOVERY="false"
HEALTHCHECK \
--interval=30s \
--timeout=10s \
--start-period=1m \
--retries=3 \
CMD /opt/healthcheck
WORKDIR /opt
ENTRYPOINT ["/bin/bash", "/opt/inverter-mqtt/entrypoint.sh"]