JimsGarage/SearXNG/docker-compose-gluetun.yaml

81 lines
2.8 KiB
YAML

services:
gluetun:
image: qmcgaw/gluetun
# container_name: gluetun
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
env_file:
- .env # should default to .env
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
# - 8080:8080/tcp # SearXNG
volumes:
- /home/ubuntu/docker/searxng/gluetun:/gluetun
environment:
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
- VPN_SERVICE_PROVIDER=nordvpn
- VPN_TYPE=wireguard
# OpenVPN:
# - OPENVPN_USER=
# - OPENVPN_PASSWORD=
# Wireguard:
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_TOKEN}
- WIREGUARD_ADDRESSES=10.5.0.2/16
- SERVER_COUNTRIES=UNITED KINGDOM
# Timezone for accurate log times
- TZ=Europe/London
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=24h
networks:
- proxy
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.search.entrypoints=http"
- "traefik.http.routers.search.rule=Host(`search.jimsgarage.co.uk`)"
- "traefik.http.middlewares.search-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.search.middlewares=search-https-redirect"
- "traefik.http.routers.search-secure.entrypoints=https"
- "traefik.http.routers.search-secure.rule=Host(`search.jimsgarage.co.uk`)"
- "traefik.http.routers.search-secure.tls=true"
- "traefik.http.routers.search-secure.tls.certresolver=cloudflare"
- "traefik.http.routers.search-secure.service=search"
- "traefik.http.services.search.loadbalancer.server.port=8080"
searxng:
image: searxng/searxng:latest
restart: unless-stopped
depends_on:
- gluetun
# ports:
# - '${PORT}:8080'
network_mode: "service:gluetun"
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME}/
- UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}
- UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}
volumes:
- '/home/ubuntu/docker/searxng/searxng-data:/etc/searxng:rw'
# remove for first run then re-enable. Think it's a bug...
# cap_drop:
# - ALL
cap_add:
- CHOWN
- SETGID
- SETUID
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
proxy:
external: true