builds custom SearXNG container with a changed simple theme and settings.yml; This project builds on top of https://github.com/searxng/searxng
Production Server / Instance : https://paulgo.io
Docker Hub : https://hub.docker.com/r/paulgoio/searxng
GitHub : https://github.com/paulgoio/searxng
GitLab : https://paulgo.dev/paulgoio/searxng
-
docker run -it --rm -p 8080:8080 paulgoio/searxng:production
-
After that just visit http://127.0.0.1:8080 in your browser and stop the server with ctrl-c
Check out the docker-compose.yml
file in this repo for reference
-
Clone this repo:
git clone https://github.com/paulgoio/searxng.git
-
After making your changes in
src/less
make sure to updatesrc/css
by runningupdate.sh
(python, npm and make needed) -
You can build the docker container locally by running (check out base branch for the alpine base with the needed python packages):
docker build --pull -f ./Dockerfile -t searxng-dev:latest .
-
Debug the local container with:
docker run -it --rm -p 8080:8080 searxng-dev:latest
-
IMAGE_PROXY
: enable the image proxyfication through SearXNG; the built-in image proxy is used (set this totrue
) -
REDIS_URL
: set the URL of Redis server to store data for limiter plugin (for exampleredis://redis:6379/0
orunix:///usr/local/searxng-redis/run/redis.sock?db=0
) -
LIMITER
: limit bot traffic; this option also requires Redis to be set up -
METRICS_PASSWORD
: enable the /metrics endpoint with basic auth for ingestion via prometheus (username can be any string, password is the set password, for example:pass123
,|
is not allowed in the password) -
BASE_URL
: set the base URL (for example example.org would havehttps://example.org/
as base) -
NAME
: set the name of the instance, which is for example displayed in the title of the site (for examplePaulGO
) -
PRIVACYPOLICY
: set URL of privacy policy of the instance (for examplehttps://example.org/privacy-policy
) -
CONTACT
: set instance maintainer contact (for examplemailto:[email protected]
) -
ISSUE_URL
: set issue URL for custom SearXNG repo (for examplehttps://github.com/paulgoio/searxng/issues
!Without trailing /) -
GIT_URL
: set git URL for custom SearXNG repo (for examplehttps://github.com/paulgoio/searxng
) -
GIT_BRANCH
: set git branch for custom SearXNG repo (for examplemain
) -
PROXY
: set proxy servers that are applied as round robin for all engines; separate multiple proxies with a comma (for examplehttp://example.org:8080,http://proxy.example.net
) -
UWSGI_WORKERS
: set the amount of uwsgi workers (each worker can handle HTTP requests to the server); defaults to the amount of CORS the server has (for example:4
) -
UWSGI_THREADS
: set the amount of uwsgi threads per worker; so each worker has the amount of threads defined here; defaults to 4 (for example:4
) -
SEARCH_DEFAULT_LANG
: Set the default language used for search queries. By default, this is set to auto to autodetect the language from the query string (for exampleen-US
) -
SEARCH_ENGINE_ACCESS_DENIED
: Set the suspension timeout in seconds if a search engine throws a SEARCH_ENGINE_ACCESS_DENIED exception, by default this value is set to86400
(e.g. 1 day) -
PUBLIC_INSTANCE
: Set instance as public instance to enable some optional features, that are only relevent to public instances (defaults to false, can be set totrue
)