commit be9e495af93691fa48857cd900279a7fba304060 Author: hotstovejer Date: Wed Feb 26 10:41:14 2025 -0600 Upload files to "installer" diff --git a/installer/workspace-install.sh b/installer/workspace-install.sh new file mode 100644 index 0000000..f57f2f5 --- /dev/null +++ b/installer/workspace-install.sh @@ -0,0 +1,147 @@ +#!/bin/bash + +set -e + +# (c) Copyright Ascensio System Limited 2010-2021 +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and limitations under the License. +# You can contact Ascensio System SIA by email at sales@onlyoffice.com + +PARAMETERS=""; +DOCKER=""; +HELP="false"; + +while [ "$1" != "" ]; do + case $1 in + + -ls | --localscripts ) + if [ "$2" == "true" ] || [ "$2" == false ]; then + PARAMETERS="$PARAMETERS ${1}"; + LOCAL_SCRIPTS=$2 + shift + fi + ;; + + "-?" | -h | --help ) + HELP="true" + DOCKER="true" + PARAMETERS="$PARAMETERS -ht workspace-install.sh"; + ;; + + esac + PARAMETERS="$PARAMETERS ${1}"; + shift +done + +PARAMETERS="$PARAMETERS -it WORKSPACE"; + +root_checking () { + if [ ! $( id -u ) -eq 0 ]; then + echo "To perform this action you must be logged in with root rights" + exit 1; + fi +} + +command_exists () { + type "$1" &> /dev/null; +} + +install_curl () { + if command_exists apt-get; then + apt-get -y update + apt-get -y -q install curl + elif command_exists yum; then + yum -y install curl + fi + + if ! command_exists curl; then + echo "command curl not found" + exit 1; + fi +} + +read_installation_method () { + echo "Select 'Y' to install ONLYOFFICE using Docker (recommended). Select 'N' to install it using RPM/DEB packages."; + echo "Please note, that in case you select RPM/DEB installation, you will need to manually install Mail Server and connect it to your ONLYOFFICE installation."; + echo "See instructions in our Help Center: http://helpcenter.onlyoffice.com/server/docker/mail/connect-mail-server-to-community-server-via-portal-settings.aspx"; + read -p "Install with Docker [Y/N/C]? " choice + case "$choice" in + y|Y ) + DOCKER="true"; + ;; + + n|N ) + DOCKER="false"; + ;; + + c|C ) + exit 0; + ;; + + * ) + echo "Please, enter Y, N or C to cancel"; + ;; + esac + + if [ "$DOCKER" == "" ]; then + read_installation_method; + fi +} + +root_checking + +if ! command_exists curl ; then + install_curl; +fi + +if [ "$HELP" == "false" ]; then + read_installation_method; +fi + +if [ "$DOCKER" == "true" ]; then + if [ "${LOCAL_SCRIPTS}" == "true" ]; then + bash install.sh ${PARAMETERS} + else + curl -s -O http://download.onlyoffice.com/install/install.sh + bash install.sh ${PARAMETERS} + rm install.sh + fi +else + if [ -f /etc/redhat-release ] ; then + DIST=$(cat /etc/redhat-release |sed s/\ release.*//); + REV=$(cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//); + + REV_PARTS=(${REV//\./ }); + REV=${REV_PARTS[0]}; + + if [[ "${DIST}" == CentOS* ]] && [ ${REV} -lt 7 ]; then + echo "CentOS 7 or later is required"; + exit 1; + fi + + if [ "${LOCAL_SCRIPTS}" == "true" ]; then + bash install-RedHat.sh ${PARAMETERS} + else + curl -s -O http://download.onlyoffice.com/install/install-RedHat.sh + bash install-RedHat.sh ${PARAMETERS} + rm install-RedHat.sh + fi + elif [ -f /etc/debian_version ] ; then + if [ "${LOCAL_SCRIPTS}" == "true" ]; then + bash install-Debian.sh ${PARAMETERS} + else + curl -s -O http://download.onlyoffice.com/install/install-Debian.sh + bash install-Debian.sh ${PARAMETERS} + rm install-Debian.sh + fi + else + echo "Not supported OS"; + exit 1; + fi +fi