FROM jetpackio/devbox:latest AS builder

USER root

RUN apt-get update && \
    apt-get install -y \
        git \
        ca-certificates \
        curl \
        rsync \
    && rm -rf /var/lib/apt/lists/*

# Nix Build-Gruppe anlegen
RUN groupadd -r nixbld || true && \
    for i in $(seq 1 10); do \
        useradd -r \
            -g nixbld \
            -G nixbld \
            -d /var/empty \
            -s /usr/sbin/nologin \
            nixbld$i || true; \
    done

WORKDIR /src

# Stabile Joplin-Version herunterladen
RUN git clone \
    --depth 1 \
    --branch v3.6.15 \
    https://github.com/laurent22/joplin.git .

# Version kontrollieren
RUN git describe --tags --exact-match

# Joplin Build-Umgebung vorbereiten
RUN devbox run -- yarn --version

# Joplin-Abhängigkeiten installieren
# RUN devbox run -- yarn install
RUN devbox run -- sh -c 'yarn install || { \
    echo "===== YARN BUILD ERROR LOGS ====="; \
    find /tmp -type f -name build.log -print -exec cat {} \; 2>/dev/null; \
    exit 1; \
    }'

# Web-App bauen
WORKDIR /src

#RUN devbox run -- yarn web
RUN devbox run -- sh -c 'cd /src/packages/app-mobile && yarn web'


# --------------------------------------------------
# Fertiges Web-Frontend
# --------------------------------------------------

FROM nginx:alpine

RUN rm -f /etc/nginx/conf.d/default.conf

COPY nginx.conf /etc/nginx/conf.d/default.conf

COPY --from=builder \
    /src/packages/app-mobile/web/dist/ \
    /usr/share/nginx/html/

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
