The from-scratch Go rewrite had unresolved bugs (missing go.sum, UI 404s, path issues) from being built without a working local Go toolchain to verify against. Switching strategy: use the actual upstream wireguard-ui codebase (proven, battle-tested single-server manager) as the base, and extend it for multi-server support instead of re-deriving everything from zero. Kept our own installers (bootstrap.sh, update.sh, scripts/install.sh, scripts/proxmox-install.sh) - these still apply, just need updating to build/install the upstream module layout instead of the old cmd/wireguard-ui-multi structure. Module path intentionally left as upstream's own (github.com/ngoduykhanh/wireguard-ui) for now to avoid touching every internal import; revisit if this needs to be fully rebranded. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
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
|