mirror of
https://github.com/boostorg/website-v2.git
synced 2026-01-19 04:42:17 +00:00
43 lines
1017 B
Docker
43 lines
1017 B
Docker
# syntax = docker/dockerfile:experimental
|
|
|
|
FROM python:3.11-slim AS builder-py
|
|
|
|
RUN apt update && apt install -y build-essential gcc python-dev libpq-dev postgresql-client && rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN pip install -U pip
|
|
|
|
COPY ./requirements.txt ./code/requirements.txt
|
|
|
|
RUN python3 -m venv /venv
|
|
|
|
RUN --mount=type=cache,target=/root/.cache \
|
|
. /venv/bin/activate && \
|
|
pip install -U pip && \
|
|
pip install --no-compile -r /code/requirements.txt
|
|
|
|
FROM python:3.11-slim AS release
|
|
|
|
RUN apt update && apt install -y git libpq-dev && rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV PATH /venv/bin:/bin:/usr/bin:/usr/local/bin
|
|
ENV PYTHONDONTWRITEBYTECODE=true
|
|
ENV PYTHONPATH /code
|
|
ENV PYTHONUNBUFFERED 1
|
|
ENV PYTHONWARNINGS ignore
|
|
|
|
RUN mkdir /code
|
|
|
|
COPY --from=builder-py /venv/ /venv/
|
|
COPY --from=builder-py /code/ /code/
|
|
COPY . /code/
|
|
|
|
WORKDIR /code
|
|
|
|
CMD ["gunicorn", "-c", "/code/gunicorn.conf.py", "config.wsgi"]
|
|
|
|
ARG TAG
|
|
ENV IMAGE_TAG=$TAG
|
|
|
|
LABEL Description="Boost.org" Vendor="REVSYS"
|
|
LABEL Version="${IMAGE_TAG}"
|