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
 |