FROM python:3.12-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
# uv ставит git-зависимости (gnexus-gauth) — нужен git
RUN apt-get update && apt-get install -y --no-install-recommends git \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /srv/app
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev
# Миграции выполняются при старте контейнера (см. CMD)
COPY alembic.ini ./
COPY alembic ./alembic
COPY app ./app
ENV ATTACHMENTS_PATH=/data/attachments
RUN mkdir -p /data/attachments
EXPOSE 8134
CMD ["sh", "-c", "uv run --no-dev alembic upgrade head && uv run --no-dev uvicorn app.main:app --host 0.0.0.0 --port 8134"]