2025-07-22 08:39:40 UTC
156 MB
https://vojk.au
DONATION_URL DUCKDUCKGO_DEFAULT FOOTER_MESSAGE GIT_BRANCHmain
GIT_URLhttps://github.com/privau/searxng
GOOGLE_DEFAULTtrue
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
GRANIAN_BLOCKING_THREADS1
GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT300
GRANIAN_HOST::
GRANIAN_INTERFACEwsgi
GRANIAN_LOOPuvloop
GRANIAN_PORT8080
GRANIAN_PROCESS_NAMEsearxng
GRANIAN_WEBSOCKETSfalse
GRANIAN_WORKERS_KILL_TIMEOUT30
IMAGE_PROXYtrue
ISSUE_URLhttps://github.com/privau/searxng/issues
LIMITER NAME OPENMETRICS PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PRIVACYPOLICY PROXY PUBLIC_INSTANCE PYTHON_SHA25693e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
PYTHON_VERSION3.13.5
REDIS_URL SEARCH_DEFAULT_LANG SEARCH_ENGINE_ACCESS_DENIED[#000] sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 - 2.33% (3.62 MB)
[#001] sha256:d670f447b17c6913f6891c0b5c4e98829e79b8eec4f39b3b6438fa9e12a1fbb9 - 0.27% (437 KB)
[#002] sha256:3d20e089b191841d47188d1c0eb7831d40c0f4c1fea2aba0ceac344883ba1c8b - 7.68% (12 MB)
[#003] sha256:934ed7c6b3aa75551e550f21b21450f492fe2a02b1bddccdb5adbc0e074554ea - 0.0% (249 Bytes)
[#004] sha256:6d10f6c3ec481305f77566f3374a722ee7bd0f94c06c8044eb1dee6a08332d34 - 0.0% (140 Bytes)
[#005] sha256:01aa13755cb51cd3fcdfee0e29b52f2fcdad7cb9a2be54f6f63222aeedf3d72b - 0.42% (664 KB)
[#006] sha256:abd72169b08dd9f325333d60cfce32fdd025be31698da765abc6576c29cc04f4 - 0.0% (184 Bytes)
[#007] sha256:f7b6cb21f4b7fb898bd4a3cad41dbe936f58a0b6504fdde7a9364643acc49fed - 0.0% (156 Bytes)
[#008] sha256:7f55374778824fe8714c966050ad42c4dca6ea23508fa5fb178ca3cfa8252c5f - 89.26% (139 MB)
[#009] sha256:42c956f0fa2912fae02cb6bc53be46caf6b5d83efa28b6fc2e3aa07d64f145e3 - 0.0% (1.42 KB)
[#010] sha256:508d508be3ec3c2d7612c80ddfbc46495d48ad302e8e82e44a88844787b10edd - 0.0% (844 Bytes)
[#011] sha256:e817ba9d7201cbc0f2fec47e3778cd4e78393e6297cb683f1b0a0740b36c7766 - 0.0% (465 Bytes)
[#012] sha256:69fa3a88e274aab0ab2c36ad75acf629b9425783dcd340e2fa84b35564979650 - 0.0% (7.92 KB)
[#013] sha256:846e56e4db99e83fed9a2fd32972bddc3912a945c097ac8a18e4ec0fb2fb9ced - 0.0% (1.25 KB)
[#014] sha256:c3d0110696365f5e03a272ca20435cc5a453927289e100c677d38f89c4694ea2 - 0.01% (13.8 KB)
[#015] sha256:50feee34b4b7237e4b59a80eabc50f54f9467050ee57c415fa3e74a830be6f1b - 0.0% (593 Bytes)
[#016] sha256:6426ca3e6fa68f121e165b4082172735d032763dbe1d4cc8e4c51a932cecf9c9 - 0.0% (1.19 KB)
[#017] sha256:84872e23ddb1e22b3d0a12ebb3ae82834296234e1164574d4e1ce8a5f332f822 - 0.01% (13.9 KB)
[#018] sha256:3a2af20951df035d1b70cbfa77bec0c2f371a7b03c7ab01a0d9f81d852bf60d9 - 0.0% (612 Bytes)
[#019] sha256:740be84d90295d00b510b1cc253d318e3089b84d12b5539f305b6721ffcbd9a5 - 0.01% (16.4 KB)
[#020] sha256:9efa8f9174930a3e2bade7dd3e7a58dad6da9985657903a633eeb67e50390bfa - 0.0% (810 Bytes)
[#021] sha256:8cab7683bf75effb3867f0b2dd8ce2bfc5298b4d5eb9159d7446ac7560d4da14 - 0.01% (16.5 KB)
ADD alpine-minirootfs-3.22.1-x86_64.tar.gz / # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.5
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-07-22 08:39:13 UTC (buildkit.dockerfile.v0)WORKDIR /usr/local/searxng/
2025-07-22 08:39:14 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk add --no-cache libxslt # buildkit
2025-07-22 08:39:37 UTC (buildkit.dockerfile.v0)COPY --chown=root:root /tmp/.searxng.passwd /etc/passwd # buildkit
2025-07-22 08:39:37 UTC (buildkit.dockerfile.v0)COPY --chown=root:root /tmp/.searxng.group /etc/group # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng /usr/local/searxng /usr/local/searxng # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/run.sh /usr/local/bin/run.sh # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/limiter.toml /etc/searxng/limiter.toml # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/favicons.toml /etc/searxng/favicons.toml # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i "/'simple_style': EnumStringSetting(/,/choices=\['', 'auto', 'light', 'dark', 'black'\]/s/choices=\['', 'auto', 'light', 'dark', 'black'\]/choices=\['', 'auto', 'light', 'dark', 'black', 'paulgo', 'latte', 'frappe', 'macchiato', 'mocha', 'kagi', 'brave', 'moa', 'night', 'dracula'\]/" searx/preferences.py && sed -i "s/SIMPLE_STYLE = ('auto', 'light', 'dark', 'black')/SIMPLE_STYLE = ('auto', 'light', 'dark', 'black', 'paulgo', 'latte', 'frappe', 'macchiato', 'mocha', 'kagi', 'brave', 'moa', 'night', 'dracula')/" searx/settings_defaults.py && sed -i "s/{%- for name in \['auto', 'light', 'dark', 'black'\] -%}/{%- for name in \['auto', 'light', 'dark', 'black', 'paulgo', 'latte', 'frappe', 'macchiato', 'mocha', 'kagi', 'brave', 'moa', 'night', 'dracula'\] -%}/" searx/templates/simple/preferences/theme.html # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/privacy-policy/privacy-policy.html searx/templates/simple/privacy-policy.html # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i "/@app\.route('\/client<token>\.css', methods=\['GET', 'POST'\])/i \ \n@app.route('\/privacy', methods=\['GET'\])\ndef privacy_policy():return render('privacy-policy.html')\n" searx/webapp.py # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/captcha/captcha.html searx/templates/simple/captcha.html # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/captcha/captcha.py searx/captcha.py # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i '/search_obj = searx.search.SearchWithPlugins(search_query, sxng_request, sxng_request.user_plugins)/i\ from searx.captcha import handle_captcha\n if (captcha_response := handle_captcha(sxng_request, settings["server"]["secret_key"], raw_text_query, search_query, selected_locale, render)):\n return captcha_response\n' searx/webapp.py # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/auth/auth.py searx/auth.py # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i -e "/if output_format not in settings\\['search'\\]\\['formats'\\]:/a\\ from searx.auth import valid_api_key\\n if (not valid_api_key(sxng_request)):" -e 's|flask.abort(403)| flask.abort(403)|' searx/webapp.py && sed -i "/return Response('', mimetype='text\/css')/a \\\\n@app.route('/<key>/search', methods=['GET', 'POST'])\\ndef search_key(key=None):\\n from searx.auth import auth_search_key\\n return auth_search_key(sxng_request, key)" searx/webapp.py && sed -i "/3\. If the IP is not in either list, the request is not blocked\./a\\ from searx.auth import valid_api_key\\n if (valid_api_key(sxng_request)):\\n return None" searx/limiter.py # buildkit
2025-07-22 08:39:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i '/{% if autocomplete %}/,/{% endif %}/s|method="{{ opensearch_method }}"|method="GET"|g' searx/templates/simple/opensearch.xml # buildkit
2025-07-22 08:39:40 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i -e "/safe_search:/s/0/1/g" -e "/autocomplete:/s/\"\"/\"google\"/g" -e "/autocomplete_min:/s/4/0/g" -e "/favicon_resolver:/s/\"\"/\"google\"/g" -e "/port:/s/8888/8080/g" -e "/simple_style:/s/auto/macchiato/g" -e "/infinite_scroll:/s/false/true/g" -e "/query_in_title:/s/false/true/g" -e "s+donation_url: https://docs.searxng.org/donate.html+donation_url: false+g" -e '/default_lang:/s/ ""/ en/g' -e "/method:/s/\"POST\"/\"GET\"/g" -e "/http_protocol_version:/s/1.0/1.1/g" -e "/X-Content-Type-Options: nosniff/d" -e "/X-XSS-Protection: 1; mode=block/d" -e "/X-Robots-Tag: noindex, nofollow/d" -e "/Referrer-Policy: no-referrer/d" -e "/news:/{n;s/.*//}" -e "/files:/d" -e "/social media:/d" -e "/static_use_hash:/s/false/true/g" -e "s/ use_mobile_ui: false/ use_mobile_ui: true/g" -e "/disabled: false/d" -e "/name: wikipedia/s/$/\n disabled: true/g" -e "/name: wikidata/s/$/\n disabled: true/g" -e "/name: wikispecies/s/$/\n disabled: true/g" -e "/name: wikinews/s/$/\n disabled: true/g" -e "/name: wikibooks/s/$/\n disabled: true/g" -e "/name: wikivoyage/s/$/\n disabled: true/g" -e "/name: wikiversity/s/$/\n disabled: true/g" -e "/name: wikiquote/s/$/\n disabled: true/g" -e "/name: wikisource/s/$/\n disabled: true/g" -e "/name: wikicommons.images/s/$/\n disabled: true/g" -e "/name: pinterest/s/$/\n disabled: true/g" -e "/name: piped/s/$/\n disabled: true/g" -e "/name: piped.music/s/$/\n disabled: true/g" -e "/name: bandcamp/s/$/\n disabled: true/g" -e "/name: radio browser/s/$/\n disabled: true/g" -e "/name: mixcloud/s/$/\n disabled: true/g" -e "/name: hoogle/s/$/\n disabled: true/g" -e "/name: currency/s/$/\n disabled: true/g" -e "/name: qwant/s/$/\n disabled: true/g" -e "/name: btdigg/s/$/\n disabled: true/g" -e "/name: sepiasearch/s/$/\n disabled: true/g" -e "/name: dailymotion/s/$/\n disabled: true/g" -e "/name: deviantart/s/$/\n disabled: true/g" -e "/name: vimeo/s/$/\n disabled: true/g" -e "/name: openairepublications/s/$/\n disabled: true/g" -e "/name: library of congress/s/$/\n disabled: true/g" -e "/name: dictzone/s/$/\n disabled: true/g" -e "/name: baidu/s/$/\n disabled: true/g" -e "/name: lingva/s/$/\n disabled: true/g" -e "/name: genius/s/$/\n disabled: true/g" -e "/name: wallhaven/s/$/\n disabled: true/g" -e "/name: artic/s/$/\n disabled: true/g" -e "/name: flickr/s/$/\n disabled: true/g" -e "/name: unsplash/s/$/\n disabled: true/g" -e "/name: gentoo/s/$/\n disabled: true/g" -e "/name: openverse/s/$/\n disabled: true/g" -e "/name: google videos/s/$/\n disabled: true/g" -e "/name: yahoo news/s/$/\n disabled: true/g" -e "/name: bing news/s/$/\n disabled: true/g" -e "/name: tineye/s/$/\n disabled: true/g" -e "/engine: startpage/s/$/\n disabled: true/g" -e "/engine: wikipedia/s/$/\n timeout: 1.0/g" -e "/shortcut: fd/{n;s/.*/ disabled: false/}" -e "/searx.plugins.calculator.SXNGPlugin:/,/^[^[:space:]]/s/active: true/active: false/" searx/settings.yml; # buildkit
2025-07-22 08:39:40 UTC (buildkit.dockerfile.v0)EXPOSE map[8080/tcp:{}]
2025-07-22 08:39:40 UTC (buildkit.dockerfile.v0)ENV GRANIAN_PROCESS_NAME=searxng GRANIAN_INTERFACE=wsgi GRANIAN_HOST=:: GRANIAN_PORT=8080 GRANIAN_WEBSOCKETS=false GRANIAN_LOOP=uvloop GRANIAN_BLOCKING_THREADS=1 GRANIAN_WORKERS_KILL_TIMEOUT=30 GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT=300 IMAGE_PROXY=true PROXY= REDIS_URL= LIMITER= BASE_URL= CAPTCHA= AUTHORIZED_API= NAME= SEARCH_DEFAULT_LANG= SEARCH_ENGINE_ACCESS_DENIED= PUBLIC_INSTANCE= GOOGLE_DEFAULT=true BING_DEFAULT= BRAVE_DEFAULT= DUCKDUCKGO_DEFAULT= OPENMETRICS= PRIVACYPOLICY= DONATION_URL= CONTACT=https://vojk.au FOOTER_MESSAGE= ISSUE_URL=https://github.com/privau/searxng/issues GIT_URL=https://github.com/privau/searxng GIT_BRANCH=main
2025-07-22 08:39:40 UTC (buildkit.dockerfile.v0)CMD ["run.sh"]
2025-07-22 08:42:30 UTC
156 MB
https://vojk.au
DONATION_URL DUCKDUCKGO_DEFAULT FOOTER_MESSAGE GIT_BRANCHmain
GIT_URLhttps://github.com/privau/searxng
GOOGLE_DEFAULTtrue
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
GRANIAN_BLOCKING_THREADS1
GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT300
GRANIAN_HOST::
GRANIAN_INTERFACEwsgi
GRANIAN_LOOPuvloop
GRANIAN_PORT8080
GRANIAN_PROCESS_NAMEsearxng
GRANIAN_WEBSOCKETSfalse
GRANIAN_WORKERS_KILL_TIMEOUT30
IMAGE_PROXYtrue
ISSUE_URLhttps://github.com/privau/searxng/issues
LIMITER NAME OPENMETRICS PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PRIVACYPOLICY PROXY PUBLIC_INSTANCE PYTHON_SHA25693e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
PYTHON_VERSION3.13.5
REDIS_URL SEARCH_DEFAULT_LANG SEARCH_ENGINE_ACCESS_DENIED[#000] sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 - 2.53% (3.94 MB)
[#001] sha256:d125fdbed4e4ca1d8631d4c952dfbc9fd0aded64865d69eb3c9951e98d6c76fb - 0.28% (439 KB)
[#002] sha256:bcd636e59cfbeb2967d10c7fe5f443b4d16c981fbd523ffee59799ffcaaa8c58 - 7.7% (12 MB)
[#003] sha256:2829f301ad519e4a03916d33dfe9077d0c9828693fdac899af12841fa06a3593 - 0.0% (248 Bytes)
[#004] sha256:e752007515a5e1e3cde66610be8f82ee978a77e942defa32a56b30314f65d0e0 - 0.0% (141 Bytes)
[#005] sha256:e2107527891074d90c6f56c968fb3b200a0b61bee96d34ff759bbda01d87e6c2 - 0.42% (667 KB)
[#006] sha256:b8e18b9e7c9643237f43bbb958a9096a19c409270472eef786938830c3b7eb8b - 0.0% (184 Bytes)
[#007] sha256:32b06f2e9f5e80203cc1fbae8af50224b7c3197c211a7ac8523df5910db2e608 - 0.0% (156 Bytes)
[#008] sha256:217df7823816401e6353f15ce91c907737ccd4f3b736b545499f1e71e3f889a0 - 89.03% (138 MB)
[#009] sha256:3ce72693deddc313b99484f42c88ecc293c765afc368423312c865edfdeb85ff - 0.0% (1.42 KB)
[#010] sha256:93c5b3d8dbb96fb1ab04e215d63ba1612ebf6d070c32aca26c04193bf5bc0172 - 0.0% (845 Bytes)
[#011] sha256:587fba027039197f3f71ebb53d8f3a85e84408863a3bc028c5942ca247d8a609 - 0.0% (466 Bytes)
[#012] sha256:9873d4ecef777c3e78c8df6aae6f6f61f79e0e90869a7e3413d9231295fe011e - 0.0% (7.92 KB)
[#013] sha256:14edd348bd69ba43b1232883654ff78b98a1a0fc5eb7f3bb2a55c6e630cd12f9 - 0.0% (1.25 KB)
[#014] sha256:caf86500d5cdcc69cd71b7a09449e87eb480412589561bf7017170e9be72a878 - 0.01% (13.8 KB)
[#015] sha256:eaadfe549d699b0fad530663789e646b0356e14c9ed66a9f4c8d37e324fda251 - 0.0% (593 Bytes)
[#016] sha256:c6a3519e170b0f0a56d043f0c5baca3cde545e8e3953e926b7c7bb3a08777831 - 0.0% (1.19 KB)
[#017] sha256:7e15dd5b379169ecf9d22806a22a6f6dfe7d1d37afed41ced10e0609cbc48d23 - 0.01% (13.9 KB)
[#018] sha256:9958eea793db8244a2327764f2d28ed15ba869325404b5de042400ad12032de1 - 0.0% (616 Bytes)
[#019] sha256:c5cd302854dcc7ade102170812ebd82c811018fb0231c677129506ae5ebe45f6 - 0.01% (16.4 KB)
[#020] sha256:63c0ef45b0a6435a1520eda5d67b3bfde657b39c7d8ab0b2bd6ab9f02e63634d - 0.0% (811 Bytes)
[#021] sha256:e11dbbe391c88c356dba9074696cc7888001c991d8e2d5275719cd06ae7a33db - 0.01% (16.5 KB)
ADD alpine-minirootfs-3.22.1-aarch64.tar.gz / # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.5
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-07-22 08:40:01 UTC (buildkit.dockerfile.v0)WORKDIR /usr/local/searxng/
2025-07-22 08:40:04 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apk add --no-cache libxslt # buildkit
2025-07-22 08:42:27 UTC (buildkit.dockerfile.v0)COPY --chown=root:root /tmp/.searxng.passwd /etc/passwd # buildkit
2025-07-22 08:42:27 UTC (buildkit.dockerfile.v0)COPY --chown=root:root /tmp/.searxng.group /etc/group # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng /usr/local/searxng /usr/local/searxng # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/run.sh /usr/local/bin/run.sh # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/limiter.toml /etc/searxng/limiter.toml # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/favicons.toml /etc/searxng/favicons.toml # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i "/'simple_style': EnumStringSetting(/,/choices=\['', 'auto', 'light', 'dark', 'black'\]/s/choices=\['', 'auto', 'light', 'dark', 'black'\]/choices=\['', 'auto', 'light', 'dark', 'black', 'paulgo', 'latte', 'frappe', 'macchiato', 'mocha', 'kagi', 'brave', 'moa', 'night', 'dracula'\]/" searx/preferences.py && sed -i "s/SIMPLE_STYLE = ('auto', 'light', 'dark', 'black')/SIMPLE_STYLE = ('auto', 'light', 'dark', 'black', 'paulgo', 'latte', 'frappe', 'macchiato', 'mocha', 'kagi', 'brave', 'moa', 'night', 'dracula')/" searx/settings_defaults.py && sed -i "s/{%- for name in \['auto', 'light', 'dark', 'black'\] -%}/{%- for name in \['auto', 'light', 'dark', 'black', 'paulgo', 'latte', 'frappe', 'macchiato', 'mocha', 'kagi', 'brave', 'moa', 'night', 'dracula'\] -%}/" searx/templates/simple/preferences/theme.html # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/privacy-policy/privacy-policy.html searx/templates/simple/privacy-policy.html # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i "/@app\.route('\/client<token>\.css', methods=\['GET', 'POST'\])/i \ \n@app.route('\/privacy', methods=\['GET'\])\ndef privacy_policy():return render('privacy-policy.html')\n" searx/webapp.py # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/captcha/captcha.html searx/templates/simple/captcha.html # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/captcha/captcha.py searx/captcha.py # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i '/search_obj = searx.search.SearchWithPlugins(search_query, sxng_request, sxng_request.user_plugins)/i\ from searx.captcha import handle_captcha\n if (captcha_response := handle_captcha(sxng_request, settings["server"]["secret_key"], raw_text_query, search_query, selected_locale, render)):\n return captcha_response\n' searx/webapp.py # buildkit
2025-07-22 08:42:29 UTC (buildkit.dockerfile.v0)COPY --chown=searxng:searxng ./src/auth/auth.py searx/auth.py # buildkit
2025-07-22 08:42:30 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i -e "/if output_format not in settings\\['search'\\]\\['formats'\\]:/a\\ from searx.auth import valid_api_key\\n if (not valid_api_key(sxng_request)):" -e 's|flask.abort(403)| flask.abort(403)|' searx/webapp.py && sed -i "/return Response('', mimetype='text\/css')/a \\\\n@app.route('/<key>/search', methods=['GET', 'POST'])\\ndef search_key(key=None):\\n from searx.auth import auth_search_key\\n return auth_search_key(sxng_request, key)" searx/webapp.py && sed -i "/3\. If the IP is not in either list, the request is not blocked\./a\\ from searx.auth import valid_api_key\\n if (valid_api_key(sxng_request)):\\n return None" searx/limiter.py # buildkit
2025-07-22 08:42:30 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i '/{% if autocomplete %}/,/{% endif %}/s|method="{{ opensearch_method }}"|method="GET"|g' searx/templates/simple/opensearch.xml # buildkit
2025-07-22 08:42:30 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i -e "/safe_search:/s/0/1/g" -e "/autocomplete:/s/\"\"/\"google\"/g" -e "/autocomplete_min:/s/4/0/g" -e "/favicon_resolver:/s/\"\"/\"google\"/g" -e "/port:/s/8888/8080/g" -e "/simple_style:/s/auto/macchiato/g" -e "/infinite_scroll:/s/false/true/g" -e "/query_in_title:/s/false/true/g" -e "s+donation_url: https://docs.searxng.org/donate.html+donation_url: false+g" -e '/default_lang:/s/ ""/ en/g' -e "/method:/s/\"POST\"/\"GET\"/g" -e "/http_protocol_version:/s/1.0/1.1/g" -e "/X-Content-Type-Options: nosniff/d" -e "/X-XSS-Protection: 1; mode=block/d" -e "/X-Robots-Tag: noindex, nofollow/d" -e "/Referrer-Policy: no-referrer/d" -e "/news:/{n;s/.*//}" -e "/files:/d" -e "/social media:/d" -e "/static_use_hash:/s/false/true/g" -e "s/ use_mobile_ui: false/ use_mobile_ui: true/g" -e "/disabled: false/d" -e "/name: wikipedia/s/$/\n disabled: true/g" -e "/name: wikidata/s/$/\n disabled: true/g" -e "/name: wikispecies/s/$/\n disabled: true/g" -e "/name: wikinews/s/$/\n disabled: true/g" -e "/name: wikibooks/s/$/\n disabled: true/g" -e "/name: wikivoyage/s/$/\n disabled: true/g" -e "/name: wikiversity/s/$/\n disabled: true/g" -e "/name: wikiquote/s/$/\n disabled: true/g" -e "/name: wikisource/s/$/\n disabled: true/g" -e "/name: wikicommons.images/s/$/\n disabled: true/g" -e "/name: pinterest/s/$/\n disabled: true/g" -e "/name: piped/s/$/\n disabled: true/g" -e "/name: piped.music/s/$/\n disabled: true/g" -e "/name: bandcamp/s/$/\n disabled: true/g" -e "/name: radio browser/s/$/\n disabled: true/g" -e "/name: mixcloud/s/$/\n disabled: true/g" -e "/name: hoogle/s/$/\n disabled: true/g" -e "/name: currency/s/$/\n disabled: true/g" -e "/name: qwant/s/$/\n disabled: true/g" -e "/name: btdigg/s/$/\n disabled: true/g" -e "/name: sepiasearch/s/$/\n disabled: true/g" -e "/name: dailymotion/s/$/\n disabled: true/g" -e "/name: deviantart/s/$/\n disabled: true/g" -e "/name: vimeo/s/$/\n disabled: true/g" -e "/name: openairepublications/s/$/\n disabled: true/g" -e "/name: library of congress/s/$/\n disabled: true/g" -e "/name: dictzone/s/$/\n disabled: true/g" -e "/name: baidu/s/$/\n disabled: true/g" -e "/name: lingva/s/$/\n disabled: true/g" -e "/name: genius/s/$/\n disabled: true/g" -e "/name: wallhaven/s/$/\n disabled: true/g" -e "/name: artic/s/$/\n disabled: true/g" -e "/name: flickr/s/$/\n disabled: true/g" -e "/name: unsplash/s/$/\n disabled: true/g" -e "/name: gentoo/s/$/\n disabled: true/g" -e "/name: openverse/s/$/\n disabled: true/g" -e "/name: google videos/s/$/\n disabled: true/g" -e "/name: yahoo news/s/$/\n disabled: true/g" -e "/name: bing news/s/$/\n disabled: true/g" -e "/name: tineye/s/$/\n disabled: true/g" -e "/engine: startpage/s/$/\n disabled: true/g" -e "/engine: wikipedia/s/$/\n timeout: 1.0/g" -e "/shortcut: fd/{n;s/.*/ disabled: false/}" -e "/searx.plugins.calculator.SXNGPlugin:/,/^[^[:space:]]/s/active: true/active: false/" searx/settings.yml; # buildkit
2025-07-22 08:42:30 UTC (buildkit.dockerfile.v0)EXPOSE map[8080/tcp:{}]
2025-07-22 08:42:30 UTC (buildkit.dockerfile.v0)ENV GRANIAN_PROCESS_NAME=searxng GRANIAN_INTERFACE=wsgi GRANIAN_HOST=:: GRANIAN_PORT=8080 GRANIAN_WEBSOCKETS=false GRANIAN_LOOP=uvloop GRANIAN_BLOCKING_THREADS=1 GRANIAN_WORKERS_KILL_TIMEOUT=30 GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT=300 IMAGE_PROXY=true PROXY= REDIS_URL= LIMITER= BASE_URL= CAPTCHA= AUTHORIZED_API= NAME= SEARCH_DEFAULT_LANG= SEARCH_ENGINE_ACCESS_DENIED= PUBLIC_INSTANCE= GOOGLE_DEFAULT=true BING_DEFAULT= BRAVE_DEFAULT= DUCKDUCKGO_DEFAULT= OPENMETRICS= PRIVACYPOLICY= DONATION_URL= CONTACT=https://vojk.au FOOTER_MESSAGE= ISSUE_URL=https://github.com/privau/searxng/issues GIT_URL=https://github.com/privau/searxng GIT_BRANCH=main
2025-07-22 08:42:30 UTC (buildkit.dockerfile.v0)CMD ["run.sh"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.