version: '3.7' services: caddy: container_name: caddy image: caddy:2-alpine network_mode: host volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy-data:/data:rw - caddy-config:/config:rw environment: - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost:80} - SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal} cap_drop: - ALL cap_add: - NET_BIND_SERVICE - DAC_OVERRIDE redis: container_name: redis image: "redis:alpine" command: redis-server --save "" --appendonly "no" networks: - searxng tmpfs: - /var/lib/redis cap_drop: - ALL cap_add: - SETGID - SETUID - DAC_OVERRIDE searx: container_name: searx image: searxng/searxng restart: always networks: - searxng command: ${SEARX_COMMAND:-} ports: - "127.0.0.1:8080:8080" volumes: - ./searxng:/etc/searx:rw environment: - BIND_ADDRESS=0.0.0.0:8080 - BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/ - SEARXNG_SECRET=${SEARXNG_SECRET} cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID - DAC_OVERRIDE networks: searxng: ipam: driver: default volumes: caddy-data: caddy-config: