diff options
Diffstat (limited to 'setup.sh')
-rw-r--r-- | setup.sh | 55 |
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 |