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 $!
 |