Perplexica/gluetun-docker-compose.yaml
bigsk1 8eeef67041
Create gluetun-docker-compose.yaml
extend perplexica with VPN
2024-05-29 21:22:25 -07:00

66 lines
1.8 KiB
YAML

services:
gluetun:
image: qmcgaw/gluetun:latest
container_name: gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /home/user/Perplexica/gluetun:/gluetun # in gluetun folder have servers.json
environment:
- VPN_SERVICE_PROVIDER=vpnprovidername
- OPENVPN_USER=
- OPENVPN_PASSWORD=
- SERVER_COUNTRIES=United States
- SERVER_HOSTNAMES=
- TZ=America/Phoenix
- BLOCK_MALICIOUS=on
- BLOCK_SURVEILLANCE=on
- BLOCK_ADS=on
- DOT=on
- FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
networks:
- perplexica-network
ports:
- 3001:3001
- 3000:3000
- 4000:8080
restart: unless-stopped
searxng:
image: docker.io/searxng/searxng:latest
volumes:
- ./searxng:/etc/searxng:rw
network_mode: 'service:gluetun'
depends_on:
- gluetun
restart: unless-stopped
perplexica-backend:
build:
context: .
dockerfile: backend.dockerfile
args:
- SEARXNG_API_URL=http://localhost:8080 # localhost is important as it's in gluetun's network for DNS
depends_on:
- gluetun
- searxng
network_mode: 'service:gluetun'
restart: unless-stopped
perplexica-frontend:
build:
context: .
dockerfile: app.dockerfile
args:
- NEXT_PUBLIC_API_URL=http://localhost:3001/api # if running on server and accessing from another machine add host ip of server, 192.168.x.x
- NEXT_PUBLIC_WS_URL=ws://localhost:3001 # # if running on server and accessing from another machine add host ip of server
depends_on:
- gluetun
- perplexica-backend
network_mode: 'service:gluetun'
restart: unless-stopped
networks:
perplexica-network: