mirror of
https://github.com/searxng/searxng.git
synced 2024-08-22 22:20:42 +02:00
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
34 lines
700 B
INI
34 lines
700 B
INI
[uwsgi]
|
|
# Who will run the code
|
|
uid = searx
|
|
gid = searx
|
|
|
|
# Number of workers (usually CPU count)
|
|
workers = 4
|
|
|
|
# The right granted on the created socket
|
|
chmod-socket = 666
|
|
|
|
# Plugin to use and interpretor config
|
|
single-interpreter = true
|
|
master = true
|
|
plugin = python3
|
|
lazy-apps = true
|
|
enable-threads = true
|
|
|
|
# Module to import
|
|
module = searx.webapp
|
|
|
|
# Virtualenv and python path
|
|
pythonpath = /usr/local/searx/
|
|
chdir = /usr/local/searx/searx/
|
|
|
|
# Disable logging for privacy
|
|
disable-logging=True
|
|
|
|
# But keep errors for 2 days
|
|
touch-logrotate = /run/uwsgi-logrotate
|
|
unique-cron = 15 0 -1 -1 -1 { touch /run/uwsgi-logrotate }
|
|
log-backupname = /var/log/uwsgi/uwsgi.log.1
|
|
logto = /var/log/uwsgi/uwsgi.log
|