1FROM alpine:3.8 2 3LABEL maintainer="The Paperless Project https://github.com/danielquinn/paperless" \ 4 contributors="Guy Addadi <addadi@gmail.com>, Pit Kleyersburg <pitkley@googlemail.com>, \ 5 Sven Fischer <git-dev@linux4tw.de>" 6 7# Copy Pipfiles file and init script 8COPY Pipfile* /usr/src/paperless/ 9COPY scripts/docker-entrypoint.sh /sbin/docker-entrypoint.sh 10 11# Set export and consumption directories 12ENV PAPERLESS_EXPORT_DIR=/export \ 13 PAPERLESS_CONSUMPTION_DIR=/consume 14 15 16RUN apk update --no-cache && apk add python3 gnupg libmagic libpq bash shadow curl \ 17 sudo poppler tesseract-ocr imagemagick ghostscript unpaper optipng && \ 18 apk add --virtual .build-dependencies \ 19 python3-dev poppler-dev postgresql-dev gcc g++ musl-dev zlib-dev jpeg-dev && \ 20# Install python dependencies 21 python3 -m ensurepip && \ 22 rm -r /usr/lib/python*/ensurepip && \ 23 cd /usr/src/paperless && \ 24 pip3 install --upgrade pip pipenv && \ 25 pipenv install --system --deploy && \ 26# Remove build dependencies 27 apk del .build-dependencies && \ 28# Create the consumption directory 29 mkdir -p $PAPERLESS_CONSUMPTION_DIR && \ 30# Create user 31 addgroup -g 1000 paperless && \ 32 adduser -D -u 1000 -G paperless -h /usr/src/paperless paperless && \ 33 chown -Rh paperless:paperless /usr/src/paperless && \ 34 mkdir -p $PAPERLESS_EXPORT_DIR && \ 35# Setup entrypoint 36 chmod 755 /sbin/docker-entrypoint.sh 37 38WORKDIR /usr/src/paperless/src 39# Mount volumes and set Entrypoint 40VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/media", "/consume", "/export"] 41ENTRYPOINT ["/sbin/docker-entrypoint.sh"] 42CMD ["--help"] 43 44# Copy application 45COPY src/ /usr/src/paperless/src/ 46COPY data/ /usr/src/paperless/data/ 47COPY media/ /usr/src/paperless/media/ 48 49