38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
# /opt/stacks/wg-easy/docker-compose.yml
|
|
|
|
services:
|
|
wg-easy:
|
|
container_name: wg-easy
|
|
image: ghcr.io/wg-easy/wg-easy:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
WG_HOST: '${WG_HOST}' # Domini o IP pública — via .env
|
|
PASSWORD_HASH: '${WG_PASSWORD_HASH}' # Hash bcrypt — via .env
|
|
WG_PORT: 51820
|
|
WG_DEFAULT_ADDRESS: '10.0.0.1' # Adreça del servidor VPN (no .x)
|
|
WG_DEFAULT_DNS: '${WG_DNS}' # AdGuard/Pi-hole — via .env
|
|
WG_ALLOWED_IPS: '0.0.0.0/0'
|
|
UI_TRAFFIC_STATS: true
|
|
UI_CHART_TYPE: 1
|
|
TZ: Europe/Madrid
|
|
ports:
|
|
- "51820:51820/udp" # WireGuard VPN — públic (necessari per a clients)
|
|
- "51821:51821" # Interfície web (només local → via Nginx)
|
|
volumes:
|
|
- wg_easy_data:/etc/wireguard # Volum named — configuració persistent
|
|
cap_add:
|
|
- NET_ADMIN
|
|
- SYS_MODULE
|
|
sysctls:
|
|
- net.ipv4.ip_forward=1
|
|
- net.ipv4.conf.all.src_valid_mark=1
|
|
networks:
|
|
- shared_net
|
|
|
|
volumes:
|
|
wg_easy_data:
|
|
|
|
networks:
|
|
shared_net:
|
|
external: true
|
|
name: shared_net |