searxng-docker/docker-compose.yaml

92 lines
1.9 KiB
YAML

version: '3.7'
services:
caddy:
container_name: caddy
image: abiosoft/caddy:1.0.1-no-stats
ports:
- 80:80
- 443:443
network_mode: host
command: -email ${LETSENCRYPT_EMAIL} -agree=${LETSENCRYPT_AGREE} -log stdout -host ${SEARX_HOSTNAME} -conf /etc/Caddyfile
volumes:
- ./Caddyfile:/etc/Caddyfile
- ./caddy:/root/.caddy
- ./srv:/srv
environment:
- SEARX_HOSTNAME=${SEARX_HOSTNAME}
- SEARX_PROTOCOL=${SEARX_PROTOCOL}
- FILTRON_USER=${FILTRON_USER}
- FILTRON_PASSWORD=${FILTRON_PASSWORD}
cap_drop:
- ALL
cap_add:
- NET_BIND_SERVICE
- DAC_OVERRIDE
filtron:
container_name: filtron
image: filtron
hostname: filtron
restart: always
ports:
- 127.0.0.1:4040:4040
- 127.0.0.1:4041:4041
networks:
searx:
ipv4_address: 10.10.10.3
command: -listen 10.10.10.3:4040 -api 10.10.10.3:4041 -target 10.10.10.4:8080
read_only: true
cap_drop:
- ALL
searx:
container_name: searx
image: searx
hostname: searx
restart: always
networks:
searx:
ipv4_address: 10.10.10.4
volumes:
- ./searx:/etc/searx
environment:
- BIND_ADDRESS=10.10.10.4:8080
- BASE_URL=https://${SEARX_HOSTNAME}/
- MORTY_URL=https://${SEARX_HOSTNAME}/morty/
- MORTY_KEY=${MORTY_KEY}
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
morty:
container_name: morty
image: morty
hostname: morty
restart: always
ports:
- 127.0.0.1:3000:3000
networks:
searx:
ipv4_address: 10.10.10.5
command: -listen 10.10.10.5:3000 -timeout 3 -ipv6
environment:
- MORTY_KEY=${MORTY_KEY}
logging:
driver: none
read_only: true
cap_drop:
- ALL
networks:
searx:
ipam:
driver: default
config:
- subnet: 10.10.10.0/24