summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalf <alex@al-f.net>2020-02-25 17:25:11 +0100
committerDalf <alex@al-f.net>2020-02-25 17:25:11 +0100
commit678d41d75bcdf14b17fa13f69aa323a9f8716faa (patch)
treed07dfb824dff02fa7b519dd90526a1528f6c3142
parent6a3ef5561ba48e287f0b9c03a0b6d2f13b703077 (diff)
downloadsearxng-678d41d75bcdf14b17fa13f69aa323a9f8716faa.tar.gz
searxng-678d41d75bcdf14b17fa13f69aa323a9f8716faa.zip
[enh] Docker image: uwsgi serves the static files directly.
When the image is built, the static files are compressed with gzip and brotli. The expires header is set to one day (same as Flask) There is not etag header (Flask does add an etag header)
-rw-r--r--Dockerfile7
-rw-r--r--dockerfiles/uwsgi.ini7
2 files changed, 12 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile
index 9885fb794..f61320bf7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -50,6 +50,7 @@ RUN apk upgrade --no-cache \
tini \
uwsgi \
uwsgi-python3 \
+ brotli \
&& pip3 install --upgrade pip \
&& pip3 install --no-cache -r requirements.txt \
&& apk del build-dependencies
@@ -61,8 +62,10 @@ RUN su searx -c "/usr/bin/python3 -m compileall -q searx"; \
touch -c --date=@${TIMESTAMP_UWSGI} dockerfiles/uwsgi.ini; \
if [ ! -z $VERSION_GITCOMMIT ]; then\
echo "VERSION_STRING = VERSION_STRING + \"-$VERSION_GITCOMMIT\"" >> /usr/local/searx/searx/version.py; \
- fi
-
+ fi; \
+ find /usr/local/searx/searx/static -a \( -name '*.html' -o -name '*.css' -o -name '*.js' \
+ -o -name '*.svg' -o -name '*.ttf' -o -name '*.eot' \) \
+ -type f -exec gzip -9 -k {} \+ -exec brotli --best {} \+
# Keep this argument at the end since it change each time
ARG LABEL_DATE=
diff --git a/dockerfiles/uwsgi.ini b/dockerfiles/uwsgi.ini
index ecc4b394e..398a440d9 100644
--- a/dockerfiles/uwsgi.ini
+++ b/dockerfiles/uwsgi.ini
@@ -35,3 +35,10 @@ logto = /var/log/uwsgi/uwsgi.log
# No keep alive
# See https://github.com/searx/searx-docker/issues/24
add-header = Connection: close
+
+# uwsgi serves the static files
+# expires set to one day as Flask does
+static-map = /static=/usr/local/searx/searx/static
+static-expires = /* 864000
+static-gzip-all = True
+offload-threads = %k