123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #! /bin/bash
-
-
- panic(){ echo -e "$@"; echo "Exiting."; exit 2; }
- spacer(){ echo -e "\n - - - - - - - - - "; }
- info(){ echo -e "\e[0;32m$@\e[0m"; }
-
- [[ "root" == $(whoami) ]] || panic "Must run as root."
-
- #
- cd /opt/maubot
- . bin/activate
-
- packageList=()
- packageList+=("libolm-dev")
- packageList+=("python3-dev")
- packageList+=("build-essential")
-
- pip3_packages=()
- pip3_packages+=("asyncpg")
- pip3_packages+=("python-olm")
- pip3_packages+=("pycryptodome")
- pip3_packages+=("unpaddedbase64")
- pip3_packages+=("urllib3")
- pip3_packages+=("maubot[all]==0.2.2a1")
- info "Updating packages informations"
- apt-get update >/dev/null
- info "Installing packages ${packageList[@]}"
- apt-get install --no-install-recommends -y ${packageList[@]} >/dev/null
-
- info "Installing python packages ${pip3_packages[@]}"
-
- pip3 install ${pip3_packages[@]} >/dev/null
-
- systemctl stop maubot.service
-
- if egrep -q "^crypto_database" config.yaml; then
- if egrep -q "^crypto_database: default" config.yaml ; then
- sed -i -E 's=^(crypto_database:.*)=crypto_database: sqlite:///crypto.db=' config.yaml
- fi
- else
- sed -i -E 's=^(database:.*)=\1\ncrypto_database: sqlite:///crypto.db=' config.yaml
- fi
-
- rm /opt/maubot/maubot.db
-
- systemctl start maubot.service
- alembic upgrade head
- systemctl status maubot.service
-
-
- cat << EOF
- Now we have to authenticate on our maubot account that we created during the installation of maubot and that is accessible from its web-panel, but we will have to do it from the terminal with the mbc tool
-
- Connect to the panel using the login and password provided earlier for install.sh
- EOF
-
- bin/mbc login
-
-
- cat << EOF
- Once the authentication is done, we will use the same tool again to connect to our user account (bot client) that we created on the Matrix homeserver, to generate a unique token code and a device-id in order to allow the bot to have full control over the client (It is important to do it from the terminal, not from a classic matrix client)
-
- It is important that the user used has www-data rights, otherwise the authentication will not work.
-
- Generate the token and the device ID by connecting with the matrix user.
- EOF
-
- bin/mbc auth --update-client
-
-
- EOF
|