You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Émilien (perso) 47fad9cba6
remove duplicated limiter parameter
11 months ago
searxng remove duplicated limiter parameter 11 months ago
.env Rely on searxng/settings.yml 3 years ago
.gitignore Rely on searxng/settings.yml 3 years ago
Caddyfile Update Caddyfile to Add X-Real-IP to fix bot detection 1 year ago
LICENSE Initial commit 5 years ago
README.md Simply the update process 1 year ago
docker-compose.yaml docker-compose.yaml: remove CAP_DAC_OVERRIDE 2 years ago
searxng-docker.service.template Remove scripts 2/n 2 years ago

README.md

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
SearXNG SearXNG by itself searxng/searxng:latest Dockerfile
Redis In-memory database redis:alpine Dockerfile-alpine.template

How to use it

  • Install docker
  • Install docker-compose (be sure that docker-compose version is at least 1.9.0)
  • Get searxng-docker
    cd /usr/local
    git clone https://github.com/searxng/searxng-docker.git
    cd searxng-docker
    
  • Edit the .env file to set the hostname and an email
  • Generate the secret key sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
  • Edit the searxng/settings.yml file according to your need
  • Check everything is working: docker-compose up
  • Run SearXNG in the background: docker-compose up -d

How to access the logs

To access the logs from all the containers use: docker-compose logs -f.

To access the logs of one specific container:

  • Caddy: docker-compose logs -f caddy
  • SearXNG: docker-compose logs -f searxng
  • Redis: docker-compose logs -f redis

Start SearXNG with systemd

You can skip this step if you don't use systemd.

  • cp searxng-docker.service.template searxng-docker.service
  • edit the content of WorkingDirectory in the searxng-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.

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:;.

Multi Architecture Docker images

Supported architecture:

  • amd64
  • arm64
  • arm/v7

How to update ?

To update the SearXNG stack:

git pull
docker compose pull
docker compose up -d

Or the old way (with the old docker-compose version):

git pull
docker-compose pull
docker-compose up -d