# ==========================================
# 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"]
