FROM debian:bookworm-slim AS build-env

ARG HOST="http://localhost:8000"
ARG AUTH_MODE=true

RUN apt-get update && apt-get install -y \
    curl \
    git \
    unzip \
    xz-utils \
    zip \
    libglu1-mesa \
    ca-certificates \
    && rm -rf /var/lib/apt/lists/*

RUN update-ca-certificates

ARG FLUTTER_SDK=/usr/local/flutter
ARG FLUTTER_VERSION=3.24.3
ARG APP=/app

RUN git clone https://github.com/flutter/flutter.git $FLUTTER_SDK
RUN cd $FLUTTER_SDK && git checkout $FLUTTER_VERSION

ENV PATH="$FLUTTER_SDK/bin:$FLUTTER_SDK/bin/cache/dart-sdk/bin:${PATH}"

RUN flutter config --enable-web
RUN flutter doctor -v

WORKDIR $APP
COPY . .

RUN flutter clean
RUN flutter pub get
RUN flutter build web \
    --dart-define=AUTH_MODE=$AUTH_MODE \
    --dart-define=HOST=$HOST

FROM nginx:1.25.2-alpine
COPY --from=build-env /app/build/web /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
