#!/bin/bash set -e package_sysname="onlyoffice"; DS_COMMON_NAME="onlyoffice"; product_name="DocSpace" product=$(tr '[:upper:]' '[:lower:]' <<< ${product_name}) INSTALLATION_TYPE="ENTERPRISE" MAKESWAP="true" RES_APP_INSTALLED="is already installed"; RES_APP_CHECK_PORTS="uses ports" RES_CHECK_PORTS="please, make sure that the ports are free."; RES_INSTALL_SUCCESS="Thank you for installing ONLYOFFICE ${product_name}."; RES_QUESTIONS="In case you have any questions contact us via http://support.onlyoffice.com or visit our forum at http://forum.onlyoffice.com" INSTALL_FLUENT_BIT="true" while [ "$1" != "" ]; do case $1 in -u | --update ) if [ "$2" != "" ]; then UPDATE=$2 shift fi ;; -je | --jwtenabled ) if [ "$2" != "" ]; then DS_JWT_ENABLED=$2 shift fi ;; -jh | --jwtheader ) if [ "$2" != "" ]; then DS_JWT_HEADER=$2 shift fi ;; -js | --jwtsecret ) if [ "$2" != "" ]; then DS_JWT_SECRET=$2 shift fi ;; -gb | --gitbranch ) if [ "$2" != "" ]; then PARAMETERS="$PARAMETERS ${1}"; GIT_BRANCH=$2 shift fi ;; -ifb | --installfluentbit ) if [ "$2" != "" ]; then INSTALL_FLUENT_BIT=$2 shift fi ;; -du | --dashboadrsusername ) if [ "$2" != "" ]; then DASHBOARDS_USERNAME=$2 shift fi ;; -dp | --dashboadrspassword ) if [ "$2" != "" ]; then DASHBOARDS_PASSWORD=$2 shift fi ;; -ls | --localscripts ) if [ "$2" != "" ]; then LOCAL_SCRIPTS=$2 shift fi ;; -skiphc | --skiphardwarecheck ) if [ "$2" != "" ]; then SKIP_HARDWARE_CHECK=$2 shift fi ;; -it | --installation_type ) if [ "$2" != "" ]; then INSTALLATION_TYPE=$(echo "$2" | awk '{print toupper($0)}'); shift fi ;; -ms | --makeswap ) if [ "$2" != "" ]; then MAKESWAP=$2 shift fi ;; -? | -h | --help ) echo " Usage $0 [PARAMETER] [[PARAMETER], ...]" echo " Parameters:" echo " -it, --installation_type installation type (community|enterprise)" echo " -u, --update use to update existing components (true|false)" echo " -je, --jwtenabled specifies the enabling the JWT validation (true|false)" echo " -jh, --jwtheader defines the http header that will be used to send the JWT" echo " -js, --jwtsecret defines the secret key to validate the JWT in the request" echo " -ifb, --installfluentbit install or update fluent-bit (true|false)" echo " -du, --dashboadrsusername login for authorization in /dashboards/" echo " -dp, --dashboadrspassword password for authorization in /dashboards/" echo " -ls, --local_scripts use 'true' to run local scripts (true|false)" echo " -skiphc, --skiphardwarecheck use to skip hardware check (true|false)" echo " -ms, --makeswap make swap file (true|false)" echo " -?, -h, --help this help" echo exit 0 ;; esac shift done if [ -z "${UPDATE}" ]; then UPDATE="false"; fi if [ -z "${LOCAL_SCRIPTS}" ]; then LOCAL_SCRIPTS="false"; fi if [ -z "${SKIP_HARDWARE_CHECK}" ]; then SKIP_HARDWARE_CHECK="false"; fi apt-get update -y --allow-releaseinfo-change; if [ $(dpkg-query -W -f='${Status}' curl 2>/dev/null | grep -c "ok installed") -eq 0 ]; then apt-get install -yq curl; fi if [ -z $GIT_BRANCH ]; then DOWNLOAD_URL_PREFIX="https://download.onlyoffice.com/${product}/install-Debian" else DOWNLOAD_URL_PREFIX="https://raw.githubusercontent.com/ONLYOFFICE/${product}-buildtools/${GIT_BRANCH}/install/OneClickInstall/install-Debian" fi if [ "${LOCAL_SCRIPTS}" == "true" ]; then source install-Debian/bootstrap.sh else source <(curl ${DOWNLOAD_URL_PREFIX}/bootstrap.sh) fi # add onlyoffice repo mkdir -p -m 700 $HOME/.gnupg echo "deb [signed-by=/usr/share/keyrings/onlyoffice.gpg] http://download.onlyoffice.com/repo/debian squeeze main" | tee /etc/apt/sources.list.d/onlyoffice.list curl -fsSL https://download.onlyoffice.com/GPG-KEY-ONLYOFFICE | gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/onlyoffice.gpg --import chmod 644 /usr/share/keyrings/onlyoffice.gpg declare -x LANG="en_US.UTF-8" declare -x LANGUAGE="en_US:en" declare -x LC_ALL="en_US.UTF-8" if [ "${LOCAL_SCRIPTS}" == "true" ]; then source install-Debian/tools.sh source install-Debian/check-ports.sh source install-Debian/install-preq.sh source install-Debian/install-app.sh else source <(curl ${DOWNLOAD_URL_PREFIX}/tools.sh) source <(curl ${DOWNLOAD_URL_PREFIX}/check-ports.sh) source <(curl ${DOWNLOAD_URL_PREFIX}/install-preq.sh) source <(curl ${DOWNLOAD_URL_PREFIX}/install-app.sh) fi