I’m currently trying to set up a self-hosted SearX search engine on Ubuntu 22.04. In order for the search engine to work, I have to manually run the following commands on startup:
sudo -H -u searx -i
cd /usr/local/searx/searx-src
export SEARX_SETTINGS_PATH="/etc/searx/settings.yml"
python searx/webapp.py
This is kind of annoying to have to do, so I put the script into /etc/rc.local and went through all the steps to enable all that. Now my rc.local file looks like:
sudo -H -u searx -i
cd /usr/local/searx/searx-src
export SEARX_SETTINGS_PATH="/etc/searx/settings.yml"
python searx/webapp.py
exit 0
However, the code fails, and upon checking “sudo systemctl status rc-local.service” I get the following (abbreviated) error message:
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
Drop-In: /usr/lib/systemd/system/rc-local.service.d
└─debian.conf
Active: failed (Result: exit-code) since Thu 2023-10-05; 55s ago
Process: 8468 ExecStart=/etc/rc.local start (code=exited, status=127)
CPU: 12ms
systemd[1]: Starting /etc/rc.local Compatibility… sudo[8469]: root : PWD=/usr/local/searx ; USER=searx ; COMMAND=/bin/bash sudo[8469]: pam_unix(sudo-i:session): session opened for user searx(uid=999) by (uid=0) sudo[8469]: pam_unix(sudo-i:session): session closed for user searx rc.local[8468]: /etc/rc.local: 6: python: not found systemd[1]: rc-local.service: Control process exited, code=exited, status=127/n/a systemd[1]: rc-local.service: Failed with result ‘exit-code’. systemd[1]: Failed to start /etc/rc.local Compatibility.
I understand that an Exit Code 127 means that the code is failing because it can’t access the following directory:
cd /usr/local/searx/searx-src
But I honestly have no idea how to fix my code to make this possible. Please lmk if you have any suggestions