правки для деплоя через Coolify
This commit is contained in:
+16
-12
@@ -1,21 +1,25 @@
|
||||
# Production Dockerfile for PrimeKraft bot (Ubuntu 22 / Linux)
|
||||
FROM python:3.12-slim-bookworm
|
||||
|
||||
# uv для установки зависимостей строго по uv.lock
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.6 /uv /bin/uv
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем зависимости и код (нужен для pip install .)
|
||||
COPY pyproject.toml ./
|
||||
ENV UV_COMPILE_BYTECODE=1 \
|
||||
UV_LINK_MODE=copy \
|
||||
UV_PROJECT_ENVIRONMENT=/app/.venv \
|
||||
PATH="/app/.venv/bin:$PATH" \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
DB_PATH=/data/db.sqlite3
|
||||
|
||||
# Сначала только зависимости, чтобы слой кэшировался между сборками
|
||||
COPY pyproject.toml uv.lock ./
|
||||
RUN uv sync --frozen --no-dev
|
||||
|
||||
COPY app ./app
|
||||
|
||||
# Устанавливаем проект в режиме production (без dev-зависимостей)
|
||||
RUN pip install --no-cache-dir --upgrade pip && \
|
||||
pip install --no-cache-dir .
|
||||
|
||||
# Каталог для БД (volume монтируется в runtime)
|
||||
# Каталог для SQLite. В Coolify/compose сюда монтируется постоянный том.
|
||||
RUN mkdir -p /data
|
||||
|
||||
# Переменная для пути к БД по умолчанию (переопределяется в compose)
|
||||
ENV DB_PATH=/data/db.sqlite3
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
VOLUME ["/data"]
|
||||
|
||||
CMD ["python", "-m", "app"]
|
||||
|
||||
Reference in New Issue
Block a user