mirror of
https://github.com/ONLYOFFICE/DocSpace-buildtools.git
synced 2025-04-18 13:44:02 +03:00
Merge branch 'release/v2.6.0' into develop
# Conflicts: # config/nginx/onlyoffice.conf # install/OneClickInstall/install-RedHat/install-preq.sh # run/Login.xml
This commit is contained in:
commit
c523250337
@ -197,7 +197,8 @@ os.environ["SRC_PATH"] = os.path.join(dir, "publish/services")
|
||||
os.environ["DATA_DIR"] = os.path.join(dir, "data")
|
||||
os.environ["APP_URL_PORTAL"] = portal_url
|
||||
os.environ["MIGRATION_TYPE"] = migration_type
|
||||
subprocess.run(["docker-compose", "-f", os.path.join(dockerDir, "docspace.profiles.yml"), "-f", os.path.join(dockerDir, "docspace.overcome.yml"), "--profile", "migration-runner", "--profile", "backend-local", "up", "-d"])
|
||||
subprocess.run(["docker", "compose", "-f", os.path.join(dockerDir, "docspace.profiles.yml"), "-f", os.path.join(
|
||||
dockerDir, "docspace.overcome.yml"), "--profile", "migration-runner", "--profile", "backend-local", "up", "-d"])
|
||||
|
||||
if identity:
|
||||
print("Run identity")
|
||||
|
@ -113,7 +113,8 @@
|
||||
"path": "/api/upload",
|
||||
"ext": ".pdf",
|
||||
"dashboard": "/dashboard/api"
|
||||
}
|
||||
},
|
||||
"signature": "ONLYOFFICEFORM"
|
||||
}
|
||||
},
|
||||
"web": {
|
||||
|
@ -104,8 +104,7 @@ server {
|
||||
local accept_header = ngx.req.get_headers()["Accept"]
|
||||
if ngx.req.get_method() == "GET" and accept_header ~= nil and string.find(accept_header, "html") and not ngx.re.match(ngx.var.request_uri, "ds-vpath|/api/") then
|
||||
|
||||
if not ngx.re.match(ngx.var.request_uri, "login|oauth2|thirdparty|confirm|error|wizard|preparation-portal|unavailable|share=.|rooms/share(.*)key=.|/s/*") then
|
||||
if ngx.var.http_cookie == nil or not string.find(ngx.var.http_cookie, "asc_auth_key") then
|
||||
if not ngx.re.match(ngx.var.request_uri, "login|oauth2|sdk|filehandler|thirdparty|confirm|error|wizard|preparation-portal|unavailable|share=.|rooms/share(.*)key=.|/s/*|token=.") then
if ngx.var.http_cookie == nil or not string.find(ngx.var.http_cookie, "asc_auth_key") then
|
||||
if ngx.var.request_uri == "/" then
|
||||
return ngx.redirect("/login")
|
||||
else
|
||||
|
@ -37,12 +37,9 @@ fi
|
||||
rpm -ivh https://rpms.remirepo.net/$REMI_DISTR_NAME/remi-release-$REV.rpm || true
|
||||
yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/$RPMFUSION_DISTR_NAME/rpmfusion-free-release-$REV.noarch.rpm
|
||||
|
||||
[ "$REV" = "9" ] && update-crypto-policies --set DEFAULT:SHA1
|
||||
if [ "$DIST" == "centos" ]; then
|
||||
[ "$REV" = "9" ] && { ${package_manager} -y install xorg-x11-font-utils; TESTING_REPO="--enablerepo=crb"; } || POWERTOOLS_REPO="--enablerepo=powertools"
|
||||
elif [ "$DIST" == "redhat" ]; then
|
||||
/usr/bin/crb enable
|
||||
fi
|
||||
[ "$REV" = "9" ] && update-crypto-policies --set DEFAULT:SHA1 && ${package_manager} -y install xorg-x11-font-utils
|
||||
[ "$DIST" = "centos" ] && TESTING_REPO="--enablerepo=$( [ "$REV" = "9" ] && echo "crb" || echo "powertools" )"
|
||||
[ "$DIST" = "redhat" ] && /usr/bin/crb enable
|
||||
|
||||
#add rabbitmq & erlang repo
|
||||
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | bash
|
||||
|
@ -26,7 +26,7 @@ APP_PORT="80"
|
||||
ELK_SHEME="http"
|
||||
ELK_HOST="localhost"
|
||||
ELK_PORT="9200"
|
||||
OPENSEARCH_INDEX="${PACKAGE_SYSNAME}-${PRODUCT}-logs"
|
||||
OPENSEARCH_INDEX="${PACKAGE_SYSNAME}-fluent-bit"
|
||||
|
||||
RABBITMQ_HOST="localhost"
|
||||
RABBITMQ_USER="guest"
|
||||
|
@ -8,7 +8,8 @@ LETSENCRYPT="/etc/letsencrypt/live";
|
||||
OPENRESTY="/etc/openresty/conf.d"
|
||||
DHPARAM_FILE="/etc/ssl/certs/dhparam.pem"
|
||||
WEBROOT_PATH="/var/www/${PRODUCT}"
|
||||
SYSTEMD_DIR="/usr/lib/systemd/system"
|
||||
CONFIG_DIR="/etc/onlyoffice/${PRODUCT}"
|
||||
SYSTEMD_DIR=$(dirname $($(command -v dpkg-query &> /dev/null && echo "dpkg-query -L" || echo "rpm -ql") ${PRODUCT}-api | grep systemd/system/))
|
||||
|
||||
# Check if configuration files are present
|
||||
if [ ! -f "${OPENRESTY}/onlyoffice-proxy-ssl.conf.template" -a ! -f "${OPENRESTY}/onlyoffice-proxy.conf.template" ]; then
|
||||
@ -47,6 +48,8 @@ case $1 in
|
||||
DOMAIN=$2
|
||||
CERTIFICATE_FILE=$3
|
||||
PRIVATEKEY_FILE=$4
|
||||
|
||||
[[ $DOMAIN =~ ^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ ]] || { echo "Error: domain name '$DOMAIN' is incorrect." >&2; exit 1; }
|
||||
else
|
||||
help
|
||||
fi
|
||||
@ -59,7 +62,7 @@ case $1 in
|
||||
sed "s!\(worker_connections\).*;!\1 $(ulimit -n);!" -i "${OPENRESTY}/onlyoffice-proxy.conf"
|
||||
[[ -f "${DIR}/${PRODUCT}-renew-letsencrypt" ]] && rm -rf "${DIR}/${PRODUCT}-renew-letsencrypt"
|
||||
[ $(pgrep -x ""systemd"" | wc -l) -gt 0 ] && systemctl reload openresty || service openresty reload
|
||||
|
||||
sed -i "s/\(\"portal\":\).*/\1 \"http:\/\/localhost:80\"/" ${CONFIG_DIR}/appsettings.$(grep -oP 'ENVIRONMENT=\K.*' ${SYSTEMD_DIR}/${PRODUCT}-api.service).json
|
||||
SYSTEMD_NODE_FILES=$(grep -l "NODE_EXTRA_CA_CERTS" ${SYSTEMD_DIR}/${PRODUCT}-*.service ${SYSTEMD_DIR}/ds-*.service || true)
|
||||
if [ -n "$SYSTEMD_NODE_FILES" ]; then
|
||||
sed -i '/NODE_EXTRA_CA_CERTS/d' ${SYSTEMD_NODE_FILES}
|
||||
@ -106,10 +109,7 @@ PRIVATEKEY_FILE="${PRIVATEKEY_FILE:-"${LETSENCRYPT}/${PRODUCT}/privkey.pem"}"
|
||||
if [ -f "${CERTIFICATE_FILE}" ]; then
|
||||
if [ -f "${PRIVATEKEY_FILE}" ]; then
|
||||
cp -f ${OPENRESTY}/onlyoffice-proxy-ssl.conf.template ${OPENRESTY}/onlyoffice-proxy.conf
|
||||
|
||||
PACKAGE_FILE_CHECKER=$(command -v dpkg-query &> /dev/null && echo "dpkg-query -L" || echo "rpm -ql")
|
||||
ENVIRONMENT=$(grep -oP 'ENVIRONMENT=\K.*' $(dirname $(${PACKAGE_FILE_CHECKER} ${PRODUCT}-api | grep systemd/system/))/${PRODUCT}-api.service)
|
||||
sed -i "s/\(\"portal\":\).*/\1 \"https:\/\/${DOMAIN}\"/" /etc/onlyoffice/docspace/appsettings.$ENVIRONMENT.json
|
||||
sed -i "s/\(\"portal\":\).*/\1 \"https:\/\/${DOMAIN}\"/" ${CONFIG_DIR}/appsettings.$(grep -oP 'ENVIRONMENT=\K.*' ${SYSTEMD_DIR}/${PRODUCT}-api.service).json
|
||||
sed -i "s~\(ssl_certificate \).*;~\1${CERTIFICATE_FILE};~g" ${OPENRESTY}/onlyoffice-proxy.conf
|
||||
sed -i "s~\(ssl_certificate_key \).*;~\1${PRIVATEKEY_FILE};~g" ${OPENRESTY}/onlyoffice-proxy.conf
|
||||
sed -i "s~\(ssl_dhparam \).*;~\1${DHPARAM_FILE};~g" ${OPENRESTY}/onlyoffice-proxy.conf
|
||||
|
@ -57,7 +57,7 @@ server {
|
||||
|
||||
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
|
||||
|
||||
ssl_protocols TLSv1.3;
|
||||
ssl_protocols TLSv1.2 TLSv1.3;
|
||||
ssl_session_cache builtin:1000 shared:SSL:10m;
|
||||
|
||||
ssl_prefer_server_ciphers on;
|
||||
|
@ -1,5 +1,7 @@
|
||||
@echo off
|
||||
|
||||
chcp 65001 > nul
|
||||
|
||||
PUSHD %~dp0..
|
||||
call runasadmin.bat "%~dpnx0"
|
||||
|
||||
|
@ -56,7 +56,7 @@
|
||||
<ROW Property="MySQLConnector" Value="MySQL Connector/ODBC 8.0.21 x86"/>
|
||||
<ROW Property="NEED_REINDEX_OPENSEARCH" Value="FALSE" ValueLocId="-"/>
|
||||
<ROW Property="OPENSEARCH_HOST" Value="localhost" ValueLocId="-"/>
|
||||
<ROW Property="OPENSEARCH_INDEX" Value="fluentbit" ValueLocId="-"/>
|
||||
<ROW Property="OPENSEARCH_INDEX" Value="onlyoffice-fluent-bit" ValueLocId="-"/>
|
||||
<ROW Property="OPENSEARCH_MSG" Value="Unable to connect to remote OpenSearch server at "/>
|
||||
<ROW Property="OPENSEARCH_PORT" Value="9200" ValueLocId="-"/>
|
||||
<ROW Property="OPENSEARCH_SCHEME" Value="http" ValueLocId="-"/>
|
||||
|
@ -61,16 +61,18 @@ REM echo ######## SSL configs ########
|
||||
%sed% -i "s/ssl_dhparam \/etc\/ssl\/certs\/dhparam.pem;/#ssl_dhparam \/etc\/ssl\/certs\/dhparam.pem;/" buildtools\install\win\Files\nginx\conf\onlyoffice-proxy-ssl.conf.tmpl
|
||||
%sed% -i "/quic\|alt-svc/Id" buildtools\install\win\Files\nginx\conf\onlyoffice-proxy-ssl.conf.tmpl
|
||||
%sed% -i "s_\(.*root\).*;_\1 \"{APPDIR}letsencrypt\";_g" -i buildtools\install\win\Files\nginx\conf\includes\letsencrypt.conf
|
||||
%sed% -i "s#/var/log/nginx/#logs/#g" buildtools\install\win\Files\nginx\conf\onlyoffice-proxy.conf buildtools\install\win\Files\nginx\conf\onlyoffice-proxy.conf.tmpl buildtools\install\win\Files\nginx\conf\onlyoffice-proxy-ssl.conf.tmpl
|
||||
%sed% -i "s#/etc/nginx/html#conf/html#g" buildtools\install\win\Files\nginx\conf\onlyoffice.conf
|
||||
%sed% -i "s/\/etc\/nginx\/\.htpasswd_dashboards/\.htpasswd_dashboards/g" buildtools\install\win\Files\nginx\conf\onlyoffice.conf
|
||||
|
||||
REM echo ######## Configure fluent-bit config for windows ########
|
||||
%sed% -i -e "s|/var/log/onlyoffice/|{APPDIR}Logs\\|g" -e "s|\*\*/|\*\*\\|g" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i -e "s|/var/log/onlyoffice/|{APPDIR}Logs\\|g" -e "s|\*\*/|\*\*\\|g" -e "s#DocSpace\Logs\**\#DocumentServer\Log\#g" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i "/^\[OUTPUT\]/i\[INPUT]" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i "/^\[OUTPUT\]/i\ Name exec" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i "/^\[OUTPUT\]/i\ Interval_Sec 86400" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i "/^\[OUTPUT\]/i\ Command curl -s -X POST OPENSEARCH_SCHEME://OPENSEARCH_HOST:OPENSEARCH_PORT/OPENSEARCH_INDEX/_delete_by_query -H 'Content-Type: application/json' -d '{\"query\": {\"range\": {\"@timestamp\": {\"lt\": \"now-30d\"}}}}'" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i "/^\[OUTPUT\]/i\ " buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i -e "s/\"/\\\\\"/g" -e "s/'/\"/g" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
%sed% -i "/\[OUTPUT\]/i\\n" buildtools\install\win\Files\config\fluent-bit.conf
|
||||
|
||||
REM echo ######## Delete test and dev configs ########
|
||||
del /f /q buildtools\install\win\Files\config\*.test.json
|
||||
|
@ -4,7 +4,7 @@
|
||||
<startmode>manual</startmode>
|
||||
<executable>node</executable>
|
||||
<arguments>server.js</arguments>
|
||||
<workingdirectory>%BASE%\..\..\client\packages\login</workingdirectory>
|
||||
<workingdirectory>%BASE%\..\..\client\packages\login</workingdirectory>
|
||||
<log mode="none"/>
|
||||
<delayedAutoStart>true</delayedAutoStart>
|
||||
<onfailure action="none" />
|
||||
|
1
tests/vagrant/Vagrantfile
vendored
1
tests/vagrant/Vagrantfile
vendored
@ -15,6 +15,7 @@ Vagrant.configure("2") do |config|
|
||||
config.vm.provision "file", source: "../../../DocSpace-buildtools/install/OneClickInstall/.", destination: "/tmp/docspace/"
|
||||
end
|
||||
|
||||
config.vm.provision "file", source: "../../../DocSpace-buildtools/install/common/systemd/build.sh", destination: "/tmp/docspace/build.sh"
|
||||
config.vm.provision "shell", path: './install.sh', :args => "#{ENV['DOWNLOAD_SCRIPT']} #{ENV['TEST_REPO']} #{ENV['ARGUMENTS']}"
|
||||
|
||||
# Prevent SharedFoldersEnableSymlinksCreate errors
|
||||
|
@ -1,91 +1,45 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
set -e
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
case $1 in
|
||||
case $1 in
|
||||
-ds | --download-scripts )
|
||||
if [ "$2" != "" ]; then
|
||||
DOWNLOAD_SCRIPTS=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
-ds | --download-scripts )
|
||||
if [ "$2" != "" ]; then
|
||||
DOWNLOAD_SCRIPTS=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
-arg | --arguments )
|
||||
if [ "$2" != "" ]; then
|
||||
ARGUMENTS=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
-arg | --arguments )
|
||||
if [ "$2" != "" ]; then
|
||||
ARGUMENTS=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
-li | --local-install )
|
||||
if [ "$2" != "" ]; then
|
||||
LOCAL_INSTALL=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
-pi | --production-install )
|
||||
if [ "$2" != "" ]; then
|
||||
PRODUCTION_INSTALL=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
-li | --local-install )
|
||||
if [ "$2" != "" ]; then
|
||||
LOCAL_INSTALL=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
-lu | --local-update )
|
||||
if [ "$2" != "" ]; then
|
||||
LOCAL_UPDATE=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
-tr | --test-repo )
|
||||
if [ "$2" != "" ]; then
|
||||
TEST_REPO_ENABLE=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
|
||||
|
||||
esac
|
||||
shift
|
||||
-tr | --test-repo )
|
||||
if [ "$2" != "" ]; then
|
||||
TEST_REPO_ENABLE=$2
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
export TERM=xterm-256color^M
|
||||
|
||||
SERVICES_SYSTEMD=(
|
||||
"docspace-api.service"
|
||||
"docspace-doceditor.service"
|
||||
"docspace-studio-notify.service"
|
||||
"docspace-files.service"
|
||||
"docspace-notify.service"
|
||||
"docspace-studio.service"
|
||||
"docspace-backup-background.service"
|
||||
"docspace-files-services.service"
|
||||
"docspace-people-server.service"
|
||||
"docspace-backup.service"
|
||||
"docspace-healthchecks.service"
|
||||
"docspace-socket.service"
|
||||
"docspace-clear-events.service"
|
||||
"docspace-login.service"
|
||||
"docspace-ssoauth.service"
|
||||
"ds-converter.service"
|
||||
"ds-docservice.service"
|
||||
"ds-metrics.service")
|
||||
|
||||
function common::get_colors() {
|
||||
COLOR_BLUE=$'\e[34m'
|
||||
COLOR_GREEN=$'\e[32m'
|
||||
COLOR_RED=$'\e[31m'
|
||||
COLOR_RESET=$'\e[0m'
|
||||
COLOR_YELLOW=$'\e[33m'
|
||||
export COLOR_BLUE
|
||||
export COLOR_GREEN
|
||||
export COLOR_RED
|
||||
export COLOR_RESET
|
||||
export COLOR_YELLOW
|
||||
export LINE_SEPARATOR="-----------------------------------------"
|
||||
export COLOR_BLUE=$'\e[34m' COLOR_GREEN=$'\e[32m' COLOR_RED=$'\e[31m' COLOR_RESET=$'\e[0m' COLOR_YELLOW=$'\e[33m'
|
||||
}
|
||||
|
||||
#############################################################################################
|
||||
@ -98,13 +52,10 @@ function common::get_colors() {
|
||||
# None
|
||||
#############################################################################################
|
||||
function check_hw() {
|
||||
local FREE_RAM=$(free -h)
|
||||
local FREE_CPU=$(nproc)
|
||||
echo "${COLOR_RED} ${FREE_RAM} ${COLOR_RESET}"
|
||||
echo "${COLOR_RED} ${FREE_CPU} ${COLOR_RESET}"
|
||||
echo "${COLOR_RED} $(free -h) ${COLOR_RESET}"
|
||||
echo "${COLOR_RED} $(nproc) ${COLOR_RESET}"
|
||||
}
|
||||
|
||||
|
||||
#############################################################################################
|
||||
# Add nexus repositories for test packages for .deb and .rpm packages
|
||||
# Globals: None
|
||||
@ -149,12 +100,8 @@ function prepare_vm() {
|
||||
;;
|
||||
|
||||
debian)
|
||||
if [ "$VERSION_CODENAME" == "bookworm" ]; then
|
||||
apt-get update -y
|
||||
apt install -y curl gnupg
|
||||
fi
|
||||
apt-get remove postfix -y
|
||||
echo "${COLOR_GREEN}☑ PREPAVE_VM: Postfix was removed${COLOR_RESET}"
|
||||
[ "$VERSION_CODENAME" == "bookworm" ] && apt-get update -y && apt install -y curl gnupg
|
||||
apt-get remove postfix -y && echo "${COLOR_GREEN}☑ PREPAVE_VM: Postfix was removed${COLOR_RESET}"
|
||||
[[ "${TEST_REPO_ENABLE}" == 'true' ]] && add-repo-deb
|
||||
;;
|
||||
|
||||
@ -163,10 +110,7 @@ function prepare_vm() {
|
||||
;;
|
||||
|
||||
centos)
|
||||
if [ "$VERSION_ID" == "9" ]; then
|
||||
update-crypto-policies --set LEGACY
|
||||
echo "${COLOR_GREEN}☑ PREPAVE_VM: sha1 gpg key chek enabled${COLOR_RESET}"
|
||||
fi
|
||||
[ "$VERSION_ID" == "8" ] && sed -i 's|^mirrorlist=|#&|; s|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|' /etc/yum.repos.d/CentOS-*
|
||||
[[ "${TEST_REPO_ENABLE}" == 'true' ]] && add-repo-rpm
|
||||
yum -y install centos*-release
|
||||
;;
|
||||
@ -175,21 +119,16 @@ function prepare_vm() {
|
||||
echo "${COLOR_RED}Failed to determine Linux dist${COLOR_RESET}"; exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
else
|
||||
echo "${COLOR_RED}File /etc/os-release doesn't exist${COLOR_RESET}"; exit 1
|
||||
fi
|
||||
|
||||
# Clean up home folder
|
||||
rm -rf /home/vagrant/*
|
||||
|
||||
if [ -d /tmp/docspace ]; then
|
||||
mv /tmp/docspace/* /home/vagrant
|
||||
fi
|
||||
[ -d /tmp/docspace ] && mv /tmp/docspace/* /home/vagrant
|
||||
|
||||
echo '127.0.0.1 host4test' | sudo tee -a /etc/hosts
|
||||
echo "${COLOR_GREEN}☑ PREPAVE_VM: Hostname was setting up${COLOR_RESET}"
|
||||
|
||||
}
|
||||
|
||||
#############################################################################################
|
||||
@ -202,34 +141,23 @@ function prepare_vm() {
|
||||
# Script log
|
||||
#############################################################################################
|
||||
function install_docspace() {
|
||||
if [ "${DOWNLOAD_SCRIPTS}" == 'true' ]; then
|
||||
wget https://download.onlyoffice.com/docspace/docspace-install.sh
|
||||
else
|
||||
sed 's/set -e/set -xe/' -i *.sh
|
||||
fi
|
||||
|
||||
printf "N\nY\nY" | bash docspace-install.sh ${ARGUMENTS}
|
||||
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "Exit code non-zero. Exit with 1."
|
||||
exit 1
|
||||
else
|
||||
echo "Exit code 0. Continue..."
|
||||
fi
|
||||
[[ "${DOWNLOAD_SCRIPTS}" == 'true' ]] && wget https://download.onlyoffice.com/docspace/docspace-install.sh || sed 's/set -e/set -xe/' -i *.sh
|
||||
bash docspace-install.sh package ${ARGUMENTS} || { echo "Exit code non-zero. Exit with 1."; exit 1; }
|
||||
echo "Exit code 0. Continue..."
|
||||
}
|
||||
|
||||
#############################################################################################
|
||||
# Healthcheck function for systemd services
|
||||
# Globals:
|
||||
# SERVICES_SYSTEMD
|
||||
# None
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# Message about service status
|
||||
#############################################################################################
|
||||
function healthcheck_systemd_services() {
|
||||
for service in ${SERVICES_SYSTEMD[@]}
|
||||
do
|
||||
for service in ${SERVICES_SYSTEMD[@]}; do
|
||||
[[ "$service" == "docspace-migration-runner.service" ]] && continue;
|
||||
if systemctl is-active --quiet ${service}; then
|
||||
echo "${COLOR_GREEN}☑ OK: Service ${service} is running${COLOR_RESET}"
|
||||
else
|
||||
@ -239,7 +167,6 @@ function healthcheck_systemd_services() {
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
#############################################################################################
|
||||
# Set output if some services failed
|
||||
# Globals:
|
||||
@ -261,7 +188,7 @@ function healthcheck_general_status() {
|
||||
#############################################################################################
|
||||
# Get logs for all services
|
||||
# Globals:
|
||||
# $SERVICES_SYSTEMD
|
||||
# None
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
@ -272,83 +199,27 @@ function healthcheck_general_status() {
|
||||
# This function succeeds even if the file for cat was not found. For that use ${SKIP_EXIT} variable
|
||||
#############################################################################################
|
||||
function services_logs() {
|
||||
SERVICES_SYSTEMD=($(awk '/SERVICE_NAME=\(/{flag=1; next} /\)/{flag=0} flag' "build.sh" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sed 's/^/docspace-/' | sed 's/$/.service/'))
|
||||
SERVICES_SYSTEMD+=("ds-converter.service" "ds-docservice.service" "ds-metrics.service")
|
||||
|
||||
for service in ${SERVICES_SYSTEMD[@]}; do
|
||||
echo -----------------------------------------
|
||||
echo "${COLOR_GREEN}Check logs for systemd service: $service${COLOR_RESET}"
|
||||
echo ---------------------- -------------------
|
||||
EXIT_CODE=0
|
||||
journalctl -u $service || true
|
||||
echo $LINE_SEPARATOR && echo "${COLOR_GREEN}Check logs for systemd service: $service${COLOR_RESET}" && echo $LINE_SEPARATOR
|
||||
journalctl -u $service -n 30 || true
|
||||
done
|
||||
|
||||
local MAIN_LOGS_DIR="/var/log/onlyoffice"
|
||||
local DOCSPACE_LOGS_DIR="${MAIN_LOGS_DIR}/docspace"
|
||||
local DOCUMENTSERVER_LOGS_DIR="${MAIN_LOGS_DIR}/documentserver"
|
||||
local DOCSERVICE_LOGS_DIR="${DOCUMENTSERVER_LOGS_DIR}/docservice"
|
||||
local CONVERTER_LOGS_DIR="${DOCUMENTSERVER_LOGS_DIR}/converter"
|
||||
local METRICS_LOGS_DIR="${DOCUMENTSERVER_LOGS_DIR}/metrics"
|
||||
|
||||
ARRAY_MAIN_SERVICES_LOGS=($(ls ${MAIN_LOGS_DIR} | grep log | sed 's/web.sql.log//;s/web.api.log//;s/nginx.*//' ))
|
||||
ARRAY_DOCSPACE_LOGS=($(ls ${DOCSPACE_LOGS_DIR}))
|
||||
ARRAY_DOCSERVICE_LOGS=($(ls ${DOCSERVICE_LOGS_DIR}))
|
||||
ARRAY_CONVERTER_LOGS=($(ls ${CONVERTER_LOGS_DIR}))
|
||||
ARRAY_METRICS_LOGS=($(ls ${METRICS_LOGS_DIR}))
|
||||
|
||||
echo "-----------------------------------"
|
||||
echo "${COLOR_YELLOW} Check logs for main services ${COLOR_RESET}"
|
||||
echo "-----------------------------------"
|
||||
for file in ${ARRAY_MAIN_SERVICES_LOGS[@]}; do
|
||||
echo ---------------------------------------
|
||||
echo "${COLOR_GREEN}logs from file: ${file}${COLOR_RESET}"
|
||||
echo ---------------------------------------
|
||||
cat ${MAIN_LOGS_DIR}/${file} || true
|
||||
done
|
||||
|
||||
echo "-----------------------------------"
|
||||
echo "${COLOR_YELLOW} Check logs for Docservice ${COLOR_RESET}"
|
||||
echo "-----------------------------------"
|
||||
for file in ${ARRAY_DOCSERVICE_LOGS[@]}; do
|
||||
echo ---------------------------------------
|
||||
echo "${COLOR_GREEN}logs from file: ${file}${COLOR_RESET}"
|
||||
echo ---------------------------------------
|
||||
cat ${DOCSERVICE_LOGS_DIR}/${file} || true
|
||||
done
|
||||
|
||||
echo "-----------------------------------"
|
||||
echo "${COLOR_YELLOW} Check logs for Converter ${COLOR_RESET}"
|
||||
echo "-----------------------------------"
|
||||
for file in ${ARRAY_CONVERTER_LOGS[@]}; do
|
||||
echo ---------------------------------------
|
||||
echo "${COLOR_GREEN}logs from file ${file}${COLOR_RESET}"
|
||||
echo ---------------------------------------
|
||||
cat ${CONVERTER_LOGS_DIR}/${file} || true
|
||||
done
|
||||
|
||||
echo "-----------------------------------"
|
||||
echo "${COLOR_YELLOW} Start logs for Metrics ${COLOR_RESET}"
|
||||
echo "-----------------------------------"
|
||||
for file in ${ARRAY_METRICS_LOGS[@]}; do
|
||||
echo ---------------------------------------
|
||||
echo "${COLOR_GREEN}logs from file ${file}${COLOR_RESET}"
|
||||
echo ---------------------------------------
|
||||
cat ${METRICS_LOGS_DIR}/${file} || true
|
||||
done
|
||||
local DOCSPACE_LOGS_DIR="/var/log/onlyoffice/docspace"
|
||||
local DOCUMENTSERVER_LOGS_DIR="/var/log/onlyoffice/documentserver"
|
||||
|
||||
echo "-----------------------------------"
|
||||
echo "${COLOR_YELLOW} Start logs for DocSpace ${COLOR_RESET}"
|
||||
echo "-----------------------------------"
|
||||
for file in ${ARRAY_DOCSPACE_LOGS[@]}; do
|
||||
echo ---------------------------------------
|
||||
echo "${COLOR_GREEN}logs from file ${file}${COLOR_RESET}"
|
||||
echo ---------------------------------------
|
||||
cat ${DOCSPACE_LOGS_DIR}/${file} || true
|
||||
for LOGS_DIR in "${DOCSPACE_LOGS_DIR}" "${DOCUMENTSERVER_LOGS_DIR}"; do
|
||||
echo $LINE_SEPARATOR && echo "${COLOR_YELLOW}Check logs for $(basename "${LOGS_DIR}"| tr '[:lower:]' '[:upper:]') ${COLOR_RESET}" && echo $LINE_SEPARATOR
|
||||
|
||||
find "${LOGS_DIR}" -type f -name "*.log" ! -name "*sql*" ! -name "*nginx*" | while read -r FILE; do
|
||||
echo $LINE_SEPARATOR && echo "${COLOR_GREEN}Logs from file: ${FILE}${COLOR_RESET}" && echo $LINE_SEPARATOR
|
||||
tail -30 "${FILE}" || true
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
function healthcheck_docker_installation() {
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
main() {
|
||||
common::get_colors
|
||||
prepare_vm
|
||||
|
Loading…
x
Reference in New Issue
Block a user