Add missing openblas and nltk_data

+ move venv to /opt/paperless
This commit is contained in:
Daniel Berteaud 2023-11-24 13:46:00 +01:00
parent f42e801da2
commit 5d7051ed0c
5 changed files with 18 additions and 14 deletions

View File

@ -29,12 +29,14 @@ RUN set -euxo pipefail &&\
curl -sSLO https://github.com/paperless-ngx/paperless-ngx/releases/download/v${PAPERLESS_VERSION}/paperless-ngx-v${PAPERLESS_VERSION}.tar.xz &&\
tar xvJf paperless-ngx-v${PAPERLESS_VERSION}.tar.xz &&\
rm paperless-ngx-v${PAPERLESS_VERSION}.tar.xz &&\
python3 -m venv venv &&\
source venv/bin/activate &&\
mv paperless-ngx paperless &&\
cd paperless &&\
python3 -m venv venv &&\
source venv/bin/activate &&\
pip --no-cache-dir install -r requirements.txt &&\
./src/manage.py collectstatic --no-input &&\
mkdir -p /usr/share/nltk_data &&\
python3 -c "import nltk; nltk.download('stopwords', download_dir='/usr/share/nltk_data')" &&\
rdfind /opt
FROM python:3.9-alpine
@ -43,7 +45,7 @@ MAINTAINER [[ .docker.maintainer ]]
ENV LANG=[[ .locale.lang ]] \
TZ=[[ .locale.tz ]] \
PAPERLESS_MODE=all-in-one \
PATH=/opt/venv/bin:${PATH} \
PATH=/opt/paperless/venv/bin:${PATH} \
PAPERLESS_REDIS=redis://127.0.0.1:6379/0 \
PAPERLESS_DBENGINE=postgresql \
PAPERLESS_DBHOST=127.0.0.1 \
@ -77,6 +79,7 @@ ENV LANG=[[ .locale.lang ]] \
ADD https://git.lapiole.org/nomad/base_tools.git#master /
COPY --from=builder /opt /opt
COPY --from=builder /usr/share/nltk_data /usr/share/nltk_data
RUN set -euxo pipefail &&\
apk --no-cache add \
@ -100,6 +103,7 @@ RUN set -euxo pipefail &&\
libmagic \
pngquant \
zlib \
openblas \
supervisor \
&&\
addgroup --gid 8994 paperless &&\

View File

@ -7,7 +7,7 @@ if [ "${PAPERLESS_MODE}" != "all-in-one" -a "${PAPERLESS_MODE}" != "webserver" ]
exit 0
fi
source /opt/venv/bin/activate
source /opt/paperless/venv/bin/activate
echo "Migrating database"
cd /opt/paperless/src
./manage.py migrate

View File

@ -5,7 +5,7 @@ logfile=/dev/stdout
logfile_maxbytes=0
[program:webserver]
command=/opt/venv/bin/gunicorn -c /opt/paperless/gunicorn.conf.py --bind=%(ENV_PAPERLESS_BIND_ADDR)s:%(ENV_PAPERLESS_PORT)s paperless.asgi:application
command=/opt/paperless/venv/bin/gunicorn -c /opt/paperless/gunicorn.conf.py --bind=%(ENV_PAPERLESS_BIND_ADDR)s:%(ENV_PAPERLESS_PORT)s paperless.asgi:application
stdout_logfile=/proc/self/fd/1
stdout_logfile_backups=0
stdout_logfile_maxbytes=0
@ -16,7 +16,7 @@ autostart=true
autorestart=true
[program:consumer]
command=/opt/venv/bin/python3 manage.py document_consumer
command=/opt/paperless/venv/bin/python3 manage.py document_consumer
stdout_logfile=/proc/self/fd/1
stdout_logfile_backups=0
stdout_logfile_maxbytes=0
@ -27,7 +27,7 @@ autostart=true
autorestart=true
[program:scheduler]
command=/opt/venv/bin/celery --app paperless beat --loglevel INFO
command=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO
stdout_logfile=/proc/self/fd/1
stdout_logfile_backups=0
stdout_logfile_maxbytes=0
@ -38,7 +38,7 @@ autostart=true
autorestart=true
[program:task-queue]
command=/opt/venv/bin/celery --app paperless worker --loglevel INFO
command=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO
stdout_logfile=/proc/self/fd/1
stdout_logfile_backups=0
stdout_logfile_maxbytes=0

View File

@ -2,21 +2,21 @@
set -euo pipefail
source /opt/venv/bin/activate
source /opt/paperless/venv/bin/activate
cd /opt/paperless/src
if [ "${PAPERLESS_MODE}" = "all-in-one" ]; then
exec supervisor -c /etc/supervisord.conf -n
elif [ "${PAPERLESS_MODE}" = "webserver" ]; then
exec /opt/venv/bin/gunicorn \
exec /opt/paperless/venv/bin/gunicorn \
-c /opt/paperless/gunicorn.conf.py \
--bind=${PAPERLESS_BIND_ADDR}:${PAPERLESS_PORT} \
paperless.asgi:application
elif [ "${PAPERLESS_MODE}" = "consumer" ]; then
exec /opt/venv/bin/python3 manage.py document_consumer
exec /opt/paperless/venv/bin/python3 manage.py document_consumer
elif [ "${PAPERLESS_MODE}" = "scheduler" ]; then
exec /opt/venv/bin/celery --app paperless beat --loglevel INFO
exec /opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO
elif [ "${PAPERLESS_MODE}" = "task-queue" ]; then
exec /opt/venv/bin/celery --app paperless worker --loglevel INFO
exec /opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO
fi

View File

@ -31,7 +31,7 @@ paperless:
webserver:
# The Docker image to use
image: danielberteaud/paperless-ngx:1.17.4-1
image: danielberteaud/paperless-ngx:1.17.4-4
# Env vars to set in the container
env: {}