26 lines
739 B
Docker
26 lines
739 B
Docker
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"]
|