diff options
| author | Ivan Gabaldon <igabaldon@inetol.net> | 2025-05-04 22:27:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-04 22:27:53 +0200 |
| commit | 2e74d863210c0d21b9e0a64576dcd24237f23f8c (patch) | |
| tree | e54babd09e0b3aadf31d25bd16c156831045565b /dockerfiles | |
| parent | 19b116f1d7aaea2ab2b00868003e9dd852eabbe0 (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-x | dockerfiles/docker-entrypoint.sh | 14 | ||||
| -rw-r--r-- | dockerfiles/uwsgi.ini | 5 |
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 |