Files
docker-voltronic-homeassistant/Dockerfile.multiarch
T
Pi Developer c5645c0f2b
Build Docker Image for Raspberry Pi / build-and-push (push) Failing after 23s
Aggiunta configurazione tramite variabili d'ambiente e fix Docker Hub secrets
- Aggiunto supporto ENV variables nel Dockerfile:
  * INVERTER_DEVICE, MQTT_SERVER, MQTT_PORT, MQTT_TOPIC
  * MQTT_DEVICENAME, MQTT_USERNAME, MQTT_PASSWORD
  * FORCE_DISCOVERY, SKIP_DISCOVERY
- Implementata funzione update_mqtt_config() in entrypoint.sh
  * Aggiorna automaticamente mqtt.json da ENV variables all'avvio
  * Backup automatico configurazione originale
- Fix workflow Docker build:
  * Login Docker Hub solo se secrets configurati
  * Push solo se secrets disponibili (evita errori CI/CD)
  * Build funziona anche senza secrets (utile per test locali)
- Aggiornato docker-compose.yml con esempio ENV variables
- Creata documentazione completa DOCKER_SETUP.md:
  * Guida configurazione variabili d'ambiente
  * Esempi docker-compose e docker run
  * Guida configurazione secrets Gitea
  * Troubleshooting e health check

Ora è possibile configurare completamente il container senza modificare file
2026-01-31 16:21:42 +01:00

46 lines
1014 B
Docker

# Multi-architecture build managed by buildx
FROM debian:bullseye
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 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"]