OpenLogs

All tools

SearXNG

Metasearch engine that sends your query to several search engines and merges the results.

Replaces

Paid search services, such as Google Search.

All open-source alternatives to Google Search

Difficulty

Difficulty: Medium

2 services (1 database or broker: valkey), 3 volume mounts, 1 env value to set, no elevated host access. Heuristic score 4 of 11: medium.

Stack

Python (language), Valkey (database)

Deployment

docker_compose

Requirements

Not stated.

License

AGPL-3.0 (OSI-approved open source)

Read from github.com/searxng/searxng/blob/8137186/LICENSE

Business model

Unknown

The README at the pinned commit does not state a business model, so it stays unknown.

Source: github.com/searxng/searxng/blob/8137186/README.rst, read on .

Repository

searxng/searxng

GitHub stats

Stars
38,728
Forks
3,526
Open issues and pull requests
203
Last push
2026-10-19

From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as AGPL-3.0.

Compose file

Config check passed docker compose config exited 0 on this exact file on 2026-10-22.
docker-compose.yml Version 1
# Read the documentation before using the `docker-compose.yml` file:
# https://docs.searxng.org/admin/installation-docker.html

name: searxng

services:
  core:
    container_name: searxng-core
    image: docker.io/searxng/searxng:${SEARXNG_VERSION:-latest}
    restart: always
    ports:
      - ${SEARXNG_HOST:+${SEARXNG_HOST}:}${SEARXNG_PORT:-8080}:${SEARXNG_PORT:-8080}
    env_file: ./.env
    volumes:
      - ./core-config/:/etc/searxng/:Z
      - core-data:/var/cache/searxng/

  valkey:
    container_name: searxng-valkey
    image: docker.io/valkey/valkey:9-alpine
    command: valkey-server --save 300 1 --save 60 1000 --loglevel warning
    restart: always
    volumes:
      - valkey-data:/data/

volumes:
  core-data:
  valkey-data:

From the app's own repository: github.com/searxng/searxng/blob/8137186/container/docker-compose.yml.

Compose file from the app repository.

Install

  1. Docker with the Compose plugin (github.com/searxng/searxng/blob/8137186/docs/admin/installation-docker.rst)

    A host with Docker and the Docker Compose plugin. This entry runs from a compose file.

  2. Save the compose file as docker-compose.yml (github.com/searxng/searxng/blob/8137186/container/docker-compose.yml)

    Use the compose file shown above.

  3. Save as .env next to the compose file (github.com/searxng/searxng/blob/8137186/container/.env.example)
    # Read the documentation before using the `docker-compose.yml` file:
    # https://docs.searxng.org/admin/installation-docker.html
    #
    # Additional variables:
    # https://docs.searxng.org/admin/settings/settings_general.html#settings-general
    # https://docs.searxng.org/admin/settings/settings_server.html#settings-server
    
    # Use a specific version tag. E.g. "latest" or "2026.3.25-541c6c3cb".
    #SEARXNG_VERSION=latest
    
    # Listen to a specific address.
    #SEARXNG_HOST=[::]
    
    # Listen to a specific port.
    #SEARXNG_PORT=8080
    
  4. What the compose file check ran with (github.com/searxng/searxng/blob/8137186/docs/admin/installation-docker.rst)

    The compose file check ran together with .env.example from the same commit, saved as .env. The folder held only these files. The installation guide tells the reader to download docker-compose.yml and .env.example, copy the example to .env and run docker compose up -d.

  5. Start it (github.com/searxng/searxng/blob/8137186/docs/admin/installation-docker.rst)
    docker compose up -d
  6. Open the app (github.com/searxng/searxng/blob/8137186/container/docker-compose.yml)

    Open http://localhost:8080. The compose file publishes host port 8080 for the core service.

Compose file check: config_ok on 2026-10-22.

Gotchas and maintenance

Gotchas

Signals

  • Open issues and pull requests: 203
  • Last push: 2026-10-19 (3 days before this page was built)
  • Latest release: none recorded