<feed xmlns='http://www.w3.org/2005/Atom'>
<title>searxng/docs/admin/installation-docker.rst, branch custom</title>
<subtitle>Free internet metasearch engine which aggregates results from various search services and databases</subtitle>
<id>https://git.ikboikov.net/searxng/atom?h=custom</id>
<link rel='self' href='https://git.ikboikov.net/searxng/atom?h=custom'/>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/'/>
<updated>2026-07-03T14:10:04Z</updated>
<entry>
<title>[mod] container: `docker.io` base source (#6344)</title>
<updated>2026-07-03T14:10:04Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2026-07-03T14:10:04Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=747cec4c2304fc2e06ceb4a46dbe25bfb769db1e'/>
<id>urn:sha1:747cec4c2304fc2e06ceb4a46dbe25bfb769db1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[fix] docs: container compose typo (#5952)</title>
<updated>2026-04-04T19:57:32Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2026-04-04T19:57:32Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=69f04d59dc1ac0707f91a962e8c18c388ae0294e'/>
<id>urn:sha1:69f04d59dc1ac0707f91a962e8c18c388ae0294e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[mod] container: rework compose (#5906)</title>
<updated>2026-03-28T15:45:06Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2026-03-28T15:45:06Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=6b9856d6438a546cbacbcb401334c8bdd33385b6'/>
<id>urn:sha1:6b9856d6438a546cbacbcb401334c8bdd33385b6</id>
<content type='text'>
* [mod] container: rework compose

See https://docs.searxng.org/admin/installation-docker.html#migrate-from-searxng-docker

* [mod] container: apply suggestions

https://github.com/searxng/searxng/pull/5906#discussion_r3004917087
https://github.com/searxng/searxng/pull/5906#discussion_r3004917090
https://github.com/searxng/searxng/pull/5906#discussion_r3004917084</content>
</entry>
<entry>
<title>docs: remove unsupported `--replace` flag from Docker command (#5288)</title>
<updated>2025-10-10T18:31:48Z</updated>
<author>
<name>Mehmet Sait Cubukcu</name>
<email>109916532+cubukcum@users.noreply.github.com</email>
</author>
<published>2025-10-10T18:31:48Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=613c1aa8ebe3b22e5be01dad03ed52cc0fe0d729'/>
<id>urn:sha1:613c1aa8ebe3b22e5be01dad03ed52cc0fe0d729</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[enh] container: custom certificates (#5238)</title>
<updated>2025-09-23T19:57:29Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2025-09-23T19:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=3bf702447b0c23510cf095737b7ad3e7a9f09279'/>
<id>urn:sha1:3bf702447b0c23510cf095737b7ad3e7a9f09279</id>
<content type='text'>
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</content>
</entry>
<entry>
<title>[enh] container: tidy builds (#5086)</title>
<updated>2025-08-07T08:46:26Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2025-08-07T08:46:26Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=3de7a6da2dba72057a75d54b4b9fd864dee230e9'/>
<id>urn:sha1:3de7a6da2dba72057a75d54b4b9fd864dee230e9</id>
<content type='text'>
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).</content>
</entry>
<entry>
<title>[mod] container: replace uWSGI with Granian (#4820)</title>
<updated>2025-07-04T12:35:28Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2025-07-04T12:35:28Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=01be2612ab845771929181592931464f179357ea'/>
<id>urn:sha1:01be2612ab845771929181592931464f179357ea</id>
<content type='text'>
* [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 &lt;markus.heiser@darmarit.de&gt;
Co-authored-by: Ivan Gabaldon &lt;igabaldon@inetol.net&gt;
Co-authored-by: Markus Heiser &lt;markus.heiser@darmarit.de&gt;</content>
</entry>
<entry>
<title>[docs] Docker's entrypoint.sh does no longer have an help option -h</title>
<updated>2025-06-25T07:32:01Z</updated>
<author>
<name>Markus Heiser</name>
<email>markus@book</email>
</author>
<published>2025-06-25T07:17:38Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=776ac0add822612d749965d4d354f3ad0ce73a70'/>
<id>urn:sha1:776ac0add822612d749965d4d354f3ad0ce73a70</id>
<content type='text'>
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 &lt;markus.heiser@darmarit.de&gt;
</content>
</entry>
<entry>
<title>[mod] container: refactor entrypoint script</title>
<updated>2025-05-20T09:49:30Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2025-05-16T09:16:41Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=749de829d5bad6a05ebe1a733a6bd942c1a386ec'/>
<id>urn:sha1:749de829d5bad6a05ebe1a733a6bd942c1a386ec</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>[mod] rework container deployment (#4764)</title>
<updated>2025-05-11T16:12:51Z</updated>
<author>
<name>Ivan Gabaldon</name>
<email>igabaldon@inetol.net</email>
</author>
<published>2025-05-11T16:12:51Z</published>
<link rel='alternate' type='text/html' href='https://git.ikboikov.net/searxng/commit/?id=d16854e67a5bf2f640aabf119c9b50f5a1a3f24f'/>
<id>urn:sha1:d16854e67a5bf2f640aabf119c9b50f5a1a3f24f</id>
<content type='text'>
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 &amp; arm64) and "legacy" (armv7) arches on different Dockerfiles allowing future optimizations.</content>
</entry>
</feed>
