-
-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathdocker-entrypoint.sh
More file actions
124 lines (97 loc) · 2.77 KB
/
Copy pathdocker-entrypoint.sh
File metadata and controls
124 lines (97 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/bin/bash
set -e
SERVER_IP=$(
curl -sf https://1.1.1.1/cdn-cgi/trace | grep -oP 'ip=\K.*' 2>/dev/null || \
curl -sf https://checkip.amazonaws.com 2>/dev/null || \
echo "unknown-ip"
)
export STREAM_APP=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c12)
CONNECTION_INFO="# ======================================\n# ======================================\n# Your Stream Destination: rtmp://$SERVER_IP/$STREAM_APP\n# ======================================\n# Your Stream Key Does Not Matter\n# ======================================\n"
echo -e "$CONNECTION_INFO" >&2
{
echo -e "$CONNECTION_INFO"
} > /proc/1/fd/1
NGINX_TEMPLATE=/etc/nginx/nginx.conf.template
NGINX_CONF=/etc/nginx/nginx.conf
ENV_OK=0
if [ -n "${YOUTUBE_KEY}" ]; then
echo "Youtube activate."
sed -i 's|#youtube|push '"$YOUTUBE_URL"'${YOUTUBE_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#youtube| |g' $NGINX_TEMPLATE
fi
if [ -n "${FACEBOOK_KEY}" ]; then
echo "Facebook activate."
sed -i 's|#facebook|push '"$FACEBOOK_URL"'${FACEBOOK_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#facebook| |g' $NGINX_TEMPLATE
fi
if [ -n "${INSTAGRAM_KEY}" ]; then
echo "Instagram activate."
sed -i 's|#instagram|push '"$INSTAGRAM_URL"'${INSTAGRAM_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#instagram| |g' $NGINX_TEMPLATE
fi
if [ -n "${CLOUDFLARE_KEY}" ]; then
echo "Cloudflare activate."
sed -i 's|#cloudflare|push '"$CLOUDFLARE_URL"'${CLOUDFLARE_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#cloudflare| |g' $NGINX_TEMPLATE
fi
if [ -n "${TWITCH_KEY}" ]; then
echo "Twitch activate."
sed -i 's|#twitch|push '"$TWITCH_URL"'${TWITCH_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#twitch| |g' $NGINX_TEMPLATE
fi
if [ -n "${RTMP1_KEY}" ]; then
echo "Rtmp1 activate."
sed -i 's|#rtmp1|push '"$RTMP1_URL"'${RTMP1_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#rtmp1| |g' $NGINX_TEMPLATE
fi
if [ -n "${RTMP2_KEY}" ]; then
echo "Rtmp2 activate."
sed -i 's|#rtmp2|push '"$RTMP2_URL"'${RTMP2_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#rtmp2| |g' $NGINX_TEMPLATE
fi
if [ -n "${RTMP3_KEY}" ]; then
echo "Rtmp3 activate."
sed -i 's|#rtmp3|push '"$RTMP3_URL"'${RTMP3_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#rtmp3| |g' $NGINX_TEMPLATE
fi
if [ -n "${TROVO_KEY}" ]; then
echo "Trovo activate."
sed -i 's|#trovo|push '"$TROVO_URL"'${TROVO_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#trovo| |g' $NGINX_TEMPLATE
fi
if [ -n "${KICK_KEY}" ]; then
echo "Kick activate."
sed -i 's|#kick|push '"$KICK_URL"'${KICK_KEY};|g' $NGINX_TEMPLATE
ENV_OK=1
else
sed -i 's|#kick| |g' $NGINX_TEMPLATE
fi
if [ $ENV_OK -eq 1 ]; then
envsubst < $NGINX_TEMPLATE > $NGINX_CONF
else
echo "Start local server."
fi
if [ -n "${DEBUG}" ]; then
echo $NGINX_CONF
cat $NGINX_CONF
fi
stunnel4
exec "$@"