mirror of https://github.com/wg-easy/wg-easy
committed by
GitHub
1 changed files with 87 additions and 5 deletions
@ -1,9 +1,91 @@ |
|||
# 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**. |
|||
|
|||
--- |
|||
title: AdGuard Home |
|||
--- |
|||
|
|||
It seems like the Docs on how to setup AdGuard Home are not available yet. |
|||
## 📂 Prepare Local Folders |
|||
|
|||
Before starting, create the required directories: |
|||
|
|||
```bash |
|||
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. |
|||
|
|||
Feel free to create a PR and add them here. |
|||
Watchtower will automatically update the containers every day at 23:00 (cron schedule). |
|||
|
|||
<!-- TODO --> |
|||
📜 License |
|||
MIT — Use at your own risk. |
|||
|
Loading…
Reference in new issue