22 Commits

Author SHA1 Message Date
Ivan Gabaldon
a2fa7de880
[mod] Rework Dockerfile - migrate to glibc (debian) (#4721) 2025-05-06 11:56:59 +02:00
Bnyro
0315988f5a
fix] revert searxng/searxng#4699 due to breaking issues (#4720)
This reverts commit 2e74d863210c0d21b9e0a64576dcd24237f23f8c.
2025-05-05 09:46:37 +02:00
Ivan Gabaldon
2e74d86321
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.
2025-05-04 22:27:53 +02:00
Ivan Gabaldon
9424bac031
Don't hardcode uWSGI parameters (#4578)
* Initial update

* fix

* add todo note
2025-04-04 14:57:53 +02:00
Ivan Gabaldon
11b5ae186b
container: add default support for IPv6 (#4448)
* Initial update

* update docs and test files
2025-03-15 11:20:37 +01:00
Ivan Gabaldon
26b66dd3be [fix] everything is logged with "priority 3" on journal
Closes: https://github.com/searxng/searxng/issues/3649
2024-07-27 09:11:49 +02:00
Immánuel!
caf4785663
Let uWSGI workers and threads be adjustable from env 2023-01-11 14:53:36 +01:00
Markus Heiser
ba8959ad7c [fix] typos / reported by @kianmeng in searx PR-3366
[PR-3366] https://github.com/searx/searx/pull/3366

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-09-27 18:32:14 +02:00
Alexandre Flament
12d3fe3214 docker: log to stdout
previously the log (only the exceptions) were log
into /var/log/uwsgi/uwsgi.log

this is disturbing for the admins:
* they see an internal error on HTTP port
* no log where they are expected (docker logs)

this commit fixes this issue
2022-03-19 13:47:45 +01:00
Markus Heiser
4fec7a74e5 [fix] docker generated new settings.yml does not work
In commit 5a7b12e we normalized settings.yml and c6a5cc019 and de5a8ee7d we
changed instance name to ``instance_name: "SearXNG"``.

This patch adjust the sed expressions to modify:

    dockerfiles/docker-entrypoint.sh

Closes: https://github.com/searxng/searxng/issues/876
Suggested-by:  @neiaberau
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-06 16:35:29 +01:00
Alexandre Flament
9e03823b98 SearXNG: docker 2021-10-12 20:23:57 +02:00
Alexandre Flament
253b850376 SearXNG: SEARXNG_SETTINGS_PATH 2021-10-02 17:18:05 +02:00
Markus Heiser
d6c321b830 [mod] docker-entrypoint.sh - add script to make test.sh (shellcheck)
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-05-17 12:02:24 +02:00
Alexandre Flament
b46a3ecfc7 [fix] fix usage of docker environment variable INSTANCE_NAME
INSTANCE_NAME was ignored.

close #65
2021-05-09 11:00:28 +02:00
3nprob
0fb423ea59 Allow overriding env vars SEARX_SETTINGS_PATH,UWSGI_SETTINGS_PATH 2021-04-08 12:56:15 +09:00
Alexandre Flament
38d32337e7 [mod] documentations & comments: update http://* URL to https://*.
About http://lesscss.org see https://github.com/less/less-docs/issues/520
2020-12-04 16:52:25 +01:00
Alexandre Flament
8ffede6140 [fix] docker and k8s: run searx
fix #2181
2020-09-10 10:07:49 +02:00
Markus Heiser
9b9b5e9625
[fix] docker-entrypoint.sh -h hangs if searx is a valid user (#2099)
Implement a more robust detection if a process runs inside or outside of a
docker image.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2020-08-18 19:14:06 +02:00
Dalf
4a35975b42 [enh] update documentation about docker 2020-07-22 14:58:04 +02:00
mathieu.brunot
2485d41bdd
🐳 Config for instance name and autocomplete
Signed-off-by: mathieu.brunot <mathieu.brunot@monogramm.io>
2019-10-14 02:02:41 +02:00
Alexandre Flament
91a59ff350
[fix] Docker: without -f parameter, settings.yml is not replaced by the new version (#1668)
Before this commit, the existing settings.yml were always replaced.
2019-08-03 13:53:14 +02:00
Dalf
fbe40001d3 Update Docker image
See #1561 , use uwsgi and Alpine Linux

Volume:
/var/log/uwsgi contains error log for 2 days (file uwsgi.log)
/etc/searx contains the settings.yml and uwsgi.ini files.
The docker image creates them if they don't exist.
The two files can be modified after the first run. See below.

Environement variables:
MORTY_URL : external URL of Morty
MORTY_KEY : base64 encoded key
BASE_URL : external URL of Searx
BIND_ADDRESS : internal HTTP port to listen to

Labels : org.label-schema.schema.*

Parameters:
-h : display this help
-d : will update the settings and quit immediately (settings.yml and uwsgi.ini)
-f : always update the settings (previous version saved with suffix .old).
     without this parameter, the new settings are copied with suffix .new

When the Docker image contains newer settings:
- without -f parameter: the new versions are copied to /etc/searx/settings.yml.new and /etc/searx/uwsgi.ini.new.
- with -f parameter:  the old versions are renamed with .old suffix. The new version replaces /etc/searx/settings.yml and /etc/searx/uwsgi.ini

Build using "./manage.sh docker_build", add "push" as parameter also push the Docker image.
The script requires a git repository to work (it makes sure that the last git tag matches searx/version.py)
"git describe" is used to create a meaningful version.
Example : 0.15.0-90-49c5bcb4-dirty (dirty means that the docker image was made with uncommited changes).

Use "docker inspect -f {{.Config.Labels.version}} searx" to get the version of an existing image.

.dockerignore based on .gitignore

.travis.yml: include docker stage
2019-07-13 15:49:59 +02:00