42 lines
1.1 KiB
Bash
42 lines
1.1 KiB
Bash
|
version: "3"
|
||
|
|
||
|
services:
|
||
|
wireguard:
|
||
|
image: linuxserver/wireguard:latest
|
||
|
container_name: wireguard
|
||
|
cap_add:
|
||
|
- NET_ADMIN
|
||
|
volumes:
|
||
|
- ./config:/config
|
||
|
ports:
|
||
|
# port for wireguard-ui. this must be set here as the `wireguard-ui` container joins the network of this container and hasn't its own network over which it could publish the ports
|
||
|
- "5000:5000"
|
||
|
# port of the wireguard server
|
||
|
- "51820:51820/udp"
|
||
|
|
||
|
wireguard-ui:
|
||
|
image: ngoduykhanh/wireguard-ui:latest
|
||
|
container_name: wireguard-ui
|
||
|
depends_on:
|
||
|
- wireguard
|
||
|
cap_add:
|
||
|
- NET_ADMIN
|
||
|
# use the network of the 'wireguard' service. this enables to show active clients in the status page
|
||
|
network_mode: service:wireguard
|
||
|
environment:
|
||
|
- SENDGRID_API_KEY
|
||
|
- EMAIL_FROM_ADDRESS
|
||
|
- EMAIL_FROM_NAME
|
||
|
- SESSION_SECRET
|
||
|
- WGUI_USERNAME=admin
|
||
|
- WGUI_PASSWORD=admin
|
||
|
- WG_CONF_TEMPLATE
|
||
|
- WGUI_MANAGE_START=true
|
||
|
- WGUI_MANAGE_RESTART=true
|
||
|
logging:
|
||
|
driver: json-file
|
||
|
options:
|
||
|
max-size: 50m
|
||
|
volumes:
|
||
|
- ./db:/app/db
|
||
|
- ./config:/etc/wireguard
|