summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO30
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD38
-rw-r--r--rocketchat-server.conf7
-rw-r--r--rocketchat-server.install14
-rwxr-xr-xrocketchat-server.sh33
-rw-r--r--rocketchat-user.conf1
-rw-r--r--rocketchat.service13
8 files changed, 141 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..2d09c9b08a9c
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,30 @@
+# Generated by mksrcinfo v8
+# Sat Aug 13 23:58:36 UTC 2016
+pkgbase = rocketchat-server
+ pkgdesc = An open source web chat platform
+ pkgver = 0.36.0
+ pkgrel = 1
+ url = https://rocket.chat
+ install = rocketchat-server.install
+ arch = any
+ license = MIT
+ depends = nvm
+ depends = mongodb
+ depends = graphicsmagick
+ depends = curl
+ backup = etc/rocketchat/rocketchat-server.conf
+ source = https://rocket.chat/releases/0.36.0/download
+ source = rocketchat-server.sh
+ source = rocketchat-server.install
+ source = rocketchat-server.conf
+ source = rocketchat-user.conf
+ source = rocketchat.service
+ md5sums = b030510b9cd5486d1fab40ee3a047ee1
+ md5sums = f2ba9147f0b11f33c7d55ec6124b7837
+ md5sums = 94a846b48cb2e2624a54f9a047399980
+ md5sums = 45a09782576f81377aa1305475bc79db
+ md5sums = c1f887698196e08963036c9de4106a03
+ md5sums = 21afc6655eb6cb423c10fe25ebdef07e
+
+pkgname = rocketchat-server
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..0b8fa34bfd20
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+src/
+pkg/
+download
+*.tar.gz
+*.xz
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..2091ba73280a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Max Falk <gmdfalk at gmail dot com>
+
+pkgname=rocketchat-server
+pkgver=0.36.0
+pkgrel=1
+pkgdesc="An open source web chat platform"
+arch=("any")
+url="https://rocket.chat"
+license=("MIT")
+depends=("nvm" "mongodb" "graphicsmagick" "curl")
+makedepends=()
+optdepends=()
+backup=("etc/rocketchat/${pkgname}.conf")
+
+install="${pkgname}.install"
+source=("https://rocket.chat/releases/${pkgver}/download"
+ "rocketchat-server.sh"
+ "rocketchat-server.install"
+ "rocketchat-server.conf"
+ "rocketchat-user.conf"
+ "rocketchat.service")
+md5sums=('b030510b9cd5486d1fab40ee3a047ee1'
+ 'f2ba9147f0b11f33c7d55ec6124b7837'
+ '94a846b48cb2e2624a54f9a047399980'
+ '45a09782576f81377aa1305475bc79db'
+ 'c1f887698196e08963036c9de4106a03'
+ '21afc6655eb6cb423c10fe25ebdef07e')
+
+package() {
+ install -dm755 "${pkgdir}/usr/share/${pkgname}"
+ cp -dr --no-preserve=ownership "${srcdir}/bundle" "${pkgdir}/usr/share/"
+ mv "${pkgdir}/usr/share/bundle" "${pkgdir}/usr/share/${pkgname}"
+
+ install -Dm755 ${pkgname}.sh "${pkgdir}/usr/bin/${pkgname}.sh"
+ install -Dm644 ${pkgname}.conf "${pkgdir}/etc/rocketchat/${pkgname}.conf"
+ install -Dm644 rocketchat.service "${pkgdir}/usr/lib/systemd/system/rocketchat.service"
+ install -Dm644 rocketchat-user.conf "${pkgdir}/usr/lib/sysusers.d/rocketchat.conf"
+}
diff --git a/rocketchat-server.conf b/rocketchat-server.conf
new file mode 100644
index 000000000000..276f57d9756b
--- /dev/null
+++ b/rocketchat-server.conf
@@ -0,0 +1,7 @@
+# Example ROOT_URL: https://chat.example.com/
+ROOT_URL=
+NODE_ENV=production
+MONGO_URL=mongodb://localhost:27017/rocketchat
+PORT=3000
+MAIL_URL=smtp://localhost:25
+TMPDIR=/tmp
diff --git a/rocketchat-server.install b/rocketchat-server.install
new file mode 100644
index 000000000000..8ad5d54f0660
--- /dev/null
+++ b/rocketchat-server.install
@@ -0,0 +1,14 @@
+#!/usr/bin/env sh
+# vim:set ts=4 sw=4 et:
+
+username="rocketchat"
+
+post_install() {
+ systemd-sysusers "${username}.conf"
+ chown -R "${username}:${username}" /etc/${username} /usr/share/${username}-server
+}
+
+
+post_upgrade(){
+ getent passwd "${username}" >/dev/null 2>&1 || systemd-sysusers "${username}.conf"
+}
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"
diff --git a/rocketchat-user.conf b/rocketchat-user.conf
new file mode 100644
index 000000000000..59f83b75aed6
--- /dev/null
+++ b/rocketchat-user.conf
@@ -0,0 +1 @@
+u rocketchat - "Rocket.Chat user"
diff --git a/rocketchat.service b/rocketchat.service
new file mode 100644
index 000000000000..42132dae5a76
--- /dev/null
+++ b/rocketchat.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Rocket.Chat server
+
+[Service]
+ExecStart=/usr/bin/rocketchat-server.sh
+StandardOutput=syslog
+StandardError=syslog
+SyslogIdentifier=rocketchat
+User=rocketchat
+Group=rocketchat
+
+[Install]
+WantedBy=multi-user.target