forked from LiveCarta/CommentAutomation
42 lines
654 B
Docker
42 lines
654 B
Docker
FROM python:3.12-slim AS base
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
UV_LINK_MODE=copy \
|
|
PYTHONPATH=/app/src
|
|
|
|
WORKDIR /app
|
|
|
|
RUN pip install --no-cache-dir uv
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
|
|
|
|
FROM base AS local_test
|
|
|
|
RUN uv sync --all-groups --no-install-project
|
|
|
|
COPY src ./src
|
|
COPY tests ./tests
|
|
COPY entrypoint.sh ./entrypoint.sh
|
|
RUN chmod +x ./entrypoint.sh
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["./entrypoint.sh"]
|
|
CMD ["http"]
|
|
|
|
|
|
FROM base AS production
|
|
|
|
RUN uv sync --no-dev --no-install-project
|
|
|
|
COPY src ./src
|
|
COPY entrypoint.sh ./entrypoint.sh
|
|
RUN chmod +x ./entrypoint.sh
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["./entrypoint.sh"]
|
|
CMD ["http"]
|