From 9d2dd711a11d91a585770cd5bef6cc853ac5f59f Mon Sep 17 00:00:00 2001
From: Marcus Wichelmann <mail@marcusw.de>
Date: Fri, 2 Dec 2022 23:10:49 +0100
Subject: [PATCH] Disable automatic endpoint address detection when endpoint is
 supplied (#240)

---
 store/jsondb/jsondb.go | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/store/jsondb/jsondb.go b/store/jsondb/jsondb.go
index 285bc19..9227ad8 100644
--- a/store/jsondb/jsondb.go
+++ b/store/jsondb/jsondb.go
@@ -81,14 +81,18 @@ func (o *JsonDB) Init() error {
 
 	// global settings
 	if _, err := os.Stat(globalSettingPath); os.IsNotExist(err) {
-
-		publicInterface, err := util.GetPublicIP()
-		if err != nil {
-			return err
+		endpointAddress := util.LookupEnvOrString(util.EndpointAddressEnvVar, "")
+		if endpointAddress == "" {
+			// automatically find an external IP address
+			publicInterface, err := util.GetPublicIP()
+			if err != nil {
+				return err
+			}
+			endpointAddress = publicInterface.IPAddress
 		}
 
 		globalSetting := new(model.GlobalSetting)
-		globalSetting.EndpointAddress = util.LookupEnvOrString(util.EndpointAddressEnvVar, publicInterface.IPAddress)
+		globalSetting.EndpointAddress = endpointAddress
 		globalSetting.DNSServers = util.LookupEnvOrStrings(util.DNSEnvVar, []string{util.DefaultDNS})
 		globalSetting.MTU = util.LookupEnvOrInt(util.MTUEnvVar, util.DefaultMTU)
 		globalSetting.PersistentKeepalive = util.LookupEnvOrInt(util.PersistentKeepaliveEnvVar, util.DefaultPersistentKeepalive)