2018-12-25 17:07:03 +00:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
function printHelp {
|
|
|
|
cat <<EOF
|
|
|
|
|
|
|
|
Optional parameters:
|
|
|
|
--trustedUrlBase XXX - sets the trusted url of the instance (default: http://localhost:3000)
|
|
|
|
--sandboxUrlBase XXX - sets the sandbox url of the instance (default: http://localhost:3003)
|
|
|
|
--publicUrlBase XXX - sets the public url of the instance (default: http://localhost:3004)
|
|
|
|
--withProxy - use if Mailtrain is behind an http reverse proxy
|
2019-04-03 11:25:09 +00:00
|
|
|
--mongoHost XXX - sets mongo host (default: mongo)
|
|
|
|
--redisHost XXX - sets redis host (default: redis)
|
|
|
|
--mySqlHost XXX - sets mysql host (default: mysql)
|
2018-12-25 17:07:03 +00:00
|
|
|
EOF
|
|
|
|
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
urlBaseTrusted=http://localhost:3000
|
|
|
|
urlBaseSandbox=http://localhost:3003
|
|
|
|
urlBasePublic=http://localhost:3004
|
|
|
|
wwwProxy=false
|
2019-04-03 11:25:09 +00:00
|
|
|
mongoHost=mongo
|
|
|
|
redisHost=redis
|
|
|
|
mySqlHost=mysql
|
2018-12-25 17:07:03 +00:00
|
|
|
|
|
|
|
while [ $# -gt 0 ]; do
|
|
|
|
case "$1" in
|
|
|
|
--help)
|
|
|
|
printHelp
|
|
|
|
;;
|
|
|
|
--trustedUrlBase)
|
|
|
|
urlBaseTrusted="$2"
|
|
|
|
shift 2
|
|
|
|
;;
|
|
|
|
--sandboxUrlBase)
|
|
|
|
urlBaseSandbox="$2"
|
|
|
|
shift 2
|
|
|
|
;;
|
|
|
|
--publicUrlBase)
|
|
|
|
urlBasePublic="$2"
|
|
|
|
shift 2
|
|
|
|
;;
|
|
|
|
--withProxy)
|
|
|
|
wwwProxy=true
|
|
|
|
shift 1
|
|
|
|
;;
|
2019-04-03 11:25:09 +00:00
|
|
|
--mongoHost)
|
|
|
|
mongoHost="$2"
|
|
|
|
shift 2
|
|
|
|
;;
|
|
|
|
--redisHost)
|
|
|
|
redisHost="$2"
|
|
|
|
shift 2
|
|
|
|
;;
|
|
|
|
--mySqlHost)
|
|
|
|
mySqlHost="$2"
|
|
|
|
shift 2
|
|
|
|
;;
|
2018-12-25 17:07:03 +00:00
|
|
|
*)
|
|
|
|
echo "Error: unrecognized option $1."
|
|
|
|
printHelp
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
cat > server/config/production.yaml <<EOT
|
|
|
|
www:
|
|
|
|
host: 0.0.0.0
|
|
|
|
proxy: $wwwProxy
|
|
|
|
secret: "`pwgen -1`"
|
|
|
|
trustedUrlBase: $urlBaseTrusted
|
|
|
|
sandboxUrlBase: $urlBaseSandbox
|
|
|
|
publicUrlBase: $urlBasePublic
|
|
|
|
|
|
|
|
mysql:
|
2019-04-03 11:25:09 +00:00
|
|
|
host: $mySqlHost
|
2018-12-25 17:07:03 +00:00
|
|
|
|
|
|
|
redis:
|
|
|
|
enabled: true
|
2019-04-03 11:25:09 +00:00
|
|
|
host: $redisHost
|
2018-12-25 17:07:03 +00:00
|
|
|
|
|
|
|
log:
|
|
|
|
level: info
|
|
|
|
|
|
|
|
builtinZoneMTA:
|
|
|
|
log:
|
|
|
|
level: warn
|
2019-04-03 11:25:09 +00:00
|
|
|
mongo: mongodb://${mongoHost}:27017/zone-mta
|
|
|
|
redis: redis://${redisHost}:6379/2
|
2018-12-25 17:07:03 +00:00
|
|
|
|
|
|
|
queue:
|
|
|
|
processes: 5
|
|
|
|
EOT
|
|
|
|
|
|
|
|
cat >> server/services/workers/reports/config/production.yaml <<EOT
|
|
|
|
log:
|
|
|
|
level: warn
|
|
|
|
EOT
|
|
|
|
|
|
|
|
# Wait for the other services to start
|
2019-04-03 11:25:09 +00:00
|
|
|
while ! nc -z $mySqlHost 3306; do sleep 1; done
|
|
|
|
while ! nc -z $redisHost 6379; do sleep 1; done
|
|
|
|
while ! nc -z $mongoHost 27017; do sleep 1; done
|
2018-12-25 17:07:03 +00:00
|
|
|
|
|
|
|
cd server
|
|
|
|
NODE_ENV=production node index.js
|