3.6 KiB
searx-docker
Create a new searx instance in five minutes using Docker (see https://github.com/asciimoo/searx/issues/1561 )
This is a work in progress, the bot protection is basic and not battle tested, and later on, may change.
What is included ?
Name | Description | Docker image | Dockerfile |
---|---|---|---|
Caddy | Reverse proxy (create a LetsEncrypt certificate automatically) | abiosoft/caddy:1.0.1-no-stats | Dockerfile |
Filtron | Filtering reverse HTTP proxy, bot and abuse protection | dalf/filtron:latest | See #4 |
Searx | searx by itself | dalf/searx:latest | See #1629 |
Morty | Privacy aware web content sanitizer proxy as a service. | dalf/morty:latest | Dockerfile |
Searx-checker | Check which engines return results of the instance. JSON result available at https://{SEARX_HOSTNAME}/status Automatically updated every 24h |
searx/searx-checker:latest | Dockerfile |
How to use it
- Install docker
- Install docker-compose
- Get searx-docker
cd /usr/local
git clone https://github.com/searx/searx-docker.git
cd searx-docker
- Edit the .env file according to your need
- Check everything is working:
./start.sh
, cp searx-docker.service.template searx-docker.service
- edit the content of
WorkingDirectory
in thesearx-docker.service
file (only if the installation path is different from /usr/local/searx-docker) - Install the systemd unit :
systemctl enable $(pwd)/searx-docker.service
systemctl start searx-docker.service
Note on the image proxy feature
The searx image proxy is activated by default using Morty.
The default Content-Security-Policy allow the browser to access to {SEARX_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 searx-docker.service
- create a new docker-compose-extend.yaml, check with
start.sh
- update searx-docker.service (see SEARX_DOCKERCOMPOSEFILE)
- restart the servie :
systemctl restart searx-docker.service
Multi Architecture Docker images
For now only the amd64 platform is supported.
How to update ?
Check the content of update.sh