The docker-compose files for setting up a SearXNG instance with docker.
c7b3f004eb
Fix docker-compose.yml |
||
---|---|---|
.env | ||
.gitignore | ||
Caddyfile | ||
docker-compose.yaml | ||
LICENSE | ||
README.md | ||
rules.json | ||
searxng-docker.service.template | ||
start.sh | ||
stop.sh | ||
update.sh | ||
util.sh |
searxng-docker
Create a new SearXNG instance in five minutes using Docker
What is included ?
Name | Description | Docker image | Dockerfile |
---|---|---|---|
Caddy | Reverse proxy (create a LetsEncrypt certificate automatically) | caddy/caddy:2-alpine | Dockerfile |
Filtron | Filtering reverse HTTP proxy, bot and abuse protection | dalf/filtron:latest | See asciimoo/filtron#4 |
SearXNG | SearXNG by itself | searxng/searxng:latest | Dockerfile |
Morty | Privacy aware web content sanitizer proxy as a service. | dalf/morty:latest | Dockerfile |
How to use it
- Install docker
- Install docker-compose (be sure that docker-compose version is at least 1.9.0).
- only on MacOSX:
brew install coreutils
to installgreadlink
- Get searxng-docker
cd /usr/local
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
- Generate MORTY_KEY
sed -i "s|ReplaceWithARealKey\!|$(openssl rand -base64 33)|g" .env
- Edit the other settings in .env file according to your need
- Check everything is working:
./start.sh
, cp searxng-docker.service.template searxng-docker.service
- edit the content of
WorkingDirectory
in thesearxng-docker.service
file (only if the installation path is different from /usr/local/searxng-docker) - Install the systemd unit :
systemctl enable $(pwd)/searxng-docker.service
systemctl start searxng-docker.service
Note on the image proxy feature
The SearXNG image proxy is activated by default using Morty.
The default Content-Security-Policy allow the browser to access to {SEARXNG_HOSTNAME} and https://*.tile.openstreetmap.org;
.
If some users wants to disable the image proxy, you have to modify ./Caddyfile. Replace the img-src 'self' data: https://*.tile.openstreetmap.org;
by img-src * data:;
Custom docker-compose.yaml
Do not modify docker-compose.yaml otherwise you won't be able to update easily from the git repository.
It is possible to the extend feature of docker-compose :
- stop the service :
systemctl stop searxng-docker.service
- create a new docker-compose-extend.yaml, check with
start.sh
- update searxng-docker.service (see SEARXNG_DOCKERCOMPOSEFILE)
- restart the servie :
systemctl restart searxng-docker.service
Multi Architecture Docker images
For now only the amd64 platform is supported.
How to update ?
Check the content of update.sh
Access to the Filtron API
The Filtron API is available on http://localhost:4041
For example, to display the loaded rules:
curl http://localhost:4041/rules | jq