privateone commited on
Commit
d7655f5
·
verified ·
1 Parent(s): 7209595

Update custom-entrypoint.sh

Browse files
Files changed (1) hide show
  1. custom-entrypoint.sh +26 -8
custom-entrypoint.sh CHANGED
@@ -5,10 +5,28 @@ set -e
5
  # Detect external/public IP dynamically (you can hardcode this if needed)
6
  # EXTERNAL_IP=$(curl -s https://ifconfig.me)
7
  echo "Starting ngrok in background..."
8
- ngrok start turn_tls --config /ngrok2/ngrok.yml --log=stdout --log-level=debug &
 
9
  NGROK_PID=$!
 
10
  echo "Waiting for ngrok TCP tunnel..."
11
- ngrok --help
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  # Retry loop until public TCP address is available
13
  # PUBLIC_TCP=""
14
  # while [[ -z "$PUBLIC_TCP" ]]; do
@@ -34,12 +52,12 @@ ngrok --help
34
  # done
35
  # echo "PUBLIC ip :$PUBLIC_TCP"
36
  # # Extract host and host:port
37
- # TURN_HOST="${PUBLIC_TCP%%:*}"
38
- # TURN_HOST_PORT="$PUBLIC_TCP"
39
 
40
- # export TURN_PUBLIC_ADDR="$TURN_HOST_PORT"
41
- # export TURN_HOST="$TURN_HOST"
42
- # export TURN_HOST_PORT="$TURN_HOST_PORT"
43
 
44
 
45
  echo "Starting turnserver..."
@@ -48,7 +66,7 @@ exec turnserver \
48
  # --listening-ip=0.0.0.0 \
49
  --listening-port=7860 \
50
  --tls-listening-port=5349 \
51
- --external-ip=8.tcp.ngrok.io:15174 \
52
  # --cert=/etc/turn/certs/turn_server_cert.pem \
53
  # --pkey=/etc/turn/certs/turn_server_pkey.pem \
54
  --user=myuser:mypassword \
 
5
  # Detect external/public IP dynamically (you can hardcode this if needed)
6
  # EXTERNAL_IP=$(curl -s https://ifconfig.me)
7
  echo "Starting ngrok in background..."
8
+ NGROK_LOG=/tmp/ngrok.log
9
+ ngrok start turn_tls --config /ngrok2/ngrok.yml --log=stdout --log-level=debug > "$NGROK_LOG" 2>&1 &
10
  NGROK_PID=$!
11
+
12
  echo "Waiting for ngrok TCP tunnel..."
13
+
14
+ # Retry loop to wait until the TCP URL appears
15
+ for i in $(seq 1 30); do
16
+ # Look for tcp:// in stdout
17
+ PUBLIC_TCP=$(grep -o 'tcp://[0-9a-zA-Z\.-]*:[0-9]*' "$NGROK_LOG" | head -n 1)
18
+ if [ -n "$PUBLIC_TCP" ]; then
19
+ break
20
+ fi
21
+ sleep 1
22
+ done
23
+
24
+ if [ -z "$PUBLIC_TCP" ]; then
25
+ echo "Error: Could not find ngrok TCP public URL."
26
+ exit 1
27
+ fi
28
+
29
+ echo "Ngrok public TCP URL: $PUBLIC_TCP"
30
  # Retry loop until public TCP address is available
31
  # PUBLIC_TCP=""
32
  # while [[ -z "$PUBLIC_TCP" ]]; do
 
52
  # done
53
  # echo "PUBLIC ip :$PUBLIC_TCP"
54
  # # Extract host and host:port
55
+ TURN_HOST="${PUBLIC_TCP%%:*}"
56
+ TURN_HOST_PORT="$PUBLIC_TCP"
57
 
58
+ export TURN_PUBLIC_ADDR="$TURN_HOST_PORT"
59
+ export TURN_HOST="$TURN_HOST"
60
+ export TURN_HOST_PORT="$TURN_HOST_PORT"
61
 
62
 
63
  echo "Starting turnserver..."
 
66
  # --listening-ip=0.0.0.0 \
67
  --listening-port=7860 \
68
  --tls-listening-port=5349 \
69
+ --external-ip="$TURN_PUBLIC_ADDR" \
70
  # --cert=/etc/turn/certs/turn_server_cert.pem \
71
  # --pkey=/etc/turn/certs/turn_server_pkey.pem \
72
  --user=myuser:mypassword \