#!/bin/bash toolName=matrix-commander toolCloneUrl='https://github.com/8go/matrix-commander.git' toolDeps="python3-pip python3-venv libolm-dev" toolCredentialDir= toolEncStoreDir= # Get script working directory # (when called from a different directory) WDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)" APTOPT= CONFIG=0 SCRIPT_FILE=$(basename -- $0) SCRIPT_NAME=${SCRIPT_FILE%%.*} CONFIG_FILE_NAME="${SCRIPT_NAME}.cfg" CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example" step_config() { ## or to use sequencer api with global config file: initSeqConfig "$CONFIG_FILE_NAME" "$CONFIG_FILE_TEMPLATE" if [ $? -eq 0 ] ; then CONFIG=1 else # End if no configuration file exists [ $DRY -eq 0 ] && return -1 fi toolCredentialDir="$MACO_BASE_DIR/.config/matrix-commander" toolEncStoreDir="$MACO_BASE_DIR/.local/share/matrix-commander" ## Apt cmdline option to suppress user interaction [ $QUIET -ne 0 ] && APTOPT="-y" ## Return of non zero value will abort the sequence return 0 } step_1_info() { echo "Install $toolName dependencies"; } step_1_alias() { ALIAS="install"; } step_1() { apt install $toolDeps $APTOPT } step_2_info() { echo "Add system user $MACO_USER"; } step_2() { id $MACO_USER >/dev/null 2>&1 [ $? -eq 0 ] && endReturn -o 1 "User $MACO_USER already exists" exe adduser --system $MACO_USER --group --home "${MACO_BASE_DIR}" } step_3_info() { echo "Create venv and install $toolName"; } step_3() { [ -e "$MACO_BASE_DIR" ] && endReturn -o 1 "$toolName already installed" exe python3 -m venv "$MACO_BASE_DIR" endReturn -o $? "Creating virtual environment failed" exe git clone $toolCloneUrl "$MACO_DIR" exe chown -R $MACO_USER: "$MACO_BASE_DIR" exe sudo -u $MACO_USER ${MACO_BASE_DIR}/bin/pip install --upgrade pip } step_4_info() { echo "Install python requirements"; } step_4() { cat < People -> select matrix commander user -> Security -> sessions -> matrix-commander session * verify with emojis ## Credential information location matrix-commander expects the following files to be in place for the user to be able to send/receive messages credentials.json - $MACO_BASE_DIR/.config/matrix-commander/credentials.json store - $MACO_BASE_DIR/.local/share/matrix-commander/store NOTES_EOF } VERSION_SEQREV=15 . /usr/local/bin/sequencer.sh