-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathentrypoint.sh
More file actions
47 lines (39 loc) · 2.12 KB
/
entrypoint.sh
File metadata and controls
47 lines (39 loc) · 2.12 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
#!/bin/bash
# Функция для генерации случайного 32-значного пароля
generate_password() {
local PASSWORD=$(LC_ALL=C tr -dc 'A-Za-z0-9_' < /dev/urandom | head -c 32)
echo $PASSWORD
}
# Проверка и установка пароля для SOCKET_PASSWORD
if [ -z "$SOCKET_PASSWORD" ]; then
SOCKET_PASSWORD=$(generate_password)
echo "SOCKET_PASSWORD не был передан. Сгенерирован случайный пароль: $SOCKET_PASSWORD"
fi
# Проверка и установка пароля для SIP_PASSWORD
if [ -z "$SIP_PASSWORD" ]; then
SIP_PASSWORD=$(generate_password)
echo "SIP_PASSWORD не был передан. Сгенерирован случайный пароль: $SIP_PASSWORD"
fi
# Проверка наличия IP
if [ -z "$SIP_IP" ]; then
echo "Error: SIP IP is not set"
exit 1
fi
# Проверка и установка размера одного файла с логами для ROLLOVER
if [ -z "$ROLLOVER" ]; then
ROLLOVER=1048576000
echo "ROLLOVER не был передан. Установлено значение: $ROLLOVER"
fi
# Проверка и установка значения для ротации логов для MAXIMUM_ROTATE
if [ -z "$MAXIMUM_ROTATE" ]; then
MAXIMUM_ROTATE=10
echo "MAXIMUM_ROTATE не был передан. Установлено значение: $MAXIMUM_ROTATE"
fi
# Замена паролей и IP в конфигурационных файлах
sed -i "s/\$\$SOCKET_PASSWORD/${SOCKET_PASSWORD}/g" /usr/local/freeswitch/conf/autoload_configs/event_socket.conf.xml
sed -i "s/\$\$SIP_IP/${SIP_IP}/g" /usr/local/freeswitch/conf/vars.xml
sed -i "s/\$\$ROLLOVER/${ROLLOVER}/g" /usr/local/freeswitch/conf/autoload_configs/logfile.conf.xml
sed -i "s/\$\$MAXIMUM_ROTATE/${MAXIMUM_ROTATE}/g" /usr/local/freeswitch/conf/autoload_configs/logfile.conf.xml
sed -i -E "s!<X-PRE-PROCESS cmd=\"set\" data=\"default_password=[^\"]*\"/>!<X-PRE-PROCESS cmd=\"set\" data=\"default_password=${SIP_PASSWORD}\"/>!" /usr/local/freeswitch/conf/vars.xml
# Запуск FreeSwitch
exec /usr/local/freeswitch/bin/freeswitch