Merge pull request #3270 from gravitl/script_ipv6

listen on ipv6 if available
This commit is contained in:
Abhishek K 2024-12-20 17:52:15 +04:00 committed by GitHub
commit c63e3e42eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 13 additions and 6 deletions

View file

@ -54,6 +54,9 @@ services:
ports: ports:
- "$SERVER_HOST:80:80" - "$SERVER_HOST:80:80"
- "$SERVER_HOST:443:443" - "$SERVER_HOST:443:443"
#uncomment to enable IPv6 communication
# - "$SERVER_HOST6:80:80"
# - "$SERVER_HOST6:443:443"
coredns: coredns:
#network_mode: host #network_mode: host

View file

@ -2,8 +2,10 @@
NM_EMAIL= NM_EMAIL=
# The base domain of netmaker # The base domain of netmaker
NM_DOMAIN= NM_DOMAIN=
# Public IP of machine # Public IPv4 endpoint of machine
SERVER_HOST= SERVER_HOST=
# Public IPv6 endpoint of machine
SERVER_HOST6=
# The admin master key for accessing the API. Change this in any production installation. # The admin master key for accessing the API. Change this in any production installation.
MASTER_KEY= MASTER_KEY=
# The username to set for MQ access # The username to set for MQ access

View file

@ -260,7 +260,7 @@ save_config() { (
save_config_item SERVER_IMAGE_TAG "$IMAGE_TAG" save_config_item SERVER_IMAGE_TAG "$IMAGE_TAG"
fi fi
# copy entries from the previous config # copy entries from the previous config
local toCopy=("SERVER_HOST" "MASTER_KEY" "MQ_USERNAME" "MQ_PASSWORD" "LICENSE_KEY" "NETMAKER_TENANT_ID" local toCopy=("SERVER_HOST" "SERVER_HOST6" "MASTER_KEY" "MQ_USERNAME" "MQ_PASSWORD" "LICENSE_KEY" "NETMAKER_TENANT_ID"
"INSTALL_TYPE" "NODE_ID" "DNS_MODE" "NETCLIENT_AUTO_UPDATE" "API_PORT" "INSTALL_TYPE" "NODE_ID" "DNS_MODE" "NETCLIENT_AUTO_UPDATE" "API_PORT"
"CORS_ALLOWED_ORIGIN" "DISPLAY_KEYS" "DATABASE" "SERVER_BROKER_ENDPOINT" "VERBOSITY" "CORS_ALLOWED_ORIGIN" "DISPLAY_KEYS" "DATABASE" "SERVER_BROKER_ENDPOINT" "VERBOSITY"
"DEBUG_MODE" "REST_BACKEND" "DISABLE_REMOTE_IP_CHECK" "TELEMETRY" "ALLOWED_EMAIL_DOMAINS" "AUTH_PROVIDER" "CLIENT_ID" "CLIENT_SECRET" "DEBUG_MODE" "REST_BACKEND" "DISABLE_REMOTE_IP_CHECK" "TELEMETRY" "ALLOWED_EMAIL_DOMAINS" "AUTH_PROVIDER" "CLIENT_ID" "CLIENT_SECRET"
@ -509,14 +509,16 @@ set -e
# set_install_vars - sets the variables that will be used throughout installation # set_install_vars - sets the variables that will be used throughout installation
set_install_vars() { set_install_vars() {
IP_ADDR=$(dig -4 myip.opendns.com @resolver1.opendns.com +short) IP_ADDR=$(curl -s -4 ifconfig.me)
if [ "$IP_ADDR" = "" ]; then IP6_ADDR=$(curl -s -6 ifconfig.me)
IP_ADDR=$(curl -s ifconfig.me)
fi
if [ "$NETMAKER_BASE_DOMAIN" = "" ]; then if [ "$NETMAKER_BASE_DOMAIN" = "" ]; then
NETMAKER_BASE_DOMAIN=nm.$(echo $IP_ADDR | tr . -).nip.io NETMAKER_BASE_DOMAIN=nm.$(echo $IP_ADDR | tr . -).nip.io
fi fi
SERVER_HOST=$IP_ADDR SERVER_HOST=$IP_ADDR
SERVER_HOST6=$IP6_ADDR
if [ "$IP_ADDR" = "" ]; then
SERVER_HOST=$IP6_ADDR
fi
if test -z "$MASTER_KEY"; then if test -z "$MASTER_KEY"; then
MASTER_KEY=$( MASTER_KEY=$(
tr -dc A-Za-z0-9 </dev/urandom | head -c 30 tr -dc A-Za-z0-9 </dev/urandom | head -c 30