--- tags: - Searx - Security - Docker --- ## Purpose Deploys a SearX Meta Search Engine Server ## Docker Configuration ```yaml title="docker-compose.yml" version: '3' services: searx: image: searx/searx:latest ports: - 8080:8080 volumes: - /srv/containers/searx/:/etc/searx restart: always labels: - "traefik.enable=true" - "traefik.http.routers.searx.rule=Host(`searx.bunny-lab.io`)" - "traefik.http.routers.searx.entrypoints=websecure" - "traefik.http.routers.searx.tls.certresolver=letsencrypt" - "traefik.http.services.searx.loadbalancer.server.port=8080" networks: docker_network: ipv4_address: 192.168.5.124 networks: docker_network: external: true ``` ```yaml title=".env" Not Applicable ``` ## Traefik Reverse Proxy Configuration If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below. ```yaml http: routers: searx: entryPoints: - websecure tls: certResolver: letsencrypt service: searx rule: Host(`searx.bunny-lab.io`) services: searx: loadBalancer: servers: - url: http://192.168.5.124:8080 passHostHeader: true ``` ## Related Documentation - [Docker Network Prerequisite](<../../Containers/Docker/Create the Docker Network.md>) — The configuration references the external `docker_network`; prepare it on the intended Docker host. - [Related Applications Documentation](<../../../reference/Applications/index.md>) — Find the connected deployments, procedures, and references for this subject. - [Traefik Deployment](<../../Networking and Access/Reverse Proxies/Traefik.md>) — Prepare the reverse proxy before applying this page's routing configuration.