# ========================================== # STAGE 1: Der Builder (Hier wird kompiliert) # ========================================== FROM nodered/node-red:latest AS builder USER root # Compiler installieren RUN apk add --no-cache \ python3 \ py3-pip \ python3-dev \ gcc \ g++ \ musl-dev \ libffi-dev # Python-Pakete in einen separaten Ordner installieren RUN pip3 install --no-cache-dir --break-system-packages \ --target=/opt/python-packages \ pandas \ numpy \ ldap3 # ================================================ # STAGE 2: Das finale, saubere Image # ================================================ FROM nodered/node-red:latest USER root # Nur Laufzeitumgebung installieren RUN apk add --no-cache \ python3 \ py3-pip \ tzdata # Python-Pakete aus der Builder-Stage übernehmen COPY --from=builder /opt/python-packages /opt/python-packages # Python-Pfad erweitern ENV PYTHONPATH="/opt/python-packages" # Node-RED-Daten kopieren COPY node-red-data/ /data/ # Eigene Skripte kopieren COPY scripts/ /data/scripts/ # Startscript kopieren und ausführbar machen COPY start.sh /usr/local/bin/start.sh RUN chmod +x /usr/local/bin/start.sh # Zurück zum sicheren Standard-User USER node-red # Eigenes Startscript verwenden ENTRYPOINT ["/usr/local/bin/start.sh"]