summarylogtreecommitdiffstats
path: root/rocketchat-server.sh
diff options
context:
space:
mode:
Diffstat (limited to 'rocketchat-server.sh')
-rwxr-xr-xrocketchat-server.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/rocketchat-server.sh b/rocketchat-server.sh
new file mode 100755
index 000000000000..a0225276da7a
--- /dev/null
+++ b/rocketchat-server.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+
+BASE_DIR=/usr/share/rocketchat-server
+CONFIG_FILE=/etc/rocketchat/rocketchat-server.conf
+NVM_SCRIPT=/usr/share/nvm/init-nvm.sh
+NODE_VERSION=0.10.46
+
+errorout() { echo "$@" && exit 1; }
+
+# Read rocketchat configuration.
+[[ ! -r "${CONFIG_FILE}" ]] && errorout "Could not read ${CONFIG_FILE}!"
+echo "Reading configuration from ${CONFIG_FILE}"
+# Automatically export variables from CONFIG_FILE.
+set -a
+. "${CONFIG_FILE}"
+set +a
+[[ -z "${ROOT_URL}" ]] && errorout "No ROOT_URL found in ${CONFIG_FILE}!"
+
+# Prepare node environment.
+echo "Sourcing nvm script at ${NVM_SCRIPT}"
+source "${NVM_SCRIPT}"
+echo "Installing nodejs version ${NODE_VERSION} via nvm."
+nvm install "${NODE_VERSION}"
+nvm use "${NODE_VERSION}"
+
+# Install dependencies.
+cd "${BASE_DIR}/programs/server"
+echo "Installing rocketchat npm dependencies."
+npm install
+
+# Run the rocketchat server.
+echo "Starting rocketchat..."
+node "${BASE_DIR}/main.js"