mirror of
https://github.com/ferdzo/serviceCRM.git
synced 2026-04-04 21:06:24 +00:00
41 lines
943 B
Docker
41 lines
943 B
Docker
# Django Backend Dockerfile
|
|
FROM ghcr.io/astral-sh/uv:python3.13-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
ENV UV_COMPILE_BYTECODE=1
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
|
|
RUN uv sync --frozen --no-dev --no-install-project
|
|
|
|
COPY serviceCRM/ ./serviceCRM/
|
|
COPY manage.py ./
|
|
|
|
RUN uv sync --frozen --no-dev
|
|
|
|
# Collect static files
|
|
RUN SECRET_KEY=dummy-key-for-build DEBUG=False uv run manage.py collectstatic --noinput
|
|
|
|
FROM python:3.13-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apk add --no-cache postgresql-client
|
|
|
|
COPY --from=builder /app/.venv /app/.venv
|
|
COPY --from=builder /app/serviceCRM/ /app/serviceCRM/
|
|
COPY --from=builder /app/manage.py /app/
|
|
COPY --from=builder /app/staticfiles/ /app/staticfiles/
|
|
|
|
RUN adduser -D -u 1000 appuser && \
|
|
chown -R appuser:appuser /app
|
|
|
|
USER appuser
|
|
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "-k", "uvicorn.workers.UvicornWorker", "serviceCRM.asgi:application"] |