mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
i fixed the docker
This commit is contained in:
135
Dockerfile
135
Dockerfile
@@ -1,74 +1,71 @@
|
||||
FROM alpine:3.11
|
||||
###############################################################################
|
||||
### Front end ###
|
||||
###############################################################################
|
||||
|
||||
LABEL maintainer="The Paperless Project https://github.com/the-paperless-project/paperless" \
|
||||
contributors="Guy Addadi <addadi@gmail.com>, Pit Kleyersburg <pitkley@googlemail.com>, \
|
||||
Sven Fischer <git-dev@linux4tw.de>"
|
||||
FROM node:current AS frontend
|
||||
|
||||
WORKDIR /usr/src/paperless/src-ui/
|
||||
|
||||
COPY src-ui/package* ./
|
||||
RUN npm install
|
||||
|
||||
COPY src-ui .
|
||||
RUN node_modules/.bin/ng build --prod --output-hashing none
|
||||
|
||||
###############################################################################
|
||||
### Back end ###
|
||||
###############################################################################
|
||||
|
||||
FROM python:3.8-slim
|
||||
|
||||
WORKDIR /usr/src/paperless/
|
||||
|
||||
COPY Pipfile* ./
|
||||
|
||||
#Dependencies
|
||||
RUN apt-get update \
|
||||
&& apt-get -y --no-install-recommends install \
|
||||
build-essential \
|
||||
curl \
|
||||
ghostscript \
|
||||
gnupg \
|
||||
imagemagick \
|
||||
libmagic-dev \
|
||||
libpoppler-cpp-dev \
|
||||
libpq-dev \
|
||||
optipng \
|
||||
sudo \
|
||||
tesseract-ocr \
|
||||
tesseract-ocr-eng \
|
||||
tesseract-ocr-deu \
|
||||
tesseract-ocr-fra \
|
||||
tesseract-ocr-ita \
|
||||
tesseract-ocr-spa \
|
||||
tzdata \
|
||||
unpaper \
|
||||
&& pip install --upgrade pipenv \
|
||||
&& pipenv install --system --deploy \
|
||||
&& apt-get -y purge build-essential \
|
||||
&& apt-get -y autoremove --purge \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# # Copy application
|
||||
COPY scripts/gunicorn.conf.py ./
|
||||
COPY src/ ./src/
|
||||
COPY --from=frontend /usr/src/paperless/src-ui/dist/paperless-ui/ ./src/documents/static/
|
||||
|
||||
RUN addgroup --gid 1000 paperless && \
|
||||
useradd --uid 1000 --gid paperless --home-dir /usr/src/paperless paperless && \
|
||||
chown -R paperless:paperless .
|
||||
|
||||
WORKDIR /usr/src/paperless/src/
|
||||
|
||||
RUN sudo -HEu paperless python3 manage.py collectstatic --clear --no-input
|
||||
|
||||
VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/consume", "/usr/src/paperless/export"]
|
||||
|
||||
# Copy Pipfiles file, init script and gunicorn.conf
|
||||
COPY Pipfile* /usr/src/paperless/
|
||||
COPY scripts/docker-entrypoint.sh /sbin/docker-entrypoint.sh
|
||||
COPY scripts/gunicorn.conf /usr/src/paperless/
|
||||
|
||||
# Set export and consumption directories
|
||||
ENV PAPERLESS_EXPORT_DIR=/export \
|
||||
PAPERLESS_CONSUMPTION_DIR=/consume
|
||||
|
||||
RUN apk add --no-cache \
|
||||
bash \
|
||||
curl \
|
||||
ghostscript \
|
||||
gnupg \
|
||||
imagemagick \
|
||||
libmagic \
|
||||
libpq \
|
||||
optipng \
|
||||
poppler \
|
||||
python3 \
|
||||
shadow \
|
||||
sudo \
|
||||
tesseract-ocr \
|
||||
tzdata \
|
||||
unpaper && \
|
||||
apk add --no-cache --virtual .build-dependencies \
|
||||
g++ \
|
||||
gcc \
|
||||
jpeg-dev \
|
||||
musl-dev \
|
||||
poppler-dev \
|
||||
postgresql-dev \
|
||||
python3-dev \
|
||||
zlib-dev && \
|
||||
# Install python dependencies
|
||||
python3 -m ensurepip && \
|
||||
rm -r /usr/lib/python*/ensurepip && \
|
||||
cd /usr/src/paperless && \
|
||||
pip3 install --upgrade pip pipenv && \
|
||||
pipenv install --system --deploy && \
|
||||
# Remove build dependencies
|
||||
apk del .build-dependencies && \
|
||||
# Create the consumption directory
|
||||
mkdir -p $PAPERLESS_CONSUMPTION_DIR && \
|
||||
# Create user
|
||||
addgroup -g 1000 paperless && \
|
||||
adduser -D -u 1000 -G paperless -h /usr/src/paperless paperless && \
|
||||
chown -Rh paperless:paperless /usr/src/paperless && \
|
||||
mkdir -p $PAPERLESS_EXPORT_DIR && \
|
||||
# Avoid setrlimit warnings
|
||||
# See: https://gitlab.alpinelinux.org/alpine/aports/issues/11122
|
||||
echo 'Set disable_coredump false' >> /etc/sudo.conf && \
|
||||
# Setup entrypoint
|
||||
chmod 755 /sbin/docker-entrypoint.sh
|
||||
|
||||
WORKDIR /usr/src/paperless/src
|
||||
# Mount volumes and set Entrypoint
|
||||
VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/media", "/consume", "/export"]
|
||||
RUN chmod 755 /sbin/docker-entrypoint.sh
|
||||
ENTRYPOINT ["/sbin/docker-entrypoint.sh"]
|
||||
|
||||
CMD ["--help"]
|
||||
|
||||
# Copy application
|
||||
COPY src/ /usr/src/paperless/src/
|
||||
COPY data/ /usr/src/paperless/data/
|
||||
COPY media/ /usr/src/paperless/media/
|
||||
|
||||
# Collect static files
|
||||
RUN sudo -HEu paperless /usr/src/paperless/src/manage.py collectstatic --clear --no-input
|
||||
|
Reference in New Issue
Block a user