mirror of
https://github.com/jambonz/jambonz-infrastructure.git
synced 2026-10-30 19:24:11 +00:00
65 lines
2.1 KiB
Cheetah
65 lines
2.1 KiB
Cheetah
#!/bin/bash
|
|
|
|
echo "running jambonz user data script"
|
|
|
|
echo "writing /home/admin/apps/ecosystem.config.js.."
|
|
|
|
cat << EOF > /home/admin/apps/ecosystem.config.js
|
|
module.exports = {
|
|
apps : [
|
|
{
|
|
name: 'jambonz-feature-server',
|
|
cwd: '/home/admin/apps/jambonz-feature-server',
|
|
script: 'app.js',
|
|
instance_var: 'INSTANCE_ID',
|
|
out_file: '/home/admin/.pm2/logs/jambonz-feature-server.log',
|
|
err_file: '/home/admin/.pm2/logs/jambonz-feature-server.log',
|
|
exec_mode: 'fork',
|
|
instances: 1,
|
|
autorestart: true,
|
|
watch: false,
|
|
max_memory_restart: '1G',
|
|
env: {
|
|
NODE_ENV: 'production',
|
|
AWS_REGION: '${AWS_REGION}',
|
|
ENABLE_METRICS: 1,
|
|
STATS_HOST: '127.0.0.1',
|
|
STATS_PORT: 8125,
|
|
STATS_PROTOCOL: 'tcp',
|
|
STATS_TELEGRAF: 1,
|
|
AWS_SNS_TOPIC_ARM: '${AWS_SNS_TOPIC_ARN}',
|
|
JAMBONES_NETWORK_CIDR: '${VPC_CIDR}',
|
|
JAMBONES_MYSQL_HOST: '${JAMBONES_MYSQL_HOST}',
|
|
JAMBONES_MYSQL_USER: '${JAMBONES_MYSQL_USER}',
|
|
JAMBONES_MYSQL_PASSWORD: '${JAMBONES_MYSQL_PASSWORD}',
|
|
JAMBONES_MYSQL_DATABASE: 'jambones',
|
|
JAMBONES_MYSQL_CONNECTION_LIMIT: 10,
|
|
JAMBONES_REDIS_HOST: '${JAMBONES_REDIS_HOST}',
|
|
JAMBONES_REDIS_PORT: 6379,
|
|
JAMBONES_TIME_SERIES_HOST: '${MONITORING_SERVER_IP}',
|
|
JAMBONES_LOGLEVEL: 'info',
|
|
HTTP_PORT: 3000,
|
|
DRACHTIO_HOST: '127.0.0.1',
|
|
DRACHTIO_PORT: 9022,
|
|
DRACHTIO_SECRET: 'cymru',
|
|
JAMBONES_SBCS: '${JAMBONES_SBC_SIP_IPS}',
|
|
JAMBONES_FEATURE_SERVERS: '127.0.0.1:9022:cymru',
|
|
JAMBONES_FREESWITCH: '127.0.0.1:8021:JambonzR0ck$'
|
|
}
|
|
}]
|
|
};
|
|
EOF
|
|
|
|
echo "finished writing config file"
|
|
|
|
sudo -u admin bash -c "pm2 start /home/admin/apps/ecosystem.config.js"
|
|
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u admin --hp /home/admin
|
|
sudo -u admin bash -c "pm2 save"
|
|
sudo systemctl enable pm2-admin.service
|
|
|
|
# configure telegraph to send to the monitoring server
|
|
sudo sed -i -e "s/influxdb:8086/${MONITORING_SERVER_IP}:8086/g" /etc/telegraf/telegraf.conf
|
|
sudo systemctl restart telegraf
|
|
|
|
echo "user data script completed"
|