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>
24 lines
649 B
Bash
Executable File
24 lines
649 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# extract wg config file path, or use default
|
|
conf="$(jq -r .config_file_path db/server/global_settings.json || echo /etc/wireguard/wg0.conf)"
|
|
|
|
# manage wireguard stop/start with the container
|
|
case $WGUI_MANAGE_START in (1|t|T|true|True|TRUE)
|
|
wg-quick up "$conf"
|
|
trap 'wg-quick down "$conf"' SIGTERM # catches container stop
|
|
esac
|
|
|
|
# manage wireguard restarts
|
|
case $WGUI_MANAGE_RESTART in (1|t|T|true|True|TRUE)
|
|
[[ -f $conf ]] || touch "$conf" # inotifyd needs file to exist
|
|
inotifyd - "$conf":w | while read -r event file; do
|
|
wg-quick down "$file"
|
|
wg-quick up "$file"
|
|
done &
|
|
esac
|
|
|
|
|
|
./wg-ui &
|
|
wait $!
|