43 lines
908 B
Docker
43 lines
908 B
Docker
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;"]
|