FROM python:3-alpine as requirements
WORKDIR /usr/src/app/
RUN pip install --no-cache-dir pipenv
COPY Pipfile .
COPY Pipfile.lock .
RUN pipenv lock -r > requirements.txt
FROM debian:testing-slim
RUN apt-get update \
&& apt-get -y install \
fonts-roboto \
inkscape \
mupdf-tools \
openscad \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists
WORKDIR /usr/src/app
COPY --from=requirements /usr/src/app/requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt \
&& pyppeteer-install
RUN mkdir static
COPY . .
ENTRYPOINT ["hypercorn", "-w", "4", "-b", "0.0.0.0:8000", "server:app"]
EXPOSE 8000