forked from NotFate/bot
Добавлено прослушивание музыки
This commit is contained in:
54
Dockerfile
54
Dockerfile
@@ -1,26 +1,52 @@
|
||||
# Используем официальный образ Python с подходящей версией
|
||||
FROM python:3.13-slim
|
||||
# ---------- BUILDER ----------
|
||||
FROM python:3.13-slim AS builder
|
||||
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV POETRY_VIRTUALENVS_CREATE=false
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# Устанавливаем системные зависимости только в builder
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
ffmpeg \
|
||||
nodejs \
|
||||
npm \
|
||||
build-essential \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
# Обновляем pip
|
||||
RUN pip install --upgrade pip
|
||||
# Устанавливаем Poetry
|
||||
RUN pip install poetry
|
||||
|
||||
# Устанавливаем рабочую директорию внутри контейнера
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем файлы Poetry
|
||||
# Копируем файлы зависимостей
|
||||
COPY pyproject.toml poetry.lock* ./
|
||||
|
||||
# Настраиваем Poetry (не создавать виртуальное окружение внутри контейнера)
|
||||
RUN poetry config virtualenvs.create false
|
||||
|
||||
# Устанавливаем зависимости через Poetry
|
||||
# Устанавливаем зависимости
|
||||
RUN poetry install --no-interaction --no-ansi --no-root
|
||||
|
||||
# Копируем все файлы проекта внутрь контейнера
|
||||
COPY . .
|
||||
# ---------- RUNTIME ----------
|
||||
FROM python:3.13-slim
|
||||
|
||||
# Устанавливаем переменную окружения для буферизации
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Команда запуска — запуск скрипта main.py
|
||||
WORKDIR /app
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/*
|
||||
# Копируем Python зависимости
|
||||
COPY --from=builder /usr/local/lib/python3.13 /usr/local/lib/python3.13
|
||||
COPY --from=builder /usr/local/bin /usr/local/bin
|
||||
|
||||
# Копируем ffmpeg бинарник
|
||||
COPY --from=builder /usr/bin/ffmpeg /usr/bin/ffmpeg
|
||||
|
||||
# Копируем node runtime (для yt-dlp)
|
||||
COPY --from=builder /usr/bin/node /usr/bin/node
|
||||
COPY --from=builder /usr/bin/npm /usr/bin/npm
|
||||
|
||||
# Копируем проект
|
||||
COPY . .
|
||||
|
||||
# Команда запуска
|
||||
CMD ["python", "main.py"]
|
||||
|
||||
Reference in New Issue
Block a user