Skip to content

searx/searx-docker

Folders and files

NameName
Last commit message
Last commit date
Jul 13, 2020
Jul 13, 2019
Mar 13, 2022
Jul 1, 2019
Apr 18, 2022
Mar 29, 2021
Nov 10, 2020
Jul 11, 2019
Aug 20, 2020
Aug 20, 2020
Aug 20, 2020
Jul 30, 2019

Repository files navigation

⚠️ Please use this repository instead as searx-docker is not maintained anymore and migrated to SearXNG: https://github.com/searxng/searxng-docker! ⚠️


searx-docker

Create a new searx instance in five minutes using Docker (see searx/searx#1561 )

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
Searx searx by itself searx/searx:latest Dockerfile
Morty Privacy aware web content sanitizer proxy as a service. dalf/morty:latest Dockerfile

How to use it

cd /usr/local
git clone https://github.com/searx/searx-docker.git
cd searx-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 searx-docker.service.template searx-docker.service
  • edit the content of WorkingDirectory (SEARX_DIR environment variable) in the searx-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

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