Wireguard + Wireguard UI + CONFIG for PIHOLE
This is docker compose stack for wireguard + Wireguard UI Setup + Configuration for PI HOLE DNS IP
version: "3"
services:
wireguard:
image: linuxserver/wireguard:v1.0.20210914-ls7 #lscr.io/linuxserver/wireguard:latest
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Ho_Chi_Minh
- SERVERURL=WIREGUARD.DOMAIN.COM #optional
- SERVERPORT=51820 #optional
- PEERS=1 #optional
- PEERDNS=auto #optional
#- INTERNAL_SUBNET=10.13.13.0 #optional
- ALLOWEDIPS=0.0.0.0/0 #optional
- PERSISTENTKEEPALIVE_PEERS= #optional
- LOG_CONFS=true #optional
volumes:
- /home/ZZZ/docker/wireguard/config:/config
- /home/ZZZ/docker/wireguard/lib/modules:/lib/modules #optional
ports:
- "1987:5000"
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
wireguard-ui:
image: ngoduykhanh/wireguard-ui:latest
container_name: wireguard-ui
depends_on:
- wireguard
cap_add:
- NET_ADMIN
network_mode: service:wireguard
environment:
- PIHOLE_SERVER=PIHOLE_DNS_IP
- PIHOLE_PASSWORD=PWD_PI_HOLE
- WIREGUARD_DNS=PI_HOLE_DNS_IP
- SENDGRID_API_KEY
- EMAIL_FROM_ADDRESS
- EMAIL_FROM_NAME
- SESSION_SECRET
- WGUI_USERNAME=USER
- WGUI_PASSWORD=PASS
- WG_CONF_TEMPLATE
- WGUI_MANAGE_START=true
- WGUI_MANAGE_RESTART=true
logging:
driver: json-file
options:
max-size: 50m
volumes:
- /home/ZZZ/docker/wireguard-ui/db:/app/db
- /home/ZZZ/docker/wireguard/config:/etc/wireguard