FROM python:3.12-slim-bookworm # uv для установки зависимостей строго по uv.lock COPY --from=ghcr.io/astral-sh/uv:0.6 /uv /bin/uv WORKDIR /app 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 # Каталог для SQLite. В Coolify/compose сюда монтируется постоянный том. RUN mkdir -p /data VOLUME ["/data"] CMD ["python", "-m", "app"]