|
|
|
FROM frolvlad/alpine-python2
|
|
|
|
|
|
|
|
RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.10/community" >> /etc/apk/repositories
|
|
|
|
|
|
|
|
# install required packages
|
|
|
|
RUN apk add --no-cache vim curl lsof bind-tools
|
|
|
|
RUN apk add --no-cache "xapian-bindings-python==1.4.11-r2" "xapian-core==1.4.11-r0"
|
|
|
|
|
|
|
|
# add user that will be used to install and run the application
|
|
|
|
RUN addgroup -g 1000 deploy
|
|
|
|
RUN adduser -D -u 1000 -G deploy deploy
|
|
|
|
|
|
|
|
# switch to the created user and install the application
|
|
|
|
USER deploy
|
|
|
|
ENV PATH "$PATH:/home/deploy/.local/bin"
|
|
|
|
ENV MOINMOIN_DATA_BASE_DIR "/data/wikis"
|
|
|
|
|
|
|
|
COPY . /app
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
RUN pip install --upgrade pip
|
|
|
|
RUN pip install gunicorn
|
|
|
|
RUN pip install wheel
|
|
|
|
|
|
|
|
RUN pip install -r requirements.txt
|
|
|
|
|
|
|
|
# switch back to root to remove header files
|
|
|
|
# USER root
|
|
|
|
# RUN apk del libc-dev libffi-dev openssl-dev python3-dev
|
|
|
|
|
|
|
|
# switch to the created user to run the application
|
|
|
|
USER deploy
|
|
|
|
CMD ["gunicorn", "moin:application", "-b", "0.0.0.0:8000"]
|