summaryrefslogtreecommitdiff
path: root/docs/admin/installation-docker.rst
AgeCommit message (Collapse)Author
2025-10-10docs: remove unsupported `--replace` flag from Docker command (#5288)Mehmet Sait Cubukcu
2025-09-23[enh] container: custom certificates (#5238)Ivan Gabaldon
Let container instance administrators to add custom certificates: https://docs.searxng.org/admin/installation-docker.html#custom-certificates Closes https://github.com/searxng/searxng/issues/5206
2025-08-07[enh] container: tidy builds (#5086)Ivan Gabaldon
Building the container currently does not work properly. When rebuilding several times with `make container`, `version_frozen.py` is recreated, which wouldn't be an issue if the file’s timestamp was constant. Now, when creating `version_frozen.py`, it will have the same timestamp as the commit when it was created. (`version_frozen.py` is moved to a dedicated layer). Reusing "builder" cache when building "dist" could be slow (CD reports 2 seconds, but locally I've seen it take up to 10 seconds), so the Dockerfile is now split and we save a couple steps by importing the "builder" image directly. The last changes made it possible to remove the layer cache in "builder", since the overhead is now greater than building the layers from scratch. Until now, all "dist" layers were squashed into a single layer, which in most cases is a good idea (except for storage/delivery pricing/overhead), but in our case, since we manage the entire pipeline, we can ignore this and share layers between builds. This means (for example) that if we change files unrelated to the container in several consecutive commits (documentation changes), we don't have to push the entire image to registry, but only the different layers (`version_frozen.py` in this example). The same applies when pulling, as only the layers that have changed compared to the local layers will be downloaded (that's the theory, we'll see if this works as expected or if we need to tweak something else).
2025-07-04[mod] container: replace uWSGI with Granian (#4820)Ivan Gabaldon
* [mod] container: replace uWSGI with Granian The configuration in Granian is handled with ENVs, much more convenient and practical for updating. The settings have been tested for over two months in a production instance, being usable on small to somewhat large instances without having to modify anything. It also removes the patch functions and ENVs abstraction from the entrypoint, this makes it possible to run the container with immutable configuration. In some setups, It may be desired to have the volumes/files under a specific uid/gid (other than searxng:searxng), if the entrypoint has root permissions it will chown automatically on every start, which may not be desired. Explicitly setting the new ENV `FORCE_OWNERSHIP=false` will prevent ownership from being modified. No manual migration is necessary **unless** the user has changed the default uWSGI configuration or has a very specific setup. Closes https://github.com/searxng/searxng/issues/4894 Closes https://github.com/searxng/searxng/issues/4818 Closes https://github.com/searxng/searxng/issues/4802 Supersedes https://github.com/searxng/searxng/pull/4596 Related https://github.com/searxng/searxng/discussions/4479 * [mod] docs: add container/granian All container documentation has been recreated. A new documentation page has been created for Granian. * [enh] misc: apply suggestions Minor documentation changes. Suggested https://github.com/searxng/searxng/pull/4820#discussion_r2134539259 Suggested https://github.com/searxng/searxng/pull/4820#discussion_r2134538610 Suggested https://github.com/searxng/searxng/pull/4820#discussion_r2134827964 Suggested https://github.com/searxng/searxng/pull/4820#discussion_r2134544300 Suggested https://github.com/searxng/searxng/pull/4820#discussion_r2149387388 --------- Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Co-authored-by: Ivan Gabaldon <igabaldon@inetol.net> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2025-06-25[docs] Docker's entrypoint.sh does no longer have an help option -hMarkus Heiser
The new Docker entrypoint.sh script implemented in PR: - https://github.com/searxng/searxng/pull/4793 does no longer have a `-h` option [1]. When building the `make docs` a warming is shown:: WARNING: Unexpected return code 2 from command Command(command=('../container/entrypoint.sh', '-h') .. (output='../container/entrypoint.sh: 152: SEARXNG_VERSION: parameter not set') [1] https://github.com/searxng/searxng/pull/4793/files#diff-694a402a03e8de5aa227b1c0294ffdc072b6bac09b4dcbe144dc7d97d4e07159L35 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-05-20[mod] container: refactor entrypoint scriptIvan Gabaldon
That entrypoint is prone to screw things up, especially with permission handling. The new script handles initialization better and fixes some issues like delayed settings update via ENVs and timestamp overwriting, also adjusts what should be copied into the container. Related https://github.com/searxng/searxng/pull/4721#issuecomment-2850272129
2025-05-11[mod] rework container deployment (#4764)Ivan Gabaldon
container.yml will run after integration.yml COMPLETES successfully and in master branch. Style changes, cleanup and improved integration with CI by leveraging the use of shared cache between all workflows. * Podman is now supported to build the container images (Docker also received a refactor, merging both build and buildx) * Container images are being built by Buildah instead of Docker BuildKit. * Container images are tested before release. * Splitting "modern" (amd64 & arm64) and "legacy" (armv7) arches on different Dockerfiles allowing future optimizations.
2023-11-12Docker: add UWSGI_WORKERS and UWSGI_THREAD environment variables (#2992)Alexandre Flament
* Docker: add UWSGI_WORKERS and UWSGI_THREAD. UWSGI_WORKERS specifies the number of process. UWSGI_THREADS specifies the number of threads. The Docker convention is to specify the whole configuration through environment variables. While not done in SearXNG, these two additional variables allows admins to skip uwsgi.ini In additional, https://github.com/searxng/preview-environments starts Docker without additional files through searxng-helm-chat. Each instance consumes 1Go of RAM which is a lot especially when there are a lot of instances / pull requests. * [scripts] add environments UWSGI_WORKERS and UWSGI_THREADS - UWSGI_WORKERS specifies the number of process. - UWSGI_THREADS specifies the number of threads. Templates for uwsgi scripts can be tested by:: UWSGI_WORKERS=8 UWSGI_THREADS=9 \ ./utils/searxng.sh --cmd\ eval "echo \"$(cat utils/templates/etc/uwsgi/*/searxng.ini*)\""\ | grep "workers\|threads" Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> --------- Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2023-08-13[fix] typos in documentation & messagesToxyFlog1627
2023-04-21[fix] typos/grammar in docsspalinger
2022-07-30[docs] corrections from @tiekoetter's reviewLéon Tiekötter
2022-07-30[doc] update documentation of the installation proceduresMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-11-18[brand] SearXNG - docs rename links and fix documentationMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-12SearXNG: dockerAlexandre Flament
2021-09-13[brand] docs - normalize project name to SearXNGMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[doc] docker: revision and preparation of the documentationMarkus Heiser
- add sidebars with addition infos about commands and docker in general - fix long lines & indentation - correct link to https://github.com/searxng/searxng-docker Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-05-17[mod] docker-entrypoint.sh - add script to make test.sh (shellcheck)Markus Heiser
Add script docker-entrypoint.sh to shellcheck and try to _simplify_ and _normalize_ some parts: - fix issues reported by shellcheck - don't mix tab and space indent - command 'help' replaced by '-h': ./dockerfiles/docker-entrypoint.sh -h - replace printf in help() by 'cat <<EOF' Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-28[docker] multiarch support: linux/amd64,linux/arm64,linux/arm/v7Alexandre Flament
make docker.buildx : build and push multiarch build. (it can't be only build) use buildx with the --cache-from and --cache-to options to cache the layers (only the last built is cached)
2021-04-23[doc] modify docs to fit to the new build boilerplateMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-09-28[fix] migration from github.com/asciimoo/searx to github.com/searx/searx : ↵Alexandre Flament
fix URLs
2020-09-10[fix] docker and k8s: run searxAlexandre Flament
fix #2181
2020-07-22[enh] update documentation about dockerDalf
2020-03-02docs: generic documentation from the installation scriptsMarkus Heiser
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>