summaryrefslogtreecommitdiff
path: root/dockerfiles
diff options
context:
space:
mode:
authorIvan Gabaldon <igabaldon@inetol.net>2025-05-04 22:27:53 +0200
committerGitHub <noreply@github.com>2025-05-04 22:27:53 +0200
commit2e74d863210c0d21b9e0a64576dcd24237f23f8c (patch)
treee54babd09e0b3aadf31d25bd16c156831045565b /dockerfiles
parent19b116f1d7aaea2ab2b00868003e9dd852eabbe0 (diff)
Rework Dockerfile (#4699)
This is one of various PR to refactor the entire SearXNG Docker workflow. Switches to Python glibc based images, all dependencies are installed via pip and not from system repositories, and several minor changes. This PR will increase the image size from 194.9 MB to 345.47 MB (amd64), this is due to ARMv7 images (needs dependencies for wheels compilation and runtime (?)) and uWSGI webserver. Later PR will reduce the final image size.
Diffstat (limited to 'dockerfiles')
-rwxr-xr-xdockerfiles/docker-entrypoint.sh14
-rw-r--r--dockerfiles/uwsgi.ini5
2 files changed, 3 insertions, 16 deletions
diff --git a/dockerfiles/docker-entrypoint.sh b/dockerfiles/docker-entrypoint.sh
index 771780bb8..3668fb589 100755
--- a/dockerfiles/docker-entrypoint.sh
+++ b/dockerfiles/docker-entrypoint.sh
@@ -43,15 +43,7 @@ do
esac
done
-get_searxng_version(){
- su searxng -c \
- 'python3 -c "import six; import searx.version; six.print_(searx.version.VERSION_STRING)"' \
- 2>/dev/null
-}
-
-SEARXNG_VERSION="$(get_searxng_version)"
-export SEARXNG_VERSION
-echo "SearXNG version ${SEARXNG_VERSION}"
+echo "SearXNG version $SEARXNG_VERSION"
# helpers to update the configuration files
patch_uwsgi_settings() {
@@ -76,7 +68,7 @@ patch_searxng_settings() {
-e "s|base_url: false|base_url: ${BASE_URL}|g" \
-e "s/instance_name: \"SearXNG\"/instance_name: \"${INSTANCE_NAME}\"/g" \
-e "s/autocomplete: \"\"/autocomplete: \"${AUTOCOMPLETE}\"/g" \
- -e "s/ultrasecretkey/$(openssl rand -hex 32)/g" \
+ -e "s/ultrasecretkey/$(head -c 24 /dev/urandom | base64 | tr -dc 'a-zA-Z0-9')/g" \
"${CONF}"
# Morty configuration
@@ -172,4 +164,4 @@ printf 'Listen on %s\n' "${BIND_ADDRESS}"
# Start uwsgi
# TODO: "--http-socket" will be removed in the future (see uwsgi.ini.new config file): https://github.com/searxng/searxng/pull/4578
-exec uwsgi --http-socket "${BIND_ADDRESS}" "${UWSGI_SETTINGS_PATH}"
+exec /usr/local/searxng/venv/bin/uwsgi --http-socket "${BIND_ADDRESS}" "${UWSGI_SETTINGS_PATH}"
diff --git a/dockerfiles/uwsgi.ini b/dockerfiles/uwsgi.ini
index dfde9109a..357d3c40a 100644
--- a/dockerfiles/uwsgi.ini
+++ b/dockerfiles/uwsgi.ini
@@ -3,10 +3,6 @@
# default value: [::]:8080 (see Dockerfile)
http-socket = $(BIND_ADDRESS)
-# Who will run the code
-uid = searxng
-gid = searxng
-
# Number of workers (usually CPU count)
# default value: %k (= number of CPU core, see Dockerfile)
workers = $(UWSGI_WORKERS)
@@ -21,7 +17,6 @@ chmod-socket = 666
# Plugin to use and interpreter config
single-interpreter = true
master = true
-plugin = python3
lazy-apps = true
enable-threads = true