Compose-Examples/examples/wg-easy/docker-compose.yml
2025-08-11 22:34:25 +02:00

38 lines
1.2 KiB
YAML

services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:14
container_name: wg-easy
hostname: wireguard-easy
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- WG_HOST=vpn.example.com # your hostname or ip address
- PASSWORD_HASH=$$2a$$12$$FGHsQAGm9N9sxJ54RiWiMumk2QkRVjyueCv9mRbrdc1f8y6pN36mq # password: foobar123
- WG_DEFAULT_DNS=1.1.1.1,8.8.8.8 # add your local dns like pihole
- WG_ALLOWED_IPS=0.0.0.0/0, ::/0
- WG_DEVICE=eth0
ports:
- 51820:51820/udp # wireguard vpn
- 51821:51821/tcp # admin web ui
expose:
- 51820/udp # wireguard vpn
- 51821/tcp # admin web ui
volumes:
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/wg-easy:/etc/wireguard
#networks:
# - proxy
#labels:
# - traefik.enable=true
# - traefik.docker.network=proxy
# - traefik.http.routers.wireguard.rule=Host(`vpn.example.com`)
# - traefik.http.services.wireguard.loadbalancer.server.port=51821
# # Part for local lan services only
# - traefik.http.routers.wireguard.middlewares=local-ipwhitelist@file
#networks:
# proxy:
# external: true