51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
**Purpose**: Deploys a SearX Meta Search Engine Server
|
|
|
|
## Docker Configuration
|
|
```jsx 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
|
|
```
|
|
|
|
```jsx 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
|
|
``` |