test_task_crm/app/Dockerfile

25 lines
604 B
Docker

# syntax=docker/dockerfile:1.7
FROM ghcr.io/astral-sh/uv:python3.14-alpine AS builder
WORKDIR /opt/app
COPY pyproject.toml uv.lock ./
RUN apk add --no-cache build-base libffi-dev \
&& uv sync --frozen --no-dev
# Only application source is copied into the image layer.
COPY app ./app
FROM python:3.14-alpine AS runtime
ENV PYTHONUNBUFFERED=1
ENV PATH="/opt/app/.venv/bin:${PATH}"
WORKDIR /opt/app
RUN apk add --no-cache libstdc++
COPY --from=builder /opt/app/.venv /opt/app/.venv
COPY app ./app
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--workers", "10"]