2025-02-04 12:57:06 +01:00

44 lines
1.2 KiB
YAML

version: "3"
services:
boringtun:
image: ghcr.io/ntkme/boringtun:edge
command:
- wg0
container_name: boringtun
# use the network of the 'wireguard-manager' service. this enables to show active clients in the status page
network_mode: service:wireguard-manager
cap_add:
- NET_ADMIN
volumes:
- /dev/net/tun:/dev/net/tun
- ./config:/etc/wireguard
wireguard-manager:
image: swissmakers/wireguard-manager:latest
container_name: wireguard-manager
cap_add:
- NET_ADMIN
environment:
- SENDGRID_API_KEY
- EMAIL_FROM_ADDRESS
- EMAIL_FROM_NAME
- SESSION_SECRET
- WGM_USERNAME=admin
- WGM_PASSWORD=admin
- WG_CONF_TEMPLATE
- WGM_MANAGE_START=true
- WGM_MANAGE_RESTART=true
logging:
driver: json-file
options:
max-size: 50m
volumes:
- ./db:/app/db
- ./config:/etc/wireguard
ports:
# port for wireguard-manager
- "5000:5000"
# port of the wireguard server. this must be set here as the `boringtun` container joins the network of this container and hasn't its own network over which it could publish the ports
- "51820:51820/udp"