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
46 lines
1017 B
Docker
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"] |