@drumee/setup-infra 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +3 -0
- package/configs/etc/cron.d/drumee +6 -0
- package/configs/etc/postfix/master.cf +137 -0
- package/congigure/init/acme +69 -0
- package/congigure/init/mail +16 -0
- package/congigure/init/named +27 -0
- package/congigure/menu/menu -tmp +144 -0
- package/congigure/menu/menu-install +147 -0
- package/congigure/menu/menu-reinstall +15 -0
- package/congigure/prepare +10 -0
- package/congigure/preset/jitsi +9 -0
- package/congigure/setup-infra +58 -0
- package/congigure/setup-schemas +57 -0
- package/congigure/start +29 -0
- package/congigure/utils/configure +56 -0
- package/congigure/utils/dependencies +90 -0
- package/congigure/utils/jitsi +122 -0
- package/congigure/utils/misc +77 -0
- package/congigure/utils/prompt.sh +35 -0
- package/congigure/utils/setup-versions +7 -0
- package/index.js +572 -0
- package/package.json +30 -0
- package/template.js +453 -0
- package/templates/env/application.json.tpl +0 -0
- package/templates/env/logrotate.tpl +7 -0
- package/templates/etc/bind/named.conf.local +13 -0
- package/templates/etc/bind/named.conf.log +105 -0
- package/templates/etc/bind/named.conf.options +33 -0
- package/templates/etc/dkimkeys/dkim.key +1 -0
- package/templates/etc/drumee/conf.d/conference.json.tpl +9 -0
- package/templates/etc/drumee/conf.d/drumee.json.tpl +7 -0
- package/templates/etc/drumee/conf.d/exchange.json.tpl +4 -0
- package/templates/etc/drumee/conf.d/myDrumee.json.tpl +16 -0
- package/templates/etc/drumee/credential/db.json.tpl +6 -0
- package/templates/etc/drumee/credential/email.json.tpl +12 -0
- package/templates/etc/drumee/credential/ovh/dns.json.tpl +6 -0
- package/templates/etc/drumee/credential/ovh/dns.sh.tpl +7 -0
- package/templates/etc/drumee/credential/redis.json.tpl +6 -0
- package/templates/etc/drumee/credential/sms.json.tpl +6 -0
- package/templates/etc/drumee/dnsapi.sh.tpl +28 -0
- package/templates/etc/drumee/drumee.sh.tpl +43 -0
- package/templates/etc/drumee/env.json +29 -0
- package/templates/etc/drumee/infrastructure/internals/accel.conf.tpl +47 -0
- package/templates/etc/drumee/infrastructure/mfs.conf.tpl +16 -0
- package/templates/etc/drumee/infrastructure/platform.json.tpl +16 -0
- package/templates/etc/drumee/infrastructure/routes/main.conf.tpl +143 -0
- package/templates/etc/drumee/infrastructure/servers/tt.conf +199 -0
- package/templates/etc/drumee/ssl/main.conf.tpl +10 -0
- package/templates/etc/jitsi/jicofo/config +2 -0
- package/templates/etc/jitsi/jicofo/defaults/jicofo.conf +225 -0
- package/templates/etc/jitsi/jicofo/defaults/logging.properties +15 -0
- package/templates/etc/jitsi/jicofo/jicofo.conf.tpl +46 -0
- package/templates/etc/jitsi/jicofo/logging.properties.tpl +12 -0
- package/templates/etc/jitsi/meet.conf.tpl +131 -0
- package/templates/etc/jitsi/ssl.conf.tpl +25 -0
- package/templates/etc/jitsi/videobridge/config +2 -0
- package/templates/etc/jitsi/videobridge/defaults/jvb.conf +129 -0
- package/templates/etc/jitsi/videobridge/defaults/logging.properties +12 -0
- package/templates/etc/jitsi/videobridge/jvb.conf +67 -0
- package/templates/etc/jitsi/videobridge/logging.properties.tpl +12 -0
- package/templates/etc/jitsi/web/config.js.tpl +208 -0
- package/templates/etc/jitsi/web/defaults/default +26 -0
- package/templates/etc/jitsi/web/defaults/ffdhe2048.txt +8 -0
- package/templates/etc/jitsi/web/defaults/interface_config.js +273 -0
- package/templates/etc/jitsi/web/defaults/meet.conf +193 -0
- package/templates/etc/jitsi/web/defaults/nginx.conf +73 -0
- package/templates/etc/jitsi/web/defaults/settings-config.js +480 -0
- package/templates/etc/jitsi/web/defaults/ssl.conf +28 -0
- package/templates/etc/jitsi/web/defaults/system-config.js +60 -0
- package/templates/etc/jitsi/web/interface_config.js +273 -0
- package/templates/etc/mail/dkim.key +1 -0
- package/templates/etc/mailname +1 -0
- package/templates/etc/mysql/mariadb.conf.d/50-server.cnf +120 -0
- package/templates/etc/nginx/modules-enabled/90-turn-relay.conf +27 -0
- package/templates/etc/nginx/modules-enabled/90-turn-relay.conf.tpl +27 -0
- package/templates/etc/nginx/nginx.conf +65 -0
- package/templates/etc/nginx/sites-enabled/drumee.conf.tpl +33 -0
- package/templates/etc/nginx/sites-enabled/jitsi.conf.tpl +28 -0
- package/templates/etc/nginx/sites-enabled/turnrelay.conf.tpl +9 -0
- package/templates/etc/opendkim/KeyTable +1 -0
- package/templates/etc/postfix/main.cf +76 -0
- package/templates/etc/postfix/mysql-virtual-alias-maps.cf +5 -0
- package/templates/etc/postfix/mysql-virtual-mailbox-domains.cf +5 -0
- package/templates/etc/postfix/mysql-virtual-mailbox-maps.cf +5 -0
- package/templates/etc/prosody/conf.d/vhost.cfg.lua.tpl +162 -0
- package/templates/etc/prosody/defaults/conf.d/jitsi-meet.cfg.lua +406 -0
- package/templates/etc/prosody/defaults/credentials.sh +10 -0
- package/templates/etc/prosody/defaults/prosody.cfg.lua +225 -0
- package/templates/etc/prosody/defaults/saslauthd.conf +30 -0
- package/templates/etc/prosody/prosody.cfg.lua.tpl +203 -0
- package/templates/etc/turnserver.conf.tpl +46 -0
- package/templates/index.js +102 -0
- package/templates/schema/utils/configs.init.sql.tpl +20 -0
- package/templates/schema/utils/configs.update.sql.tpl +19 -0
- package/templates/server/ecosystem.config.js.tpl +8 -0
- package/templates/var/lib/bind/domain.tpl +70 -0
package/congigure/start
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
set -e
|
|
3
|
+
. /usr/share/debconf/confmodule
|
|
4
|
+
|
|
5
|
+
echo "Installing Drumee Team Meta Package"
|
|
6
|
+
script_dir=`dirname $(readlink -f $0)`
|
|
7
|
+
. $script_dir/utils/functions
|
|
8
|
+
. $script_dir/utils/prompt.sh
|
|
9
|
+
|
|
10
|
+
check_installation
|
|
11
|
+
if [ "$RET" = "maiden" ]; then
|
|
12
|
+
select_installation_mode
|
|
13
|
+
if [ "$RET" = "menu" ]; then
|
|
14
|
+
$script_dir/menu-install
|
|
15
|
+
fi
|
|
16
|
+
$script_dir/prepare
|
|
17
|
+
else
|
|
18
|
+
should_reinstall
|
|
19
|
+
if [ "$RET" = "remove" ]; then
|
|
20
|
+
export FORCE_INSTALL=yes
|
|
21
|
+
service mariadb stop
|
|
22
|
+
echo rm -rf $DRUMEE_DB_DIR
|
|
23
|
+
echo rm -rf $DRUMEE_DATA_DIR
|
|
24
|
+
$script_dir/menu-install
|
|
25
|
+
$script_dir/prepare
|
|
26
|
+
else
|
|
27
|
+
echo updating
|
|
28
|
+
fi
|
|
29
|
+
done
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
echo "Configuring Drumee Infrastructure"
|
|
5
|
+
script_dir=$(dirname $(readlink -f $0))
|
|
6
|
+
|
|
7
|
+
export infra_helper=$(dirname $script_dir)
|
|
8
|
+
|
|
9
|
+
$infra_helper/bin/init-mail
|
|
10
|
+
|
|
11
|
+
# Prepare config files
|
|
12
|
+
node $infra_helper/index.js
|
|
13
|
+
source /etc/drumee/drumee.sh
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
if [ -d /etc/cron.d/drumee ]; then
|
|
17
|
+
crontab /etc/cron.d/drumee
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
source $infra_helper/bin/env
|
|
21
|
+
source $infra_helper/bin/jitsi
|
|
22
|
+
|
|
23
|
+
install_jitsi
|
|
24
|
+
|
|
25
|
+
protect_dir $DRUMEE_RUNTIME_DIR "no" "mkdir"
|
|
26
|
+
protect_dir $DRUMEE_DATA_DIR "yes" "mkdir"
|
|
27
|
+
cd $DRUMEE_DATA_DIR
|
|
28
|
+
|
|
29
|
+
for d in mfs tmp; do
|
|
30
|
+
protect_dir "$DRUMEE_DATA_DIR/$d" "yes"
|
|
31
|
+
done
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
LOG_DIR=$DRUMEE_SERVER_HOME/.pm2/logs
|
|
35
|
+
|
|
36
|
+
touch $DRUMEE_DATA_DIR/mfs/dont-remove-this-dir
|
|
37
|
+
chmod a-w $DRUMEE_DATA_DIR/mfs/dont-remove-this-dir
|
|
38
|
+
|
|
39
|
+
protect_dir $DRUMEE_STATIC_DIR
|
|
40
|
+
protect_dir /etc/drumee
|
|
41
|
+
protect_dir $LOG_DIR "yes"
|
|
42
|
+
protect_dir $DRUMEE_CACHE_DIR
|
|
43
|
+
protect_dir $DRUMEE_TMP_DIR "yes"
|
|
44
|
+
protect_dir $DRUMEE_SERVER_HOME
|
|
45
|
+
protect_dir $DRUMEE_EXPORT_DIR
|
|
46
|
+
protect_dir $DRUMEE_IMPORT_DIR
|
|
47
|
+
|
|
48
|
+
$infra_helper/bin/init-named
|
|
49
|
+
$infra_helper/bin/init-acme
|
|
50
|
+
|
|
51
|
+
clean_vendor_files
|
|
52
|
+
setup_dirs
|
|
53
|
+
setup_prosody
|
|
54
|
+
write_version
|
|
55
|
+
|
|
56
|
+
echo "Drumee infrastructure done !"
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
|
|
2
|
+
# Install postfix
|
|
3
|
+
ensure_postfix () {
|
|
4
|
+
debconf-set-selections $1
|
|
5
|
+
DEBIAN_FRONTEND="noninteractive" apt install -y libopendkim11 opendkim-tools libmail-dkim-perl opendkim postfix mailutils spamass-milter postfix-mysql
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
# Install Jitsi packages
|
|
9
|
+
ensure_jitsi () {
|
|
10
|
+
installed=$(dpkg -l | egrep "^ii +jitsi-meet")
|
|
11
|
+
if [ "$installed" != "" ]; then
|
|
12
|
+
echo Already have jitsi-meet.
|
|
13
|
+
else
|
|
14
|
+
debconf-set-selections $1
|
|
15
|
+
curl -sS https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/jitsi-key.gpg
|
|
16
|
+
echo "deb https://download.jitsi.org stable/" | tee /etc/apt/sources.list.d/jitsi-stable.list
|
|
17
|
+
|
|
18
|
+
apt update
|
|
19
|
+
apt install -y prosody
|
|
20
|
+
DEBIAN_FRONTEND="noninteractive" apt install -y jitsi-meet
|
|
21
|
+
fi
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
ensure_mariadb () {
|
|
25
|
+
v=$(which mariadb)
|
|
26
|
+
if [ "$v" = "" ]; then
|
|
27
|
+
v=0
|
|
28
|
+
else
|
|
29
|
+
v=$(mariadb --version | awk '{print $5}' | sed -E "s/\..+$//")
|
|
30
|
+
fi
|
|
31
|
+
if (($v > 9)); then
|
|
32
|
+
echo "Already have MariaDb"
|
|
33
|
+
else
|
|
34
|
+
if [ ! -f /etc/apt/sources.list.d/mariadb.list ]; then
|
|
35
|
+
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | bash
|
|
36
|
+
fi
|
|
37
|
+
apt install -y --no-install-recommends mariadb-server mariadb-client mariadb-backup
|
|
38
|
+
fi
|
|
39
|
+
service mariadb stop
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
#
|
|
44
|
+
node_version () {
|
|
45
|
+
v=$(which node)
|
|
46
|
+
if [ -z $v ]; then
|
|
47
|
+
echo "0"
|
|
48
|
+
else
|
|
49
|
+
v=$(node -v | sed -E "s/^v//" | sed -E "s/\..+$//")
|
|
50
|
+
echo $v
|
|
51
|
+
fi
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
# Install Node packages dependencies
|
|
55
|
+
ensure_node_packages () {
|
|
56
|
+
echo Installing Node packages dependencies...
|
|
57
|
+
version=$(node_version)
|
|
58
|
+
if (($version < 20)); then
|
|
59
|
+
curl -s https://deb.nodesource.com/setup_20.x | bash && apt-get update && apt-get install nodejs -y
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
node -v
|
|
63
|
+
npm -v
|
|
64
|
+
|
|
65
|
+
npm install -g moment minimist shelljs jsonfile readline-sync pm2 pm2-logrotate lodash node-gyp node-pre-gyp coffeescript sass
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
check_installation () {
|
|
69
|
+
if [ -f /etc/drumee/drumee.sh ]; then
|
|
70
|
+
source /etc/drumee/drumee.sh
|
|
71
|
+
yp=$(mysql yp -e "select main_domain() mydomain")
|
|
72
|
+
if [ "$yp" = "" ]; then
|
|
73
|
+
RET=maiden
|
|
74
|
+
else
|
|
75
|
+
RET=exists
|
|
76
|
+
fi
|
|
77
|
+
else
|
|
78
|
+
RET=exists
|
|
79
|
+
fi
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
select_installation_mode () {
|
|
83
|
+
for i in DRUMEE_DOMAIN_NAME PUBLIC_IP4 PUBLIC_IP6 ADMIN_EMAIL DRUMEE_DB_DIR DRUMEE_DATA_DIR; do
|
|
84
|
+
if [ "${!i}" = "" ]; then
|
|
85
|
+
RET=menu
|
|
86
|
+
break
|
|
87
|
+
fi
|
|
88
|
+
done
|
|
89
|
+
RET=auto
|
|
90
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#-------------------
|
|
5
|
+
function setup_dirs() {
|
|
6
|
+
echo Configuring directories permissions
|
|
7
|
+
|
|
8
|
+
ca_dir=/usr/local/share/ca-certificates
|
|
9
|
+
mkdir -p $ca_dir
|
|
10
|
+
|
|
11
|
+
cert_file="${ACME_CERTS_DIR}/${JITSI_DOMAIN}_ecc/${JITSI_DOMAIN}"
|
|
12
|
+
target="${ca_dir}/auth.${JITSI_DOMAIN}"
|
|
13
|
+
|
|
14
|
+
if [ -f "${cert_file}.cer" ]; then
|
|
15
|
+
ln -sf "${cert_file}.cer" "${target}.cer"
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
if [ -f "${cert_file}.key" ]; then
|
|
19
|
+
chmod g+r "${cert_file}.key"
|
|
20
|
+
ln -sf "${cert_file}.key" "${target}.key"
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
mkdir -p $DRUMEE_RUNTIME_DIR/prosody
|
|
24
|
+
chown -R prosody:prosody $DRUMEE_RUNTIME_DIR/prosody
|
|
25
|
+
|
|
26
|
+
auth=$(echo auth.${JITSI_DOMAIN} | sed -e "s/\./\%2e/g" | sed -e "s/\-/\%2d/g" | sed -e "s/\_/\%5f/g")
|
|
27
|
+
mkdir -p "/etc/drumee/credential/prosody/data/${auth}"
|
|
28
|
+
chown -R prosody:prosody /etc/drumee/credential/prosody
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
#-------------------
|
|
32
|
+
function addUser() {
|
|
33
|
+
user=$1
|
|
34
|
+
secret=$2
|
|
35
|
+
host=$3
|
|
36
|
+
# user_exists=$(prosodyctl adduser ${user}@${host} < /dev/null || true)
|
|
37
|
+
# if [ "$user_exists" = "That user already exists" ]; then
|
|
38
|
+
# fi
|
|
39
|
+
prosodyctl deluser ${user}@${host}
|
|
40
|
+
prosodyctl register ${user} ${host} $secret
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
#-------------------
|
|
45
|
+
function setup_prosody() {
|
|
46
|
+
echo Configuring prosody creadentials
|
|
47
|
+
|
|
48
|
+
# Ensure prosody start before using prosodyctl
|
|
49
|
+
service prosody restart
|
|
50
|
+
host="auth.${JITSI_DOMAIN}"
|
|
51
|
+
#jic_pw=$(grep password /etc/jitsi/jicofo/jicofo.conf | awk '{print $3}' | sed -e s/\"//g)
|
|
52
|
+
#jvb_pw=$(grep PASSWORD /etc/jitsi/videobridge/jvb.conf | awk '{print $3}' | sed -e s/\"//g)
|
|
53
|
+
addUser focus $JICOFO_PASSWORD $host
|
|
54
|
+
addUser jvb $JVB_PASSWORD $host
|
|
55
|
+
addUser $APP_ID $APP_PASSWORD $JITSI_DOMAIN
|
|
56
|
+
|
|
57
|
+
pub_ip=$(grep public-address /etc/jitsi/videobridge/jvb.conf | awk '{print $3}' | sed -e s/\"//g)
|
|
58
|
+
if [ "$pub_ip" != "" ]; then
|
|
59
|
+
o=$(grep ${pub_ip} /etc/hosts)
|
|
60
|
+
if [ "$o" == "" ]; then
|
|
61
|
+
echo "${pub_ip} ${JITSI_DOMAIN}" >>/etc/hosts
|
|
62
|
+
fi
|
|
63
|
+
fi
|
|
64
|
+
echo Subscribing roster command for focus."${JITSI_DOMAIN}" focus@${host}
|
|
65
|
+
prosodyctl mod_roster_command subscribe focus."${JITSI_DOMAIN}" focus@${host}
|
|
66
|
+
#echo prosodyctl mod_roster_command subscribe focus."${JITSI_DOMAIN}" focus@${host}
|
|
67
|
+
echo Prosody creadentials done
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
#-------------------
|
|
71
|
+
function clean_vendor_files() {
|
|
72
|
+
echo Removing native files installed by jitsi-meet package
|
|
73
|
+
rm -f /etc/nginx/sites-enabled/default
|
|
74
|
+
rm -f /etc/prosody/conf.d/jitsi.meet.cfg.lua
|
|
75
|
+
rm -f /etc/jitsi/videobridge/sip-communicator.properties
|
|
76
|
+
rm -f /etc/prosody/conf.avail/example.com.cfg.lua
|
|
77
|
+
rm -f /etc/prosody/conf.avail/jaas.cfg.lua
|
|
78
|
+
rm -f /etc/prosody/conf.avail/jitsi.meet.cfg.lua
|
|
79
|
+
rm -rf /etc/prosody/certs/*
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
#-------------------
|
|
83
|
+
function restart_prosody() {
|
|
84
|
+
if [ -f /var/run/prosody/prosody.pid ]; then
|
|
85
|
+
set +e
|
|
86
|
+
ppid=$(cat /var/run/prosody/prosody.pid)
|
|
87
|
+
echo "Prosody PID =$ppid"
|
|
88
|
+
fi
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
#-------------------
|
|
92
|
+
function write_version() {
|
|
93
|
+
echo Creating versions file
|
|
94
|
+
mkdir -p /etc/jitsi
|
|
95
|
+
dest=/etc/jitsi/versions.js
|
|
96
|
+
echo "module.exports={" >$dest
|
|
97
|
+
dpkg -l | egrep "ii +jitsi" | awk '{print "\"", $2, "\"", ":", "\"", $3, "\"", ","}' | sed -E "s/ +//g" >>$dest
|
|
98
|
+
echo "}" >>$dest
|
|
99
|
+
echo Versions file created
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#-------------------
|
|
103
|
+
function install_jitsi() {
|
|
104
|
+
# Jitsi package
|
|
105
|
+
echo Checking jitsi-meet packages
|
|
106
|
+
installed=$(dpkg -l | egrep "^ii +jitsi-meet ")
|
|
107
|
+
if [ "$installed" = "" ]; then
|
|
108
|
+
key=/etc/apt/trusted.gpg.d/jitsi-key.gpg
|
|
109
|
+
if [ ! -f $key ]; then
|
|
110
|
+
curl -sS https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor | tee j$key >/dev/null 2>&1
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
source=/etc/apt/sources.list.d/jitsi-stable.list
|
|
114
|
+
if [ ! -f $jitsi_source ]; then
|
|
115
|
+
echo "deb https://download.jitsi.org stable/" | tee $source
|
|
116
|
+
apt update
|
|
117
|
+
fi
|
|
118
|
+
DEBIAN_FRONTEND="noninteractive" apt install -y jitsi-meet
|
|
119
|
+
else
|
|
120
|
+
echo "Jitsi package alreay installed. Skipped."
|
|
121
|
+
fi
|
|
122
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
|
|
2
|
+
export log_dir=/var/log/drumee
|
|
3
|
+
export log_file="${log_dir}/info.log"
|
|
4
|
+
|
|
5
|
+
if [ ! -d $log_dir ]; then
|
|
6
|
+
mkdir -p $log_dir
|
|
7
|
+
fi
|
|
8
|
+
|
|
9
|
+
# log
|
|
10
|
+
log () {
|
|
11
|
+
echo $(date "+%Y:%m:%d[%H:%M:%s]") $* | tee $log_file
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
#answer
|
|
15
|
+
answer () {
|
|
16
|
+
stdin="${1:-/dev/stdin}"
|
|
17
|
+
while read line; do
|
|
18
|
+
break
|
|
19
|
+
done <$stdin
|
|
20
|
+
echo $line$()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
# Ensure there won't be confilcting ports
|
|
24
|
+
check_ports () {
|
|
25
|
+
set +
|
|
26
|
+
echo Scanning ports in use. This may take a while
|
|
27
|
+
netstat -alpute | awk 'BEGIN { FS=" " } {print $4}' | egrep -E ".+:.+" >/tmp/netstat.log
|
|
28
|
+
ports="53 10000 3478 5222 5269 5280 5281 5282 5283 5349 8888 9090 domain xmpp-client xmpp-server"
|
|
29
|
+
|
|
30
|
+
for i in $ports; do
|
|
31
|
+
port=$(grep -w $i /tmp/netstat.log)
|
|
32
|
+
if [ ! -z "$port" ]; then
|
|
33
|
+
echo port $i is already in used
|
|
34
|
+
fi
|
|
35
|
+
done
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
#-------------------
|
|
40
|
+
log () {
|
|
41
|
+
echo $(date "+%Y:%m:%d[%H:%M:%s]") $* | tee $log_file
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
##-------------------
|
|
46
|
+
protect_dir () {
|
|
47
|
+
dir=$1
|
|
48
|
+
conidential=$2
|
|
49
|
+
if [ -z $dir ]; then
|
|
50
|
+
if [ "$3" = "mkdir" ]; then
|
|
51
|
+
mkdir -p $dir
|
|
52
|
+
else
|
|
53
|
+
echo "No directory to protect. Skipped"
|
|
54
|
+
fi
|
|
55
|
+
else
|
|
56
|
+
mkdir -p $dir
|
|
57
|
+
chown -R $DRUMEE_SYSTEM_USER:$DRUMEE_SYSTEM_GROUP $dir
|
|
58
|
+
if [ "$confidential" = "yes" ]; then
|
|
59
|
+
chmod -R go-rwx $dir
|
|
60
|
+
fi
|
|
61
|
+
chmod -R u+rwx $dir
|
|
62
|
+
fi
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
check_installation() {
|
|
66
|
+
if [ -f /etc/drumee/drumee.sh ]; then
|
|
67
|
+
source /etc/drumee/drumee.sh
|
|
68
|
+
yp=$(mysql yp -e "select main_domaissn() mydomain");
|
|
69
|
+
if [ "$yp" = "" ]; then
|
|
70
|
+
RET=maiden
|
|
71
|
+
else
|
|
72
|
+
RET=exists
|
|
73
|
+
fi
|
|
74
|
+
else
|
|
75
|
+
RET=maiden
|
|
76
|
+
fi
|
|
77
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
prompt () {
|
|
5
|
+
name=$1
|
|
6
|
+
pattern=$2
|
|
7
|
+
toggle=$3
|
|
8
|
+
db_input high $name || true
|
|
9
|
+
db_get $name
|
|
10
|
+
is_valid=$(echo $RET | grep -E "$pattern")
|
|
11
|
+
if ["$toggle" = "" ]; then
|
|
12
|
+
while [ "$is_valid" = "" ]
|
|
13
|
+
do
|
|
14
|
+
db_input high $name || true
|
|
15
|
+
db_get $name
|
|
16
|
+
is_valid=$(echo $RET | grep -E "$pattern")
|
|
17
|
+
done
|
|
18
|
+
else
|
|
19
|
+
while [ "$is_valid" != "" ]
|
|
20
|
+
do
|
|
21
|
+
db_input high $name || true
|
|
22
|
+
db_get $name
|
|
23
|
+
is_valid=$(echo $RET | grep -E "$pattern")
|
|
24
|
+
done
|
|
25
|
+
fi
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
should_reinstall () {
|
|
29
|
+
db_input high drumee/reinstall || true
|
|
30
|
+
db_go
|
|
31
|
+
db_get drumee/reinstall
|
|
32
|
+
if [ "$RET" = "quit" ]; then
|
|
33
|
+
exit 0
|
|
34
|
+
fi
|
|
35
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
base="$(dirname "$(readlink -f "$0")")"
|
|
3
|
+
mkdir -p /etc/jitsi
|
|
4
|
+
dest=/etc/jitsi/versions.js
|
|
5
|
+
echo "module.exports={" > $dest
|
|
6
|
+
dpkg -l | egrep "ii +jitsi" | awk '{print "\"", $2, "\"", ":", "\"", $3, "\"", ","}' | sed -E "s/ +//g" >> $dest
|
|
7
|
+
echo "}" >> $dest
|