diff --git a/seqs/matrix-commander.cfg.example b/seqs/matrix-commander.cfg.example new file mode 100644 index 0000000..2d6f152 --- /dev/null +++ b/seqs/matrix-commander.cfg.example @@ -0,0 +1,5 @@ +#!/bin/bash + +MACO_USER="matrixcommander" +MACO_BASE_DIR="/opt/matrix-commander" +MACO_DIR="$MACO_BASE_DIR/matrix-commander" diff --git a/seqs/matrix-commander.sh b/seqs/matrix-commander.sh new file mode 100755 index 0000000..6d850a5 --- /dev/null +++ b/seqs/matrix-commander.sh @@ -0,0 +1,100 @@ +#!/bin/bash + +toolName=matrix-commander +toolCloneUrl='https://github.com/8go/matrix-commander.git' +toolDeps="python3-pip python3-venv libolm-dev" +toolVenvDir= + +# 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 + + toolVenvDir="$MACO_BASE_DIR" + + ## 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 "Add system user"; } +step_1_alias() { ALIAS="install"; } +step_1() { + exe adduser --system $MACO_USER --group --home "${MACO_BASE_DIR}" +} + +step_2_info() { echo "Create venv and install $toolName"; } +step_2() { + local macommanderDir="${MACO_DIR}" + + exe python3 -m venv "$toolVenvDir" + endReturn -o $? "Creating virtual environment failed" + + exe git clone $toolCloneUrl "$MACO_DIR" + exe chown -R $MACO_USER: "$toolVenvDir" + exe sudo -u $MACO_USER ${toolVenvDir}/bin/pip install --upgrade pip +} + +step_3_info() { echo "Install python requirements"; } +step_3() { + cat <