Hello,
After finally getting SearXNG to start with Podman, I wanted to adjust the configuration.
So I logged into the container and used vi to edit the settings.yml file, which is loaded when the container is first started. The container then stored these settings accordingly.
$podman exec -it searxng /bin/sh /usr/local/searxng # vi /etc/searxng/settings.yml
Extract
general:
Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG}
debug: false
displayed name
instance_name: “Test SearXNG”
For example: https://example.com/privacy
privacypolicy_url: false
use true to use your own donation page written in searx/info/en/donate.md
use false to disable the donation link
donation_url: false
mailto:contact@example.com
contact_url: true
record stats
enable_metrics: true
expose stats in open metrics format at /metric
saved and another restart
$podman restart searxng
I then checked again as described above to see if the configuration was still there after the restart. It was still there.
Unfortunately, however, the name SearXNG is still used in the title, which means that the configuration is not loaded.
Since I was stuck, I decided to ask ChatGPT. I was then told to replace the pod with
podman run -d --name searxng
-p 0.0.0.0:5234:8080
-e SEARXNG_BASE_URL=http://192.168.4.15:5234/
-e SEARXNG_SECRET=dfsj323qjwkjqfjadkj
-e SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml
–uidmap +$(id -u):977:1 --gidmap +$(id -g):977:1 --user=0:0
-v /opt/podman/searxng/config:/etc/searxng:Z
ghcr.io/searxng/searxng:latest
python3 -m searx
Unfortunately, this did not help. Another recommendation was to edit the template in the container. That might work until the next version, but I still won’t be able to configure anything.
Does anyone have any idea how I can get SearXNG to load the configuration?
The important bit is
-v /opt/podman/searxng/config:/etc/searxng:Z
in the podman call. This will mount your local directory (i.e. on the host the container is running on)/opt/podman/searxng/config
into the container as/etc/searxng
(which is where SearXNG is searching for its config). Make sure that the local directory exists and is writeable by your user account before starting the container. This way your config will persist even when the container gets replaced by an updated version.IIRC, after running the container for the first time, SearXNG should put a
settings.yml
anduwsgi.ini
there. You can edit them and restart the container for the changes to take.On later container updates, SearXNG will put the latest versions of the default configs as
settings.yml.new
anduwsgi.ini.new
. This way it doesn’t overwrite your config and allows you to manually merge the new defaults into your running config. (If you only see the*.new
files after starting the container for the first time, rename them and remove the.new
part.)uwsgi isn’t used anymore since a change from about 2 months ago IIRC, so this file will probably not be created.
Ah, gut zu wissen! Danke! :)