@@ -406,27 +406,13 @@ read_nb_domain() {
406406 echo " $READ_NETBIRD_DOMAIN "
407407}
408408
409- get_turn_external_ip () {
410- TURN_EXTERNAL_IP_CONFIG=" #external-ip="
411- IP=$( curl -s -4 https://jsonip.com | jq -r ' .ip' )
412- if [[ " x-$IP " != " x-" ]]; then
413- TURN_EXTERNAL_IP_CONFIG=" external-ip=$IP "
414- fi
415- echo " $TURN_EXTERNAL_IP_CONFIG "
416- }
417-
418409initEnvironment () {
419410 CADDY_SECURE_DOMAIN=" "
420411 ZITADEL_EXTERNALSECURE=" false"
421412 ZITADEL_TLS_MODE=" disabled"
422413 ZITADEL_MASTERKEY=" $( openssl rand -base64 32 | head -c 32) "
423414 NETBIRD_PORT=80
424415 NETBIRD_HTTP_PROTOCOL=" http"
425- TURN_USER=" self"
426- TURN_PASSWORD=$( openssl rand -base64 32 | sed ' s/=//g' )
427- TURN_MIN_PORT=49152
428- TURN_MAX_PORT=65535
429- TURN_EXTERNAL_IP_CONFIG=$( get_turn_external_ip)
430416
431417 if ! check_nb_domain " $NETBIRD_DOMAIN " ; then
432418 NETBIRD_DOMAIN=$( read_nb_domain)
@@ -466,7 +452,6 @@ initEnvironment() {
466452 renderCaddyfile > Caddyfile
467453 renderZitadelEnv > zitadel.env
468454 echo " " > dashboard.env
469- echo " " > turnserver.conf
470455 echo " " > management.json
471456
472457 mkdir -p machinekey
@@ -479,7 +464,6 @@ initEnvironment() {
479464 init_zitadel
480465
481466 echo -e " \nRendering NetBird files...\n"
482- renderTurnServerConf > turnserver.conf
483467 renderManagementJson > management.json
484468 renderDashboardEnv > dashboard.env
485469
@@ -573,40 +557,20 @@ renderCaddyfile() {
573557EOF
574558}
575559
576- renderTurnServerConf () {
577- cat << EOF
578- listening-port=3478
579- $TURN_EXTERNAL_IP_CONFIG
580- tls-listening-port=5349
581- min-port=$TURN_MIN_PORT
582- max-port=$TURN_MAX_PORT
583- fingerprint
584- lt-cred-mech
585- user=$TURN_USER :$TURN_PASSWORD
586- realm=wiretrustee.com
587- cert=/etc/coturn/certs/cert.pem
588- pkey=/etc/coturn/private/privkey.pem
589- log-file=stdout
590- no-software-attribute
591- pidfile="/var/tmp/turnserver.pid"
592- no-cli
593- EOF
594- }
595-
596560renderManagementJson () {
597561 cat << EOF
598562{
599563 "Stuns": [
600564 {
601565 "Proto": "udp",
602- "URI": "stun:$NETBIRD_DOMAIN :3478"
566+ "URI": "stun:$TURN_EXTERNAL_IP :3478"
603567 }
604568 ],
605569 "TURNConfig": {
606570 "Turns": [
607571 {
608572 "Proto": "udp",
609- "URI": "turn:$NETBIRD_DOMAIN :3478",
573+ "URI": "turn:$TURN_EXTERNAL_IP :3478",
610574 "Username": "$TURN_USER ",
611575 "Password": "$TURN_PASSWORD "
612576 }
@@ -742,20 +706,9 @@ services:
742706 "--log-file", "console",
743707 "--log-level", "info",
744708 "--disable-anonymous-metrics=false",
745- "--single-account-mode-domain=netbird.selfhosted",
746709 "--dns-domain=netbird.selfhosted",
747710 "--idp-sign-key-refresh-enabled",
748711 ]
749- # Coturn, AKA relay server
750- coturn:
751- image: coturn/coturn
752- restart: unless-stopped
753- domainname: netbird.relay.selfhosted
754- volumes:
755- - ./turnserver.conf:/etc/turnserver.conf:ro
756- network_mode: host
757- command:
758- - -c /etc/turnserver.conf
759712 # Zitadel - identity provider
760713 zitadel:
761714 restart: 'always'
0 commit comments