# syntax=docker/dockerfile:1.7 # --- Build stage ------------------------------------------------------------ # Note: This Dockerfile should be built from the parent directory: # docker build -f mnemo_cards_web_v2/Dockerfile -t mnemo_cards_web . FROM ghcr.io/cirruslabs/flutter:3.27.4 AS build WORKDIR /app # Copy all local dependencies COPY mnemo_cards_common /app/mnemo_cards_common COPY mnemo_cards_frontend_common /app/mnemo_cards_frontend_common COPY chat/mnemo_cards_chat /app/chat/mnemo_cards_chat COPY games/packages/bridge_core /app/games/packages/bridge_core COPY games/packages/payloads_shared /app/games/packages/payloads_shared COPY games/packages/game_tests /app/games/packages/game_tests # Copy web app sources COPY mnemo_cards_web_v2 /app/mnemo_cards_web_v2 WORKDIR /app/mnemo_cards_web_v2 # Get dependencies RUN flutter pub get # Build arg for API URL ARG API_BASE_URL=https://api.mnemo-cards.online # Build web app RUN flutter build web --release \ --dart-define=API_BASE_URL=${API_BASE_URL} # --- Runtime stage ---------------------------------------------------------- # FROM nginx:1.27-alpine AS runtime # Copy nginx config # COPY mnemo_cards_web_v2/nginx.conf /etc/nginx/conf.d/default.conf # Copy built web app # COPY --from=build /app/mnemo_cards_web_v2/build/web/ /usr/share/nginx/html/ EXPOSE 80 # HEALTHCHECK --interval=30s --timeout=5s --retries=3 \ # CMD wget -qO- http://127.0.0.1/ >/dev/null 2>&1 || exit 1