Branded SearXNG fork for costmikuSearch
Find a file
Ivan Gabaldon 3de7a6da2d
[enh] container: tidy builds (#5086)
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-08-07 10:46:26 +02:00
.devcontainer [fix] devcontainers: missing Valkey package (#4997) 2025-07-11 16:51:58 +02:00
.github [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
.vscode Add GitHub Codespaces configuration 2023-03-21 20:58:13 +00:00
client/simple [fix] simple theme: display image detail view fullscreen on landscape phones 2025-07-16 11:02:12 +02:00
container [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
docs [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
searx [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
searxng_extra [fix] cleanup: rename searx leftovers to SearXNG (#5049) 2025-07-26 06:22:46 +02:00
tests [test] calculator plugin: report the DeprecationWarning once (#5070) 2025-07-29 16:31:28 +02:00
utils [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
.coveragerc [mod] use github actions instead of travis 2020-11-17 15:09:06 +01:00
.dir-locals-template.el [fix] .dir-locals.el -> .dir-locals-template.el 2024-03-29 08:57:02 +01:00
.dockerignore [enh] container: tidy builds (#5086) 2025-08-07 10:46:26 +02:00
.editorconfig [enh] CI - add shell script formatter 2025-07-28 12:53:26 +02:00
.gitattributes [fix] update .gitattributes 2021-06-22 20:34:39 +02:00
.gitignore [mod] add Golang ecosystem to the SearXNG toolchain 2025-07-28 12:53:26 +02:00
.nvmrc [upd] update npm dependencies (package.json) and .tool-versions 2025-01-14 15:22:23 +01:00
.pylintrc [upd] pypi: Bump pylint from 3.2.7 to 3.3.1 2024-10-15 14:29:10 +02:00
.tool-versions [upd] update npm dependencies (package.json) and .tool-versions 2025-01-14 15:22:23 +01:00
.weblate weblate: migration to https://translate.codeberg.org/ 2023-01-21 15:45:12 +00:00
.yamllint.yml [enh] add test.yamllint - lint yaml files 2021-06-05 17:41:24 +02:00
AUTHORS.rst [fix] cleanup: rename searx leftovers to SearXNG (#5049) 2025-07-26 06:22:46 +02:00
babel.cfg [fix] jinja/babel: WithExtension and AutoEscapeExtension are built-in now. 2022-03-25 09:42:12 +01:00
CHANGELOG.rst [releases] rolling release: commit history replaces the CHANGELOG 2023-05-06 14:49:33 +02:00
CONTRIBUTING.md fix(docs): Fix development quickstart url 2024-01-06 16:20:38 +01:00
go.mod [mod] create a Go project with the developer tools from Go 2025-07-28 12:53:26 +02:00
go.sum [mod] create a Go project with the developer tools from Go 2025-07-28 12:53:26 +02:00
LICENSE [fix] full AGPLv3+ license according to #382 2015-07-04 18:23:54 +02:00
Makefile [fix] don't install pyright twice and do some clean up 2025-07-28 12:53:26 +02:00
manage [upd] pypi: Bump the minor group with 2 updates (#5077) 2025-08-01 10:55:45 +02:00
package.json [fix] don't install pyright twice and do some clean up 2025-07-28 12:53:26 +02:00
PULL_REQUEST_TEMPLATE.md [chore] fix typo and spacing in pull request template 2023-09-15 10:46:51 +02:00
pyrightconfig.json [fix] pyrightconfig.json include only dedicated folders in the test 2022-01-23 08:00:39 +01:00
README.rst [README] Updated logo paths 2025-03-07 13:40:31 +01:00
requirements-dev.txt [upd] pypi: Bump the minor group with 2 updates (#5077) 2025-08-01 10:55:45 +02:00
requirements-server.txt [upd] pypi: Bump the minor group with 2 updates (#5077) 2025-08-01 10:55:45 +02:00
requirements.txt [enh] py: whitenoise for static handling (#5032) 2025-07-23 18:16:10 +02:00
SECURITY.md [enh] add security policy 2022-01-25 00:56:20 +01:00
setup.py [mod] Revision of the favicon solution 2024-10-05 08:18:28 +02:00

.. SPDX-License-Identifier: AGPL-3.0-or-later

----

.. figure:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng.svg
   :target: https://docs.searxng.org/
   :alt: SearXNG
   :width: 100%
   :align: center

----

Privacy-respecting, hackable `metasearch engine`_

Searx.space_ lists ready-to-use running instances.

A user_, admin_ and developer_ handbook is available on the homepage_.

|SearXNG install|
|SearXNG homepage|
|SearXNG wiki|
|AGPL License|
|Issues|
|commits|
|weblate|
|SearXNG logo|

----

.. _searx.space: https://searx.space
.. _user: https://docs.searxng.org/user
.. _admin: https://docs.searxng.org/admin
.. _developer: https://docs.searxng.org/dev
.. _homepage: https://docs.searxng.org/
.. _metasearch engine: https://en.wikipedia.org/wiki/Metasearch_engine

.. |SearXNG logo| image:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng-wordmark.svg
   :target: https://docs.searxng.org/
   :width: 5%

.. |SearXNG install| image:: https://img.shields.io/badge/-install-blue
   :target: https://docs.searxng.org/admin/installation.html

.. |SearXNG homepage| image:: https://img.shields.io/badge/-homepage-blue
   :target: https://docs.searxng.org/

.. |SearXNG wiki| image:: https://img.shields.io/badge/-wiki-blue
   :target: https://github.com/searxng/searxng/wiki

.. |AGPL License|  image:: https://img.shields.io/badge/license-AGPL-blue.svg
   :target: https://github.com/searxng/searxng/blob/master/LICENSE

.. |Issues| image:: https://img.shields.io/github/issues/searxng/searxng?color=yellow&label=issues
   :target: https://github.com/searxng/searxng/issues

.. |PR| image:: https://img.shields.io/github/issues-pr-raw/searxng/searxng?color=yellow&label=PR
   :target: https://github.com/searxng/searxng/pulls

.. |commits| image:: https://img.shields.io/github/commit-activity/y/searxng/searxng?color=yellow&label=commits
   :target: https://github.com/searxng/searxng/commits/master

.. |weblate| image:: https://translate.codeberg.org/widgets/searxng/-/searxng/svg-badge.svg
   :target: https://translate.codeberg.org/projects/searxng/


Contact
=======

Ask questions or chat with the SearXNG community (this not a chatbot) on

IRC
  `#searxng on libera.chat <https://web.libera.chat/?channel=#searxng>`_
  which is bridged to Matrix.

Matrix
  `#searxng:matrix.org <https://matrix.to/#/#searxng:matrix.org>`_


Setup
=====

- A well maintained `Docker image`_, also built for ARM64 and ARM/v7
  architectures.
- Alternatively there are *up to date* `installation scripts`_.
- For individual setup consult our detailed `Step by step`_ instructions.
- To fine-tune your instance, take a look at the `Administrator documentation`_.

.. _Administrator documentation: https://docs.searxng.org/admin/index.html
.. _Step by step: https://docs.searxng.org/admin/installation-searxng.html
.. _installation scripts: https://docs.searxng.org/admin/installation-scripts.html
.. _Docker image: https://github.com/searxng/searxng-docker

Translations
============

.. _Weblate: https://translate.codeberg.org/projects/searxng/searxng/

Help translate SearXNG at `Weblate`_

.. figure:: https://translate.codeberg.org/widgets/searxng/-/multi-auto.svg
   :target: https://translate.codeberg.org/projects/searxng/


Contributing
============

.. _development quickstart: https://docs.searxng.org/dev/quickstart.html
.. _developer documentation: https://docs.searxng.org/dev/index.html

Are you a developer?  Have a look at our `development quickstart`_ guide, it's
very easy to contribute.  Additionally we have a `developer documentation`_.


Codespaces
==========

You can contribute from your browser using `GitHub Codespaces`_:

- Fork the repository
- Click on the ``<> Code`` green button
- Click on the ``Codespaces`` tab instead of ``Local``
- Click on ``Create codespace on master``
- VSCode is going to start in the browser
- Wait for ``git pull && make install`` to appear and then disappear
- You have `120 hours per month`_ (see also your `list of existing Codespaces`_)
- You can start SearXNG using ``make run`` in the terminal or by pressing ``Ctrl+Shift+B``

.. _GitHub Codespaces: https://docs.github.com/en/codespaces/overview
.. _120 hours per month: https://github.com/settings/billing
.. _list of existing Codespaces: https://github.com/codespaces