Files
shell_sequencer/seqs/onlyoffice.sh

108 lines
2.9 KiB
Bash
Executable File

#!/bin/bash
# Source
# Docker - Install using the repository
# https://docs.docker.com/install/linux/docker-ce/ubuntu/
#
# Onlyoffice - Docker
# https://helpcenter.onlyoffice.com/server/docker/document/docker-installation.aspx
toolName="onlyoffice"
dockerDeps="apt-transport-https ca-certificates curl gnupg-agent software-properties-common"
dockerGpgKeyUrl="https://download.docker.com/linux/ubuntu/gpg"
dockerRepoUrl="https://download.docker.com/linux/ubuntu"
dockerPackages="docker-ce docker-ce-cli containerd.io"
dockerDns1="192.168.23.20"
dockerDns2="46.182.19.48"
dockerDnsEntry="DOCKER_OPTS=\"--dns $dockerDns1 --dns $dockerDns2\""
dockerDefaultConf="/etc/default/docker"
onlyOfficePort="8026"
step_1_info() { echo "Install docker dependencies"; }
step_1_alias() { ALIAS="install"; }
step_1() {
local aptOption=
exe apt update
if [ $QUIET -ne 0 ] ; then
aptOption="-y"
else
aptOption=""
fi
exe apt install $dockerDeps $aptOption
endReturn -o $? "Docker dependencies installation failed"
}
step_2_info() { echo "Install docker repository"; }
step_2() {
# Add official docker GPG key
exep "curl -fsSL ${dockerGpgKeyUrl} | sudo apt-key add -"
# Add stable repository
exe add-apt-repository "deb [arch=amd64] ${dockerRepoUrl} $(lsb_release -cs) stable"
endReturn -o $? "Failed to add Docker repository"
exe apt update
endReturn -o $? "Docker repository not available"
}
step_3_info() { echo "Install latest docker version"; }
step_3() {
# Install the latest version
if [ $QUIET -ne 0 ] ; then
aptOption="-y"
else
aptOption=""
fi
exe apt install $dockerPackages $aptOption
echo " [I] You may test the installation by running:"
echo " sudo docker run hello-world"
}
step_4_info() { echo "Replace Docker DNS entry"; }
step_4() {
exe sed -i "s/\(^#DOCKER_OPTS=.*\)$/#\1\n${dockerDnsEntry}/" "$dockerDefaultConf"
exep "grep \"${dockerDns1}\" \"$dockerDefaultConf\" >>/dev/null"
if [ $? -ne 0 ] ; then
echoerr " [W] Docker dns entry could not be changed"
fi
}
step_5_info() { echo "Install onlyoffice docker container"; }
step_5_alias() { ALIAS="onlyoffice"; }
step_5() {
exe docker run -i -t -d -p ${onlyOfficePort}:80 --restart=always onlyoffice/documentserver
}
step_10_info() { echo "List running Docker container"; }
step_10_alias() { ALIAS="ls"; }
step_10() {
exe docker container ls
echo
echo " [I] To stop a container run:"
echo " docker stop [CONTAINER ID]"
echo " e.g.: docker stop 70f1c5c81be2"
}
step_100_info() { echo "Uninstall docker"; }
step_100_alias() { ALIAS="uninstall"; }
step_100() {
exe apt-get purge docker-ce
}
step_102_info() { echo "Purge images, containers, volumes, or customized configuration files"; }
step_102_alias() { ALIAS="purge"; }
step_102() {
exe read -p "Are you sure y/[n]? " answer
case $answer in
yY)
exe rm -rf /var/lib/docker
;;
*)
return 0
;;
esac
}
VERSION_SEQREV=7
. sequencer.sh