aboutsummarylogtreecommitdiffstats
path: root/setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'setup.sh')
-rw-r--r--setup.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/setup.sh b/setup.sh
new file mode 100644
index 000000000000..2464837841a2
--- /dev/null
+++ b/setup.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+USER=${1:-none}
+REG=${2:-no}
+URL=${3:-http://localhost:8090}
+RUNAS=${RUNAS:-synapse}
+
+if [[ "${USER}" = "none" ]] || [[ "${USER}" = "" ]] || [[ "${USER}" = "--register" ]]; then
+ echo 'USER required'
+ echo ''
+ echo 'usage $0 USER [--register [URL]]'
+ echo '--register - generates registation.yaml file. Must edit config json first!!'
+ echo ' URL tells synapse how to reach the puppet daemon.'
+ echo ' defaults to http://localhost:8090'
+ echo ''
+ echo 'Sets up some folders/symlinks to make up for a lack of configurability'
+ echo 'in matrix-puppet-hangouts. After running this script, edit '
+ echo ' /etc/synapse/matrix-puppet-hangouts/config-USER.json'
+ echo 'Log into hangups and place the token in '
+ echo ' /etc/synapse/matrix-puppet-hangouts/refresh_token-USER.txt'
+ echo 'And place registration in'
+ echo ' /etc/synapse/matrix-puppet-hangouts/registration-USER.yaml'
+ echo 'Note that the registration path also goes in config-USER.json'
+ exit 1
+fi
+
+if [[ ${REG} = "--register" ]]; then
+echo "Registering a puppet on ${URL}"
+sudo -u synapse HOME=/var/lib/matrix-puppet-hangouts/${USER}/ \
+ node /usr/lib/node_modules/matrix-puppet-hangouts/index.js -r -u "${URL}"
+else
+
+echo Running initial setup
+#Real conf files should be in /etc
+#Real databases in /var/lib
+#Goofy fake home folder in /var/lib, but only containing simlinks
+sudo -u ${RUNAS} mkdir -p /var/lib/matrix-puppet-hangouts/${USER}/.cache/hangups/
+sudo touch /etc/synapse/matrix-puppet-hangouts/registration-${USER}.yaml
+sudo chown ${RUNAS}:${RUNAS} /etc/synapse/matrix-puppet-hangouts/registration-${USER}.yaml
+sudo ln -s /etc/synapse/matrix-puppet-hangouts/refresh_token-${USER}.txt /var/lib/matrix-puppet-hangouts/${USER}/.cache/hangups/refresh_token.txt
+sudo ln -s /etc/synapse/matrix-puppet-hangouts/config-${USER}.json /var/lib/matrix-puppet-hangouts/${USER}/config.json
+if [[ ! -e /etc/synapse/matrix-puppet-hangouts/config-${USER}.json ]]; then
+ sudo cp /etc/synapse/matrix-puppet-hangouts/config{.sample,-${USER}}.json
+fi
+sudo touch /etc/synapse/matrix-puppet-hangouts/refresh_token-${USER}.txt
+sudo chown ${RUNAS}:${RUNAS} /etc/synapse/matrix-puppet-hangouts/{config-${USER}.json,refresh_token-${USER}.txt}
+sudo -u ${RUNAS} chmod 600 /etc/synapse/matrix-puppet-hangouts/refresh_token-${USER}.txt
+
+sudo -u ${RUNAS} touch /var/lib/matrix-puppet-hangouts/{user,room}-store-${USER}.db
+sudo -u ${RUNAS} chmod 600 /var/lib/matrix-puppet-hangouts/{user,room}-store-${USER}.db
+sudo ln -s /var/lib/matrix-puppet-hangouts/room-store-${USER}.db /var/lib/matrix-puppet-hangouts/${USER}/room-store.db
+sudo ln -s /var/lib/matrix-puppet-hangouts/user-store-${USER}.db /var/lib/matrix-puppet-hangouts/${USER}/user-store.db
+sudo ln -s /usr/lib/node_modules/matrix-puppet-hangouts/hangups_client.py /var/lib/matrix-puppet-hangouts/${USER}/
+echo 'Now edit the config json file, then run setup with --register'
+fi