mirror of https://github.com/wg-easy/wg-easy
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.5 KiB
2.5 KiB
AdGuard Home with WG Easy and Watchtower (Docker Compose / Host Mode)
📌 Description
This setup runs AdGuard Home, WG Easy (WireGuard management UI) and Watchtower for automatic updates — all in Docker host network mode.
📂 Prepare Local Folders
Before starting, create the required directories:
sudo mkdir -p /home/admin/docker/wireguard
sudo mkdir -p /home/admin/docker/adguard/work
sudo mkdir -p /home/admin/docker/adguard/conf
mkdir -p /home/admin/docker/watchtower
Save as docker-compose.yml:
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
environment:
- WG_HOST=your_Domain # External domain / Router must forward port
- WG_PORT=51820 # wg-easy listens on 51820/udp
- WG_DEFAULT_DNS=10.8.0.1 # AdGuard runs on the same host
- WG_ALLOWED_IPS=0.0.0.0/0,::/0
- INSECURE=true
- DISABLE_IPV6=false # Set to true to disable IPv6
volumes:
- /home/admin/docker/wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro # Load IPv6 modules from host
network_mode: host
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
adguardhome:
image: adguard/adguardhome:latest
container_name: adguardhome
network_mode: host
volumes:
- /home/admin/docker/adguard/work:/opt/adguardhome/work
- /home/admin/docker/adguard/conf:/opt/adguardhome/conf
restart: unless-stopped
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
TZ: Europe/Zurich
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_INCLUDE_STOPPED: "true"
WATCHTOWER_INCLUDE_RESTARTING: "true"
WATCHTOWER_SCHEDULE: "0 0 23 * * *"
WATCHTOWER_REMOVE_VOLUMES: "true"
healthcheck:
test: ["CMD", "/watchtower", "--health-check"]
start_interval: 1s
start_period: 1s
interval: 600s
timeout: 5s
retries: 1
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
▶️ Start Services
docker compose up -d
🔧 Notes
Port Forwarding: Ensure your router forwards UDP 51820 (or your chosen port) to the host.
IPv6:
Set DISABLE_IPV6=true to disable IPv6 support in WG Easy.
Keep it false if your network supports IPv6.
Watchtower will automatically update the containers every day at 23:00 (cron schedule).
📜 License
MIT — Use at your own risk.