Feature: Add ahead of time compression of the static files for x86_64 (#4390)

Compressed staticfiles. x86_64 only at this point
This commit is contained in:
Trenton H
2023-10-20 16:22:05 -07:00
committed by GitHub
parent 9880f9ebc7
commit d480e91196
3 changed files with 25 additions and 3 deletions

View File

@@ -205,6 +205,10 @@ RUN --mount=type=cache,target=/root/.cache/pip/,id=pip-cache \
&& python3 -m pip install --no-cache-dir --upgrade wheel \
&& echo "Installing Python requirements" \
&& python3 -m pip install --default-timeout=1000 --requirement requirements.txt \
&& echo "Patching whitenoise for compression speedup" \
&& curl --fail --silent --show-error --location --output 484.patch https://github.com/evansd/whitenoise/pull/484.patch \
&& patch -d /usr/local/lib/python3.11/site-packages --verbose -p2 < 484.patch \
&& rm 484.patch \
&& echo "Installing NLTK data" \
&& python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" snowball_data \
&& python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" stopwords \
@@ -220,10 +224,10 @@ RUN --mount=type=cache,target=/root/.cache/pip/,id=pip-cache \
&& truncate --size 0 /var/log/*log
# copy backend
COPY ./src ./
COPY --chown=1000:1000 ./src ./
# copy frontend
COPY --from=compile-frontend /src/src/documents/static/frontend/ ./documents/static/frontend/
COPY --from=compile-frontend --chown=1000:1000 /src/src/documents/static/frontend/ ./documents/static/frontend/
# add users, setup scripts
# Mount the compiled frontend to expected location
@@ -237,7 +241,7 @@ RUN set -eux \
&& mkdir --parents --verbose /usr/src/paperless/consume \
&& mkdir --parents --verbose /usr/src/paperless/export \
&& echo "Adjusting all permissions" \
&& chown --recursive paperless:paperless /usr/src/paperless \
&& chown --from root:root --changes --recursive paperless:paperless /usr/src/paperless \
&& echo "Collecting static files" \
&& gosu paperless python3 manage.py collectstatic --clear --no-input --link \
&& gosu paperless python3 manage.py compilemessages