moved to alpine:3.7 removed RUN layers to save image space, removed

redundant mkdir commands
This commit is contained in:
Guy Addadi 2017-12-11 22:03:51 +02:00 committed by Wolf-Bastian Pöttner
parent 771c8bbbe4
commit d2d2d9edaf

View File

@ -1,54 +1,41 @@
FROM alpine:latest FROM alpine:3.7
WORKDIR /usr/src/paperless
COPY requirements.txt /usr/src/paperless/
# Copy application
COPY src/ /usr/src/paperless/src/
COPY data/ /usr/src/paperless/data/
COPY media/ /usr/src/paperless/media/
# Set export directory
ENV PAPERLESS_EXPORT_DIR /export
# Set consumption directory
ENV PAPERLESS_CONSUMPTION_DIR /consume
COPY scripts/docker-entrypoint.sh /sbin/docker-entrypoint.sh
# Install dependencies # Install dependencies
RUN apk --no-cache --update add \ RUN apk --no-cache --update add \
python3 gnupg libmagic bash \ python3 gnupg libmagic bash \
sudo tesseract-ocr imagemagick ghostscript unpaper && \ sudo tesseract-ocr imagemagick ghostscript unpaper && \
apk --no-cache add --virtual .build-dependencies \ apk --no-cache add --virtual .build-dependencies \
python3-dev gcc musl-dev zlib-dev jpeg-dev python3-dev gcc musl-dev zlib-dev jpeg-dev && \
## Install python dependencies ## Install python dependencies
RUN python3 -m ensurepip && \ python3 -m ensurepip && \
rm -r /usr/lib/python*/ensurepip && \ rm -r /usr/lib/python*/ensurepip && \
mkdir -p /usr/src/paperless mkdir -p /usr/src/paperless && \
WORKDIR /usr/src/paperless pip3 install --no-cache-dir -r requirements.txt && \
COPY requirements.txt /usr/src/paperless/ # Remove build dependencies
RUN pip3 install --no-cache-dir -r requirements.txt apk del .build-dependencies && \
# Create the consumption directory
# Copy application mkdir -p $PAPERLESS_CONSUMPTION_DIR && \
RUN mkdir -p /usr/src/paperless/src
RUN mkdir -p /usr/src/paperless/data
RUN mkdir -p /usr/src/paperless/media
COPY src/ /usr/src/paperless/src/
COPY data/ /usr/src/paperless/data/
COPY media/ /usr/src/paperless/media/
# Set consumption directory
ENV PAPERLESS_CONSUMPTION_DIR /consume
RUN mkdir -p $PAPERLESS_CONSUMPTION_DIR
# Migrate database # Migrate database
WORKDIR /usr/src/paperless/src ./src/manage.py migrate && \
RUN ./manage.py migrate
# Create user # Create user
RUN addgroup -g 1000 paperless \ addgroup -g 1000 paperless && \
&& adduser -D -u 1000 -G paperless -h /usr/src/paperless paperless \ adduser -D -u 1000 -G paperless -h /usr/src/paperless paperless && \
&& chown -Rh paperless:paperless /usr/src/paperless chown -Rh paperless:paperless /usr/src/paperless && \
mkdir -p $PAPERLESS_EXPORT_DIR && \
# Set export directory
ENV PAPERLESS_EXPORT_DIR /export
RUN mkdir -p $PAPERLESS_EXPORT_DIR
# Setup entrypoint # Setup entrypoint
COPY scripts/docker-entrypoint.sh /sbin/docker-entrypoint.sh chmod 755 /sbin/docker-entrypoint.sh
RUN chmod 755 /sbin/docker-entrypoint.sh WORKDIR /usr/src/paperless/src
# Mount volumes # Mount volumes
VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/media", "/consume", "/export"] VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/media", "/consume", "/export"]
ENTRYPOINT ["/sbin/docker-entrypoint.sh"] ENTRYPOINT ["/sbin/docker-entrypoint.sh"]
# Remove build dependencies
RUN apk del .build-dependencies
CMD ["--help"] CMD ["--help"]