41 lines
1.8 KiB
YAML
41 lines
1.8 KiB
YAML
services:
|
|
wg-easy:
|
|
image: ghcr.io/wg-easy/wg-easy
|
|
container_name: wg-easy
|
|
environment:
|
|
LANG: en
|
|
WG_HOST: ${WG_HOST} # Public IP or domain name where WG-Easy is accessible.
|
|
#PASSWORD: # Password for accessing the WG-Easy web interface.
|
|
PORT: 51821 # Port for the web interface.
|
|
WG_PORT: 51820 # WireGuard port for VPN traffic.
|
|
WG_DEFAULT_ADDRESS: ${WG_DEFAULT_ADDRESS}
|
|
WG_DEFAULT_DNS: ${WG_DEFAULT_DNS}
|
|
WG_MTU: 1420
|
|
#WG_CONFIG_PORT: 92820
|
|
WG_ALLOWED_IPS: 0.0.0.0/0
|
|
volumes:
|
|
- /srv/docker/wg-easy:/etc/wireguard # Volume mapping for WireGuard configuration files.
|
|
ports:
|
|
- "51820:51820/udp" # UDP port used by WireGuard.
|
|
- "51821:51821/tcp" # TCP port for accessing the web interface.
|
|
cap_add: # Capabilities required for managing networking features.
|
|
- NET_ADMIN
|
|
- SYS_MODULE
|
|
sysctls: # Kernel parameters that need to be set for WireGuard.
|
|
- net.ipv4.conf.all.src_valid_mark=1
|
|
- net.ipv4.ip_forward=1
|
|
restart: unless-stopped
|
|
labels:
|
|
### Auto create icon on Flame dashboard
|
|
- flame.type=application
|
|
- flame.name=${SERVICE_NAME}
|
|
- flame.url=http://${IP}:51821
|
|
- flame.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/wireguard.png
|
|
### Monitor with uptime-kuma
|
|
- kuma.monitoring.group.name=Docker Containers
|
|
- kuma.${SERVICE_NAME}.docker.parent_name=monitoring
|
|
- kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME}
|
|
- kuma.${SERVICE_NAME}.docker.type=docker
|
|
- kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME}
|
|
- kuma.${SERVICE_NAME}.docker.docker_host=1
|
|
- 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]' |