39 lines
1.5 KiB
Plaintext
39 lines
1.5 KiB
Plaintext
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 |