c5645c0f2b
Build Docker Image for Raspberry Pi / build-and-push (push) Failing after 23s
- 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
46 lines
1014 B
Docker
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"] |