49 lines
991 B
Docker
49 lines
991 B
Docker
|
FROM python:3.8-alpine as build
|
||
|
|
||
|
RUN apk add --no-cache \
|
||
|
build-base \
|
||
|
gcc \
|
||
|
gettext \
|
||
|
git \
|
||
|
jpeg-dev \
|
||
|
libffi-dev \
|
||
|
libjpeg \
|
||
|
musl-dev \
|
||
|
postgresql-dev \
|
||
|
python3-dev \
|
||
|
zlib-dev
|
||
|
|
||
|
RUN mkdir -p /app/{code,venv}
|
||
|
WORKDIR /app/code
|
||
|
COPY Pipfile Pipfile.lock /app/code/
|
||
|
|
||
|
RUN python3 -m venv /app/venv
|
||
|
RUN pip install pipenv setuptools
|
||
|
ENV PATH="/app/venv/bin:$PATH" VIRTUAL_ENV="/app/venv"
|
||
|
RUN pip install wheel cppy
|
||
|
# Install dependencies into the virtual environment with Pipenv
|
||
|
RUN pipenv install --deploy --verbose
|
||
|
|
||
|
FROM python:3.8-alpine
|
||
|
|
||
|
RUN apk add --no-cache \
|
||
|
cloud-utils \
|
||
|
libjpeg \
|
||
|
libpq \
|
||
|
libstdc++ \
|
||
|
libvirt-client \
|
||
|
openssh-client \
|
||
|
virt-install
|
||
|
|
||
|
COPY . /app/code/
|
||
|
WORKDIR /app/code
|
||
|
|
||
|
COPY --from=build /app/venv /app/venv
|
||
|
ENV PATH="/app/venv/bin:$PATH" VIRTUAL_ENV="/app/venv"
|
||
|
|
||
|
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "-k", "gevent", "--worker-connections", "1000", "app:app"]
|
||
|
|
||
|
VOLUME /app/code
|
||
|
|
||
|
EXPOSE 5000
|