diff --git a/solution/services/backend/Dockerfile.staticfiles b/solution/services/backend/Dockerfile.staticfiles new file mode 100644 index 0000000..fb3fef2 --- /dev/null +++ b/solution/services/backend/Dockerfile.staticfiles @@ -0,0 +1,27 @@ +# Stage 1: Install dependencies and compile staticfiles +FROM docker.io/python:3.11-alpine3.20 AS builder + +COPY --from=ghcr.io/astral-sh/uv:0.4.30 /uv /uvx /bin/ + +WORKDIR /app + +ENV PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 \ + PYTHONOPTIMIZE=2 \ + UV_COMPILE_BYTECODE=1 \ + UV_PROJECT_ENVIRONMENT=/opt/venv + +COPY pyproject.toml . + +RUN uv sync --no-dev --no-install-project --no-cache + +COPY . . + +RUN uv run python manage.py collectstatic --noinput + +# Stage 2: Start nginx to serve staticfiles +FROM docker.io/nginx:latest + +COPY --from=builder /app/static /usr/share/nginx/html + +CMD ["nginx", "-g", "daemon off;"]