diff --git a/src/addons.js b/src/addons.js index cd3b99a67..a97fc0531 100644 --- a/src/addons.js +++ b/src/addons.js @@ -136,7 +136,7 @@ function initialize(callback) { certificates.getAdminCertificatePath(function (error, certFilePath, keyFilePath) { if (error) return callback(error); - shell.sudo('seutp_infra', [ SETUP_INFRA_CMD, config.fqdn(), config.adminFqdn(), certFilePath, keyFilePath, settings.isIncomingMailEnabled() ], callback); + shell.sudo('seutp_infra', [ SETUP_INFRA_CMD, paths.DATA_DIR, config.fqdn(), config.adminFqdn(), certFilePath, keyFilePath, settings.isIncomingMailEnabled() ], callback); }); } diff --git a/src/scripts/setup_infra.sh b/src/scripts/setup_infra.sh index 67ab2b2b3..e9e817203 100755 --- a/src/scripts/setup_infra.sh +++ b/src/scripts/setup_infra.sh @@ -12,21 +12,20 @@ if [[ $# == 1 && "$1" == "--check" ]]; then exit 0 fi -readonly DATA_DIR="/home/yellowtent/data" - script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "${script_dir}/../INFRA_VERSION" # this injects INFRA_VERSION -readonly fqdn="$1" -readonly mail_fqdn="$2" -readonly mail_tls_cert="$3" -readonly mail_tls_key="$4" -readonly enable_incoming_mail="$5" +readonly data_dir="$1" +readonly fqdn="$2" +readonly mail_fqdn="$3" +readonly mail_tls_cert="$4" +readonly mail_tls_key="$5" +readonly enable_incoming_mail="$6" # removing containers ensures containers are launched with latest config updates # restore code in appatask does not delete old containers infra_version="none" -[[ -f "${DATA_DIR}/INFRA_VERSION" ]] && infra_version=$(cat "${DATA_DIR}/INFRA_VERSION") +[[ -f "${data_dir}/INFRA_VERSION" ]] && infra_version=$(cat "${data_dir}/INFRA_VERSION") if [[ "${infra_version}" == "${INFRA_VERSION}" ]]; then echo "Infrastructure is upto date" exit 0 @@ -54,7 +53,7 @@ graphite_container_id=$(docker run --restart=always -d --name="graphite" \ -p 127.0.0.1:2003:2003 \ -p 127.0.0.1:2004:2004 \ -p 127.0.0.1:8000:8000 \ - -v "${DATA_DIR}/graphite:/app/data" \ + -v "${data_dir}/graphite:/app/data" \ --read-only -v /tmp -v /run \ "${GRAPHITE_IMAGE}") echo "Graphite container id: ${graphite_container_id}" @@ -70,7 +69,7 @@ if [[ "${enable_incoming_mail}" == "true" ]]; then -h "${fqdn}" \ -e "MAIL_DOMAIN=${fqdn}" \ -e "MAIL_SERVER_NAME=${mail_fqdn}" \ - -v "${DATA_DIR}/box/recvmail:/app/data" \ + -v "${data_dir}/box/recvmail:/app/data" \ -v "${mail_tls_key}:/etc/tls_key.pem:ro" \ -v "${mail_tls_cert}:/etc/tls_cert.pem:ro" \ -p 993:9993 \ @@ -92,7 +91,7 @@ mail_container_id=$(docker run --restart=always -d --name="mail" \ -h "${fqdn}" \ -e "MAIL_DOMAIN=${fqdn}" \ -e "MAIL_SERVER_NAME=${mail_fqdn}" \ - -v "${DATA_DIR}/box/mail:/app/data" \ + -v "${data_dir}/box/mail:/app/data" \ -v "${mail_tls_key}:/etc/tls_key.pem:ro" \ -v "${mail_tls_cert}:/etc/tls_cert.pem:ro" \ -p 587:2500 \ @@ -106,7 +105,7 @@ fi # mysql mysql_addon_root_password=$(pwgen -1 -s) docker0_ip=$(/sbin/ifconfig docker0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}') -cat > "${DATA_DIR}/addons/mysql_vars.sh" < "${data_dir}/addons/mysql_vars.sh" < "${DATA_DIR}/addons/postgresql_vars.sh" < "${data_dir}/addons/postgresql_vars.sh" < "${DATA_DIR}/addons/mongodb_vars.sh" < "${data_dir}/addons/mongodb_vars.sh" < "${DATA_DIR}/INFRA_VERSION" +echo -n "${INFRA_VERSION}" > "${data_dir}/INFRA_VERSION"