правки для деплоя через Coolify

This commit is contained in:
a.grigorev
2026-09-04 15:14:29 +03:00
parent 161fd6576b
commit 1098ff4991
11 changed files with 276 additions and 384 deletions
+16 -12
View File
@@ -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"]