FROM python:3.11.8-slim AS build # Устанавливаем рабочую директорию WORKDIR /app # Копируем файл с зависимостями в контейнер COPY ./app/requirements.txt . # Устанавливаем необходимые зависимости RUN pip install -r requirements.txt # Устанавливаем необходимые утилиты RUN apt-get update && \ apt-get install -y wget unzip xz-utils git clang cmake ninja-build pkg-config curl libgtk-3-dev # Устанавливаем Flutter SDK RUN wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.24.0-stable.tar.xz && \ tar xf flutter_linux_3.24.0-stable.tar.xz && \ mv flutter /usr/local/flutter && \ git config --global --add safe.directory /usr/local/flutter && \ /usr/local/flutter/bin/flutter doctor # Обновляем PATH для Flutter ENV PATH="/usr/local/flutter/bin:${PATH}" # Копируем файл с кодом в контейнер COPY ./app/ . # Выполняем сборку проекта RUN flet build web # Используем официальный образ Nginx для развертывания FROM nginx:latest AS final # Копируем собранные файлы в директорию Nginx COPY --from=build /app/build/web /usr/share/nginx/html # Копируем конфигурационный файл Nginx (если требуется) COPY ./app/nginx.conf /etc/nginx/nginx.conf