diff --git a/go.mod b/go.mod
index a932024..6af19d4 100644
--- a/go.mod
+++ b/go.mod
@@ -12,6 +12,8 @@ require (
 	github.com/labstack/echo/v4 v4.1.16
 	github.com/labstack/gommon v0.3.0
 	github.com/leodido/go-urn v1.2.0 // indirect
+	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
+	github.com/modern-go/reflect2 v1.0.1 // indirect
 	github.com/rs/xid v1.2.1
 	github.com/sdomino/scribble v0.0.0-20191024200645-4116320640ba
 	github.com/skip2/go-qrcode v0.0.0-20191027152451-9434209cb086
diff --git a/main.go b/main.go
index 15a8fae..282d6a4 100644
--- a/main.go
+++ b/main.go
@@ -24,10 +24,12 @@ var (
 func init() {
 	// command-line flags
 	flagDisableLogin := flag.Bool("disable-login", false, "Disable login page. Turn off authentication.")
+        flagBindAddress := flag.String("bind-address", "0.0.0.0:5000", "Address:Port to which the app will be bound.")
 	flag.Parse()
 
 	// update runtime config
 	util.DisableLogin = *flagDisableLogin
+	util.BindAddress = *flagBindAddress
 
 	// print app information
 	fmt.Println("Wireguard UI")
@@ -37,6 +39,7 @@ func init() {
 	fmt.Println("Build Time\t:", buildTime)
 	fmt.Println("Git Repo\t:", "https://github.com/ngoduykhanh/wireguard-ui")
 	fmt.Println("Authentication\t:", !util.DisableLogin)
+        fmt.Println("Bind address\t:", util.BindAddress)
 
 	// initialize DB
 	err := util.InitDB()
@@ -86,5 +89,5 @@ func main() {
 	// servers other static files
 	app.GET("/static/*", echo.WrapHandler(http.StripPrefix("/static/", assetHandler)))
 
-	app.Logger.Fatal(app.Start("0.0.0.0:5000"))
+	app.Logger.Fatal(app.Start(util.BindAddress))
 }
diff --git a/util/config.go b/util/config.go
index ee1bf76..34f8efb 100644
--- a/util/config.go
+++ b/util/config.go
@@ -3,4 +3,5 @@ package util
 // Runtime config
 var (
 	DisableLogin bool
+	BindAddress string
 )