Merge branch 'release/v2.0.0' into develop
# Conflicts: # install/win/DocSpace.aip
This commit is contained in:
commit
38c1dc805f
@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
pwsh %~dp0/build.backend.docker.ps1 %*
|
|
||||||
|
|
||||||
echo.
|
|
||||||
|
|
||||||
pause
|
|
@ -1,133 +0,0 @@
|
|||||||
param(
|
|
||||||
[switch] $h = $false,
|
|
||||||
[switch] $f = $false,
|
|
||||||
[switch] $s = $true,
|
|
||||||
[switch] $c = $false,
|
|
||||||
[switch] $d = $false
|
|
||||||
)
|
|
||||||
|
|
||||||
if ($h) {
|
|
||||||
Write-Host "Build and run backend and working environment. (Use 'yarn start' to run client -> https://github.com/ONLYOFFICE/DocSpace-client)"
|
|
||||||
Write-Host
|
|
||||||
Write-Host "Syntax: available params [-h|f|s|c|d|]"
|
|
||||||
Write-Host "Options:"
|
|
||||||
Write-Host "h Print this Help."
|
|
||||||
Write-Host "f Force rebuild base images."
|
|
||||||
Write-Host "s Run as SAAS otherwise as STANDALONE."
|
|
||||||
Write-Host "c Run as COMMUNITY otherwise ENTERPRISE."
|
|
||||||
Write-Host "d Run dnsmasq."
|
|
||||||
Write-Host
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
$PSversionMajor = $PSVersionTable.PSVersion | sort-object major | ForEach-Object { $_.major }
|
|
||||||
$PSversionMinor = $PSVersionTable.PSVersion | sort-object minor | ForEach-Object { $_.minor }
|
|
||||||
|
|
||||||
if ($PSversionMajor -lt 7 -or $PSversionMinor -lt 2) {
|
|
||||||
Write-Error "Powershell version must be greater than or equal to 7.2."
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
$RootDir = Split-Path -Parent $PSScriptRoot
|
|
||||||
$DockerDir = "$RootDir\buildtools\install\docker"
|
|
||||||
$LocalIp = (Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | Where-Object { $_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null }).IPAddress | Select-Object -First 1
|
|
||||||
|
|
||||||
$Doceditor = ($LocalIp + ":5013")
|
|
||||||
$Login = ($LocalIp + ":5011")
|
|
||||||
$Client = ($LocalIp + ":5001")
|
|
||||||
$PortalUrl = ("http://" + $LocalIp)
|
|
||||||
$ProxyVersion="v1.0.0"
|
|
||||||
|
|
||||||
# Stop all backend services"
|
|
||||||
& "$PSScriptRoot\start\stop.backend.docker.ps1"
|
|
||||||
|
|
||||||
$Env:COMPOSE_IGNORE_ORPHANS = "True"
|
|
||||||
|
|
||||||
$ExistsNetwork= docker network ls --format '{{.Name}}' | findstr "onlyoffice"
|
|
||||||
|
|
||||||
if (-not $ExistsNetwork) {
|
|
||||||
docker network create --driver bridge onlyoffice
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Run MySQL" -ForegroundColor Green
|
|
||||||
docker compose -f "$DockerDir\db.yml" up -d
|
|
||||||
|
|
||||||
if ($d) {
|
|
||||||
Write-Host "Run local dns server" -ForegroundColor Green
|
|
||||||
$Env:ROOT_DIR=$RootDir
|
|
||||||
docker compose -f "$DockerDir\dnsmasq.yml" up -d
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Build backend services (to `publish/` folder)" -ForegroundColor Green
|
|
||||||
& "$PSScriptRoot\install\common\build-services.ps1"
|
|
||||||
|
|
||||||
$Env:DOCUMENT_SERVER_IMAGE_NAME = "onlyoffice/documentserver-de:latest"
|
|
||||||
$Env:INSTALLATION_TYPE = "ENTERPRISE"
|
|
||||||
$Env:MIGRATION_TYPE = "STANDALONE"
|
|
||||||
|
|
||||||
if ($c) {
|
|
||||||
$Env:DOCUMENT_SERVER_IMAGE_NAME = "onlyoffice/documentserver:latest"
|
|
||||||
$Env:INSTALLATION_TYPE = "COMMUNITY"
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-not $s) {
|
|
||||||
$Env:MIGRATION_TYPE = "SAAS"
|
|
||||||
}
|
|
||||||
|
|
||||||
Set-Location -Path $RootDir
|
|
||||||
|
|
||||||
$DotnetVersion = "dev"
|
|
||||||
$NodeVersion = "dev"
|
|
||||||
$ProxyVersion = "dev"
|
|
||||||
|
|
||||||
$ExistsDotnet= docker images --format "{{.Repository}}:{{.Tag}}" | findstr "onlyoffice/4testing-docspace-dotnet-runtime:$DotnetVersion"
|
|
||||||
$ExistsNode= docker images --format "{{.Repository}}:{{.Tag}}" | findstr "onlyoffice/4testing-docspace-nodejs-runtime:$NodeVersion"
|
|
||||||
$ExistsProxy= docker images --format "{{.Repository}}:{{.Tag}}" | findstr "onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion"
|
|
||||||
|
|
||||||
if (!$ExistsDotnet -or $f) {
|
|
||||||
Write-Host "Build dotnet base image from source (apply new dotnet config)" -ForegroundColor Green
|
|
||||||
docker build -t "onlyoffice/4testing-docspace-dotnet-runtime:$DotnetVersion" -f "$DockerDir\Dockerfile.runtime" --target dotnetrun .
|
|
||||||
} else {
|
|
||||||
Write-Host "SKIP build dotnet base image (already exists)" -ForegroundColor Blue
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$ExistsNode -or $f) {
|
|
||||||
Write-Host "Build node base image from source" -ForegroundColor Green
|
|
||||||
docker build -t "onlyoffice/4testing-docspace-nodejs-runtime:$NodeVersion" -f "$DockerDir\Dockerfile.runtime" --target noderun .
|
|
||||||
} else {
|
|
||||||
Write-Host "SKIP build node base image (already exists)" -ForegroundColor Blue
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$ExistsProxy -or $f) {
|
|
||||||
Write-Host "Build proxy base image from source (apply new nginx config)" -ForegroundColor Green
|
|
||||||
docker build -t "onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion" -f "$DockerDir\Dockerfile.runtime" --target router .
|
|
||||||
} else {
|
|
||||||
Write-Host "SKIP build proxy base image (already exists)" -ForegroundColor Blue
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Run migration and services" -ForegroundColor Green
|
|
||||||
$Env:ENV_EXTENSION="dev"
|
|
||||||
$Env:Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:$DotnetVersion"
|
|
||||||
$Env:Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:$NodeVersion"
|
|
||||||
$Env:Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:$ProxyVersion"
|
|
||||||
$Env:SERVICE_DOCEDITOR=$Doceditor
|
|
||||||
$Env:SERVICE_LOGIN=$Login
|
|
||||||
$Env:SERVICE_CLIENT=$Client
|
|
||||||
$Env:ROOT_DIR=$RootDir
|
|
||||||
$Env:BUILD_PATH="/var/www"
|
|
||||||
$Env:SRC_PATH="$RootDir\publish\services"
|
|
||||||
$Env:DATA_DIR="$RootDir\data"
|
|
||||||
$Env:APP_URL_PORTAL=$PortalUrl
|
|
||||||
docker compose -f "$DockerDir\docspace.profiles.yml" -f "$DockerDir\docspace.overcome.yml" --profile migration-runner --profile backend-local up -d
|
|
||||||
|
|
||||||
Write-Host "== Build params ==" -ForegroundColor Green
|
|
||||||
Write-Host "APP_URL_PORTAL: $PortalUrl" -ForegroundColor Blue
|
|
||||||
Write-Host "LOCAL IP: $LocalIp" -ForegroundColor Blue
|
|
||||||
Write-Host "SERVICE_DOCEDITOR: $Env:SERVICE_DOCEDITOR" -ForegroundColor Blue
|
|
||||||
Write-Host "SERVICE_LOGIN: $Env:SERVICE_LOGIN" -ForegroundColor Blue
|
|
||||||
Write-Host "SERVICE_CLIENT: $Env:SERVICE_CLIENT" -ForegroundColor Blue
|
|
||||||
Write-Host "INSTALLATION_TYPE: $Env:INSTALLATION_TYPE" -ForegroundColor Blue
|
|
||||||
Write-Host "MIGRATION TYPE: $Env:MIGRATION_TYPE" -ForegroundColor Blue
|
|
||||||
Write-Host "DS IMAGE: $Env:DOCUMENT_SERVER_IMAGE_NAME" -ForegroundColor Blue
|
|
||||||
|
|
||||||
Set-Location -Path $PSScriptRoot
|
|
201
build.backend.docker.py
Executable file
201
build.backend.docker.py
Executable file
@ -0,0 +1,201 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import socket
|
||||||
|
import subprocess
|
||||||
|
import sys, getopt
|
||||||
|
import shutil
|
||||||
|
import platform
|
||||||
|
|
||||||
|
def help():
|
||||||
|
# Display Help
|
||||||
|
print("Build and run backend and working environment. (Use 'yarn start' to run client -> https://github.com/ONLYOFFICE/DocSpace-client)")
|
||||||
|
print()
|
||||||
|
print("Syntax: available params [-h|f|s|c|d|]")
|
||||||
|
print("options:")
|
||||||
|
print("h Print this Help.")
|
||||||
|
print("f Force rebuild base images.")
|
||||||
|
print("s Run as SAAS otherwise as STANDALONE.")
|
||||||
|
print("c Run as COMMUNITY otherwise ENTERPRISE.")
|
||||||
|
print("d Run dnsmasq.")
|
||||||
|
print()
|
||||||
|
|
||||||
|
rd = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
dir = os.path.abspath(os.path.join(rd, ".."))
|
||||||
|
dockerDir = os.path.join(dir, "buildtools", "install", "docker")
|
||||||
|
local_ip = socket.gethostbyname_ex(socket.gethostname())[-1][-1]
|
||||||
|
|
||||||
|
doceditor = f"{local_ip}:5013"
|
||||||
|
login = f"{local_ip}:5011"
|
||||||
|
client = f"{local_ip}:5001"
|
||||||
|
portal_url = f"http://{local_ip}"
|
||||||
|
|
||||||
|
force = False
|
||||||
|
dns = False
|
||||||
|
standalone = True
|
||||||
|
community = False
|
||||||
|
|
||||||
|
migration_type = "STANDALONE" # SAAS
|
||||||
|
installation_type = "ENTERPRISE"
|
||||||
|
document_server_image_name = "onlyoffice/documentserver-de:latest"
|
||||||
|
|
||||||
|
# Get the options
|
||||||
|
opts, args = getopt.getopt(sys.argv[1:], "hfscd")
|
||||||
|
for opt, arg in opts:
|
||||||
|
if opt == "-h":
|
||||||
|
help()
|
||||||
|
sys.exit()
|
||||||
|
elif opt == "-f":
|
||||||
|
force = arg if arg else True
|
||||||
|
elif opt == "-s":
|
||||||
|
standalone = arg if arg else False
|
||||||
|
elif opt == "-c":
|
||||||
|
community = arg if arg else True
|
||||||
|
elif opt == "-d":
|
||||||
|
dns = arg if arg else True
|
||||||
|
else:
|
||||||
|
print("Error: Invalid '-" + opt + "' option")
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
print("Run script directory:", dir)
|
||||||
|
print("Root directory:", dir)
|
||||||
|
print("Docker files root directory:", dockerDir)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print(f"SERVICE_DOCEDITOR: {doceditor}")
|
||||||
|
print(f"SERVICE_LOGIN: {login}")
|
||||||
|
print(f"SERVICE_CLIENT: {client}")
|
||||||
|
print(f"DOCSPACE_APP_URL: {portal_url}")
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("FORCE REBUILD BASE IMAGES:", force)
|
||||||
|
print("Run dnsmasq:", dns)
|
||||||
|
|
||||||
|
if standalone == False:
|
||||||
|
migration_type = "SAAS"
|
||||||
|
|
||||||
|
if community == True:
|
||||||
|
installation_type = "COMMUNITY"
|
||||||
|
document_server_image_name = "onlyoffice/documentserver:latest"
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("MIGRATION TYPE:", migration_type)
|
||||||
|
print("INSTALLATION TYPE:", installation_type)
|
||||||
|
print("DS image:", document_server_image_name)
|
||||||
|
print()
|
||||||
|
|
||||||
|
# Stop all backend services
|
||||||
|
subprocess.run(["python", os.path.join(dir, "buildtools", "start", "stop.backend.docker.py")])
|
||||||
|
|
||||||
|
print("Run MySQL")
|
||||||
|
|
||||||
|
arch_name = platform.uname().machine
|
||||||
|
|
||||||
|
print(f"PLATFORM {arch_name}")
|
||||||
|
|
||||||
|
existsnetwork = subprocess.check_output(["docker", "network", "ls"]).decode("utf-8").splitlines()
|
||||||
|
existsnetwork = [line.split()[1] for line in existsnetwork]
|
||||||
|
|
||||||
|
if "onlyoffice" not in existsnetwork:
|
||||||
|
subprocess.run(["docker", "network", "create", "--driver", "bridge", "onlyoffice"])
|
||||||
|
|
||||||
|
if arch_name == "x86_64" or arch_name == "AMD64":
|
||||||
|
print("CPU Type: x86_64 -> run db.yml")
|
||||||
|
subprocess.run(["docker", "compose", "-f", os.path.join(dockerDir, "db.yml"), "up", "-d"])
|
||||||
|
elif arch_name == "arm64":
|
||||||
|
print("CPU Type: arm64 -> run db.yml with arm64v8 image")
|
||||||
|
os.environ["MYSQL_IMAGE"] = "arm64v8/mysql:8.0.32-oracle"
|
||||||
|
subprocess.run(["docker", "compose", "-f", os.path.join(dockerDir, "db.yml"), "up", "-d"])
|
||||||
|
else:
|
||||||
|
print("Error: Unknown CPU Type:", arch_name)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if dns == True:
|
||||||
|
print("Run local dns server")
|
||||||
|
os.environ["ROOT_DIR"] = dir
|
||||||
|
subprocess.run(["docker", "compose", "-f", os.path.join(dockerDir, "dnsmasq.yml"), "up", "-d"])
|
||||||
|
|
||||||
|
print("Clear publish folder")
|
||||||
|
shutil.rmtree(os.path.join(dir, "publish/services"), True)
|
||||||
|
|
||||||
|
print("Build backend services (to 'publish/' folder)")
|
||||||
|
subprocess.run(["python", os.path.join(dir, "buildtools", "install", "common", "build-services.py")])
|
||||||
|
|
||||||
|
def check_image(image_name):
|
||||||
|
return subprocess.check_output(["docker", "images", "--format", "'{{.Repository}}:{{.Tag}}'"], shell=True, text=True).__contains__(image_name)
|
||||||
|
|
||||||
|
dotnet_image_name = "onlyoffice/4testing-docspace-dotnet-runtime"
|
||||||
|
dotnet_version = "dev"
|
||||||
|
dotnet_image = f"{dotnet_image_name}:{dotnet_version}"
|
||||||
|
|
||||||
|
exists = check_image(dotnet_image)
|
||||||
|
|
||||||
|
if not exists or force == True:
|
||||||
|
print("Build dotnet base image from source (apply new dotnet config)")
|
||||||
|
subprocess.run(["docker", "build", "-t", dotnet_image, "-f", os.path.join(dockerDir, "Dockerfile.runtime"), "--target", "dotnetrun", "."])
|
||||||
|
else:
|
||||||
|
print(f"SKIP build {dotnet_image} (already exists)")
|
||||||
|
|
||||||
|
node_image_name = "onlyoffice/4testing-docspace-nodejs-runtime"
|
||||||
|
node_version = "dev"
|
||||||
|
node_image = f"{node_image_name}:{node_version}"
|
||||||
|
|
||||||
|
exists = check_image(node_image)
|
||||||
|
|
||||||
|
if not exists or force == True:
|
||||||
|
print("Build nodejs base image from source")
|
||||||
|
subprocess.run(["docker", "build", "-t", node_image, "-f", os.path.join(dockerDir, "Dockerfile.runtime"), "--target", "noderun", "."])
|
||||||
|
else:
|
||||||
|
print(f"SKIP build {node_image} (already exists)")
|
||||||
|
|
||||||
|
proxy_image_name = "onlyoffice/4testing-docspace-proxy-runtime"
|
||||||
|
proxy_version = "dev"
|
||||||
|
proxy_image = f"{proxy_image_name}:{proxy_version}"
|
||||||
|
|
||||||
|
exists = check_image(proxy_image)
|
||||||
|
|
||||||
|
if not exists or force == True:
|
||||||
|
print("Build proxy base image from source (apply new nginx config)")
|
||||||
|
subprocess.run(["docker", "build", "-t", proxy_image, "-f", os.path.join(dockerDir, "Dockerfile.runtime"), "--target", "router", "."])
|
||||||
|
else:
|
||||||
|
print(f"SKIP build {proxy_image} (already exists)")
|
||||||
|
|
||||||
|
print("Run migration and services")
|
||||||
|
|
||||||
|
os.environ["ENV_EXTENSION"] = "dev"
|
||||||
|
os.environ["INSTALLATION_TYPE"] = installation_type
|
||||||
|
os.environ["Baseimage_Dotnet_Run"] = "onlyoffice/4testing-docspace-dotnet-runtime:" + dotnet_version
|
||||||
|
os.environ["Baseimage_Nodejs_Run"] = "onlyoffice/4testing-docspace-nodejs-runtime:" + node_version
|
||||||
|
os.environ["Baseimage_Proxy_Run"] = "onlyoffice/4testing-docspace-proxy-runtime:" + proxy_version
|
||||||
|
os.environ["DOCUMENT_SERVER_IMAGE_NAME"] = document_server_image_name
|
||||||
|
os.environ["SERVICE_DOCEDITOR"] = doceditor
|
||||||
|
os.environ["SERVICE_LOGIN"] = login
|
||||||
|
os.environ["SERVICE_CLIENT"] = client
|
||||||
|
os.environ["ROOT_DIR"] = dir
|
||||||
|
os.environ["BUILD_PATH"] = "/var/www"
|
||||||
|
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"])
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("Run script directory:", dir)
|
||||||
|
print("Root directory:", dir)
|
||||||
|
print("Docker files root directory:", dockerDir)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print(f"SERVICE_DOCEDITOR: {doceditor}")
|
||||||
|
print(f"SERVICE_LOGIN: {login}")
|
||||||
|
print(f"SERVICE_CLIENT: {client}")
|
||||||
|
print(f"DOCSPACE_APP_URL: {portal_url}")
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("FORCE REBUILD BASE IMAGES:", force)
|
||||||
|
print("Run dnsmasq:", dns)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print("MIGRATION TYPE:", migration_type)
|
||||||
|
print("INSTALLATION TYPE:", installation_type)
|
||||||
|
print("DS image:", document_server_image_name)
|
||||||
|
print()
|
@ -1,203 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
############################################################
|
|
||||||
# Help #
|
|
||||||
############################################################
|
|
||||||
Help()
|
|
||||||
{
|
|
||||||
# Display Help
|
|
||||||
echo "Build and run backend and working environment. (Use 'yarn start' to run client -> https://github.com/ONLYOFFICE/DocSpace-client)"
|
|
||||||
echo
|
|
||||||
echo "Syntax: available params [-h|f|s|c|d|]"
|
|
||||||
echo "options:"
|
|
||||||
echo "h Print this Help."
|
|
||||||
echo "f Force rebuild base images."
|
|
||||||
echo "s Run as SAAS otherwise as STANDALONE."
|
|
||||||
echo "c Run as COMMUNITY otherwise ENTERPRISE."
|
|
||||||
echo "d Run dnsmasq."
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
rd="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
dir=$(builtin cd $rd/../; pwd)
|
|
||||||
dockerDir="$dir/buildtools/install/docker"
|
|
||||||
local_ip=$(ipconfig getifaddr en0)
|
|
||||||
|
|
||||||
doceditor=${local_ip}:5013
|
|
||||||
login=${local_ip}:5011
|
|
||||||
client=${local_ip}:5001
|
|
||||||
portal_url="http://$local_ip"
|
|
||||||
|
|
||||||
force=false
|
|
||||||
dns=false
|
|
||||||
standalone=true
|
|
||||||
community=false
|
|
||||||
|
|
||||||
migration_type="STANDALONE" # SAAS
|
|
||||||
installation_type=ENTERPRISE
|
|
||||||
document_server_image_name=onlyoffice/documentserver-de:latest
|
|
||||||
|
|
||||||
# Get the options
|
|
||||||
while getopts "h:f:s:c:d:" opt; do
|
|
||||||
echo "argument -${opt} called with parameter $OPTARG" >&2
|
|
||||||
case $opt in
|
|
||||||
h) # Display this Help
|
|
||||||
Help
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
f) # Force rebuild base images
|
|
||||||
force=${OPTARG:-true}
|
|
||||||
;;
|
|
||||||
s) # Run as STANDALONE (otherwise SAAS)
|
|
||||||
standalone=${OPTARG:-true}
|
|
||||||
;;
|
|
||||||
c) # Run as COMMUNITY (otherwise ENTERPRISE)
|
|
||||||
community=${OPTARG:-true}
|
|
||||||
;;
|
|
||||||
d) # Run dnsmasq
|
|
||||||
dns=${OPTARG:-true}
|
|
||||||
;;
|
|
||||||
\?) # Invalid option
|
|
||||||
echo "Error: Invalid '-$OPTARG' option"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Run script directory:" $dir
|
|
||||||
echo "Root directory:" $dir
|
|
||||||
echo "Docker files root directory:" $dockerDir
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "SERVICE_DOCEDITOR: $doceditor"
|
|
||||||
echo "SERVICE_LOGIN: $login"
|
|
||||||
echo "SERVICE_CLIENT: $client"
|
|
||||||
echo "DOCSPACE_APP_URL: $portal_url"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "FORCE REBUILD BASE IMAGES: $force"
|
|
||||||
echo "Run dnsmasq: $dns"
|
|
||||||
|
|
||||||
if [ "$standalone" = false ]; then
|
|
||||||
migration_type="SAAS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$community" = true ]; then
|
|
||||||
installation_type="COMMUNITY"
|
|
||||||
document_server_image_name=onlyoffice/documentserver:latest
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "MIGRATION TYPE: $migration_type"
|
|
||||||
echo "INSTALLATION TYPE: $installation_type"
|
|
||||||
echo "DS image: $document_server_image_name"
|
|
||||||
echo
|
|
||||||
|
|
||||||
# Stop all backend services"
|
|
||||||
$dir/buildtools/start/stop.backend.docker.sh
|
|
||||||
|
|
||||||
echo "Run MySQL"
|
|
||||||
|
|
||||||
arch_name="$(uname -m)"
|
|
||||||
|
|
||||||
existsnetwork=$(docker network ls | awk '{print $2;}' | { grep -x onlyoffice || true; });
|
|
||||||
|
|
||||||
if [[ -z ${existsnetwork} ]]; then
|
|
||||||
docker network create --driver bridge onlyoffice
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${arch_name}" = "x86_64" ]; then
|
|
||||||
echo "CPU Type: x86_64 -> run db.yml"
|
|
||||||
docker compose -f $dockerDir/db.yml up -d
|
|
||||||
elif [ "${arch_name}" = "arm64" ]; then
|
|
||||||
echo "CPU Type: arm64 -> run db.yml with arm64v8 image"
|
|
||||||
MYSQL_IMAGE=arm64v8/mysql:8.0.32-oracle \
|
|
||||||
docker compose -f $dockerDir/db.yml up -d
|
|
||||||
else
|
|
||||||
echo "Error: Unknown CPU Type: ${arch_name}."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$dns" = true ]; then
|
|
||||||
echo "Run local dns server"
|
|
||||||
ROOT_DIR=$dir \
|
|
||||||
docker compose -f $dockerDir/dnsmasq.yml up -d
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Clear publish folder"
|
|
||||||
rm -rf $dir/publish/services
|
|
||||||
|
|
||||||
echo "Build backend services (to "publish/" folder)"
|
|
||||||
bash $dir/buildtools/install/common/build-services.sh -pb backend-publish -pc Debug -de "$dockerDir/docker-entrypoint.py"
|
|
||||||
|
|
||||||
dotnet_version=dev
|
|
||||||
|
|
||||||
exists=$(docker images | egrep "onlyoffice/4testing-docspace-dotnet-runtime" | egrep "$dotnet_version" | awk 'NR>0 {print $1 ":" $2}')
|
|
||||||
|
|
||||||
if [ "${exists}" = "" ] || [ "$force" = true ]; then
|
|
||||||
echo "Build dotnet base image from source (apply new dotnet config)"
|
|
||||||
docker build -t onlyoffice/4testing-docspace-dotnet-runtime:$dotnet_version -f $dockerDir/Dockerfile.runtime --target dotnetrun .
|
|
||||||
else
|
|
||||||
echo "SKIP build dotnet base image (already exists)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
node_version=dev
|
|
||||||
|
|
||||||
exists=$(docker images | egrep "onlyoffice/4testing-docspace-nodejs-runtime" | egrep "$node_version" | awk 'NR>0 {print $1 ":" $2}')
|
|
||||||
|
|
||||||
if [ "${exists}" = "" ] || [ "$force" = true ]; then
|
|
||||||
echo "Build nodejs base image from source"
|
|
||||||
docker build -t onlyoffice/4testing-docspace-nodejs-runtime:$node_version -f $dockerDir/Dockerfile.runtime --target noderun .
|
|
||||||
else
|
|
||||||
echo "SKIP build nodejs base image (already exists)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
proxy_version=dev
|
|
||||||
|
|
||||||
exists=$(docker images | egrep "onlyoffice/4testing-docspace-proxy-runtime" | egrep "$proxy_version" | awk 'NR>0 {print $1 ":" $2}')
|
|
||||||
|
|
||||||
if [ "${exists}" = "" ] || [ "$force" = true ]; then
|
|
||||||
echo "Build proxy base image from source (apply new nginx config)"
|
|
||||||
docker build -t onlyoffice/4testing-docspace-proxy-runtime:$proxy_version -f $dockerDir/Dockerfile.runtime --target router .
|
|
||||||
else
|
|
||||||
echo "SKIP build proxy base image (already exists)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Run migration and services"
|
|
||||||
ENV_EXTENSION="dev" \
|
|
||||||
INSTALLATION_TYPE=$installation_type \
|
|
||||||
Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:$dotnet_version" \
|
|
||||||
Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:$node_version" \
|
|
||||||
Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:$proxy_version" \
|
|
||||||
DOCUMENT_SERVER_IMAGE_NAME=$document_server_image_name \
|
|
||||||
SERVICE_DOCEDITOR=$doceditor \
|
|
||||||
SERVICE_LOGIN=$login \
|
|
||||||
SERVICE_CLIENT=$client \
|
|
||||||
ROOT_DIR=$dir \
|
|
||||||
BUILD_PATH="/var/www" \
|
|
||||||
SRC_PATH="$dir/publish/services" \
|
|
||||||
DATA_DIR="$dir/data" \
|
|
||||||
APP_URL_PORTAL=$portal_url \
|
|
||||||
MIGRATION_TYPE=$migration_type \
|
|
||||||
docker-compose -f $dockerDir/docspace.profiles.yml -f $dockerDir/docspace.overcome.yml --profile migration-runner --profile backend-local up -d
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Run script directory:" $dir
|
|
||||||
echo "Root directory:" $dir
|
|
||||||
echo "Docker files root directory:" $dockerDir
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "SERVICE_DOCEDITOR: $doceditor"
|
|
||||||
echo "SERVICE_LOGIN: $login"
|
|
||||||
echo "SERVICE_CLIENT: $client"
|
|
||||||
echo "DOCSPACE_APP_URL: $portal_url"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "FORCE REBUILD BASE IMAGES: $force"
|
|
||||||
echo "Run dnsmasq: $dns"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "MIGRATION TYPE: $migration_type"
|
|
||||||
echo "INSTALLATION TYPE: $installation_type"
|
|
||||||
echo "DS image: $document_server_image_name"
|
|
||||||
echo
|
|
@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
pwsh %~dp0/clear.backend.docker.ps1
|
|
||||||
|
|
||||||
echo.
|
|
||||||
|
|
||||||
pause
|
|
@ -1,37 +0,0 @@
|
|||||||
$Containers = docker ps -aqf "name=^onlyoffice"
|
|
||||||
$Images = docker images onlyoffice/4testing-docspace* -q
|
|
||||||
$RootDir = Split-Path -Parent $PSScriptRoot
|
|
||||||
$DockerDir = ($RootDir + "\buildtools\install\docker")
|
|
||||||
|
|
||||||
Write-Host "Clean up containers, volumes or networks" -ForegroundColor Green
|
|
||||||
|
|
||||||
if ($Containers -or $Images) {
|
|
||||||
Write-Host "Remove all backend containers" -ForegroundColor Blue
|
|
||||||
|
|
||||||
$Env:DOCUMENT_SERVER_IMAGE_NAME="onlyoffice/documentserver-de:latest"
|
|
||||||
$Env:Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:dev"
|
|
||||||
$Env:Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:dev"
|
|
||||||
$Env:Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:dev"
|
|
||||||
$Env:SERVICE_CLIENT="localhost:5001"
|
|
||||||
$Env:BUILD_PATH="/var/www"
|
|
||||||
$Env:SRC_PATH="$RootDir\publish\services"
|
|
||||||
$Env:ROOT_DIR=$RootDir
|
|
||||||
$Env:DATA_DIR="$RootDir\data"
|
|
||||||
|
|
||||||
docker compose -f "$DockerDir\docspace.profiles.yml" -f "$DockerDir\docspace.overcome.yml" --profile "migration-runner" --profile "backend-local" down --volumes
|
|
||||||
|
|
||||||
Write-Host "Remove docker contatiners 'mysql'" -ForegroundColor Blue
|
|
||||||
docker compose -f "$DockerDir\db.yml" down --volumes
|
|
||||||
|
|
||||||
Write-Host "Remove docker volumes" -ForegroundColor Blue
|
|
||||||
docker volume prune -f -a
|
|
||||||
|
|
||||||
Write-Host "Remove docker base images (onlyoffice/4testing-docspace)" -ForegroundColor Blue
|
|
||||||
docker rmi -f $Images
|
|
||||||
|
|
||||||
Write-Host "Remove docker networks" -ForegroundColor Blue
|
|
||||||
docker network prune -f
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Write-Host "No containers, images, volumes or networks to clean up" -ForegroundColor Green
|
|
||||||
}
|
|
48
clear.backend.docker.py
Executable file
48
clear.backend.docker.py
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os, sys
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
rd = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
root_dir = os.path.abspath(os.path.join(rd, ".."))
|
||||||
|
docker_dir = os.path.join(root_dir, "buildtools", "install", "docker")
|
||||||
|
|
||||||
|
containers = subprocess.check_output(["docker", "ps", "-aq", "-f", "name=^onlyoffice"], encoding='utf-8').strip().split()
|
||||||
|
images = subprocess.check_output(["docker", "images", "onlyoffice/4testing-docspace*", "-q"], encoding='utf-8').strip().split()
|
||||||
|
|
||||||
|
if containers or images:
|
||||||
|
print("Clean up containers, volumes or networks")
|
||||||
|
|
||||||
|
print("Remove all backend containers")
|
||||||
|
|
||||||
|
os.environ["Baseimage_Dotnet_Run"] = "onlyoffice/4testing-docspace-dotnet-runtime:dev"
|
||||||
|
os.environ["Baseimage_Nodejs_Run"] = "onlyoffice/4testing-docspace-nodejs-runtime:dev"
|
||||||
|
os.environ["Baseimage_Proxy_Run"] = "onlyoffice/4testing-docspace-proxy-runtime:dev"
|
||||||
|
os.environ["DOCUMENT_SERVER_IMAGE_NAME"] = "onlyoffice/documentserver-de:latest"
|
||||||
|
os.environ["SERVICE_CLIENT"] = "localhost:5001"
|
||||||
|
os.environ["ROOT_DIR"] = root_dir
|
||||||
|
os.environ["BUILD_PATH"] = "/var/www"
|
||||||
|
os.environ["SRC_PATH"] = os.path.join(root_dir, "publish/services")
|
||||||
|
os.environ["DATA_DIR"] = os.path.join(root_dir, "data")
|
||||||
|
subprocess.run(["docker-compose", "-f", os.path.join(docker_dir, "docspace.profiles.yml"), "-f", os.path.join(docker_dir, "docspace.overcome.yml"), "--profile", "migration-runner", "--profile", "backend-local", "down", "--volumes"])
|
||||||
|
|
||||||
|
print("Remove docker contatiners 'mysql'")
|
||||||
|
db_command = f"docker compose -f {os.path.join(docker_dir, 'db.yml')} down --volumes"
|
||||||
|
subprocess.run(db_command, shell=True)
|
||||||
|
|
||||||
|
print("Remove docker volumes")
|
||||||
|
volumes_command = f"docker volume prune -fa"
|
||||||
|
subprocess.run(volumes_command, shell=True)
|
||||||
|
|
||||||
|
print("Remove docker base images (onlyoffice/4testing-docspace)")
|
||||||
|
subprocess.run(['docker', 'rmi', '-f'] + images, check=True)
|
||||||
|
|
||||||
|
print("Remove docker networks")
|
||||||
|
network_command = f"docker network prune -f"
|
||||||
|
subprocess.run(network_command, shell=True)
|
||||||
|
|
||||||
|
print("Remove docker build cache")
|
||||||
|
cache_command = f"docker buildx prune -f"
|
||||||
|
subprocess.run(cache_command, shell=True)
|
||||||
|
else:
|
||||||
|
print("No containers or images to clean up")
|
@ -1,38 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
Containers=$(docker ps -a | egrep "onlyoffice" | awk 'NR>0 {print $1}')
|
|
||||||
RunDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
RootDir=$(builtin cd $RunDir/../; pwd)
|
|
||||||
DockerDir="${RootDir}/buildtools/install/docker"
|
|
||||||
|
|
||||||
echo "Clean up containers, volumes or networks"
|
|
||||||
|
|
||||||
if [[ $Containers != "" ]]
|
|
||||||
then
|
|
||||||
echo "Remove all backend containers"
|
|
||||||
|
|
||||||
DOCUMENT_SERVER_IMAGE_NAME=onlyoffice/documentserver-de:latest \
|
|
||||||
Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:dev" \
|
|
||||||
Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:dev" \
|
|
||||||
Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:dev" \
|
|
||||||
SERVICE_CLIENT="localhost:5001" \
|
|
||||||
BUILD_PATH="/var/www" \
|
|
||||||
SRC_PATH="${RootDir}/publish/services" \
|
|
||||||
ROOT_DIR=$RootDir \
|
|
||||||
DATA_DIR="${RootDir}/data" \
|
|
||||||
docker-compose -f "${DockerDir}/docspace.profiles.yml" -f "${DockerDir}/docspace.overcome.yml" --profile migration-runner --profile backend-local down --volumes
|
|
||||||
|
|
||||||
echo "Remove docker contatiners 'mysql'"
|
|
||||||
docker compose -f "${DockerDir}/db.yml" down --volumes
|
|
||||||
|
|
||||||
echo "Remove docker volumes"
|
|
||||||
docker volume prune -f -a
|
|
||||||
|
|
||||||
echo "Remove docker base images (onlyoffice/4testing-docspace)"
|
|
||||||
docker rmi -f $(docker images -a | egrep "onlyoffice/4testing-docspace" | awk 'NR>0 {print $3}')
|
|
||||||
|
|
||||||
echo "Remove unused networks."
|
|
||||||
docker network prune -f
|
|
||||||
else
|
|
||||||
echo "No containers, images, volumes or networks to clean up"
|
|
||||||
fi
|
|
@ -34,7 +34,10 @@
|
|||||||
"oidc": {
|
"oidc": {
|
||||||
"authority": ""
|
"authority": ""
|
||||||
},
|
},
|
||||||
"server-root": ""
|
"server-root": "",
|
||||||
|
"username": {
|
||||||
|
"regex": "^[\\p{L}\\p{M}' \\-]+$"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"license": {
|
"license": {
|
||||||
"file": {
|
"file": {
|
||||||
@ -415,7 +418,8 @@
|
|||||||
"script": ["'self'", "'unsafe-inline'", "'unsafe-eval'"],
|
"script": ["'self'", "'unsafe-inline'", "'unsafe-eval'"],
|
||||||
"style": ["'self'", "'unsafe-inline'"],
|
"style": ["'self'", "'unsafe-inline'"],
|
||||||
"img": ["'self'", "data:", "blob:"],
|
"img": ["'self'", "data:", "blob:"],
|
||||||
"frame": ["'self'"]
|
"frame": ["'self'"],
|
||||||
|
"fonts": ["'self'", "data:"]
|
||||||
},
|
},
|
||||||
"zendesk": {
|
"zendesk": {
|
||||||
"def": ["*.zdassets.com", "*.zopim.com", "*.zendesk.com", "wss:"],
|
"def": ["*.zdassets.com", "*.zopim.com", "*.zendesk.com", "wss:"],
|
||||||
@ -427,8 +431,8 @@
|
|||||||
"def": ["*.googleapis.com"]
|
"def": ["*.googleapis.com"]
|
||||||
},
|
},
|
||||||
"oform": {
|
"oform": {
|
||||||
"img": ["*.onlyoffice.com"],
|
"img": ["static-oforms.teamlab.info"],
|
||||||
"def": ["*.onlyoffice.com"]
|
"def": ["cmsoforms.teamlab.info", "oforms.teamlab.info"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"logocolors": [
|
"logocolors": [
|
||||||
@ -462,6 +466,11 @@
|
|||||||
"region": "us-east-1",
|
"region": "us-east-1",
|
||||||
"logGroupName": "/asc/docspace/cluster/cluster_name/general",
|
"logGroupName": "/asc/docspace/cluster/cluster_name/general",
|
||||||
"logStreamName": "${hostname} - ${applicationContext} - ${date} - ${guid}"
|
"logStreamName": "${hostname} - ${applicationContext} - ${date} - ${guid}"
|
||||||
|
},
|
||||||
|
"dynamoDB": {
|
||||||
|
"accessKeyId": "",
|
||||||
|
"secretAccessKey": "",
|
||||||
|
"region": "us-east-1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,8 +15,6 @@
|
|||||||
"Cleaner":
|
"Cleaner":
|
||||||
{
|
{
|
||||||
"Period":"00:15:00"
|
"Period":"00:15:00"
|
||||||
},
|
}
|
||||||
"ChunkSize": 524288000,
|
|
||||||
"MaxLocalSize": 1048576000
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -113,7 +113,7 @@ server {
|
|||||||
if redis_pass ~= "" then
|
if redis_pass ~= "" then
|
||||||
local res, err = red:auth(redis_pass)
|
local res, err = red:auth(redis_pass)
|
||||||
if not res then
|
if not res then
|
||||||
ngx.log(ngx.ERR, "failed to authenticate: ", err)
|
ngx.log(ngx.INFO, "failed to authenticate: ", err)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -46,12 +46,12 @@
|
|||||||
<logger name="ASC.SQL" minlevel="Debug" writeTo="sql" final="true" />
|
<logger name="ASC.SQL" minlevel="Debug" writeTo="sql" final="true" />
|
||||||
<logger name="ASC*" minlevel="Debug" writeTo="web">
|
<logger name="ASC*" minlevel="Debug" writeTo="web">
|
||||||
<filters defaultAction="Log">
|
<filters defaultAction="Log">
|
||||||
<when condition="equals('${scope-property:RequestPath}', '/health')" action="Ignore" />
|
<when condition="regex-matches('${scope-property:RequestPath}', '^/health/?$', 'ignorecase,singleline')" action="Ignore" />
|
||||||
</filters>
|
</filters>
|
||||||
</logger>
|
</logger>
|
||||||
<logger name="Microsoft.AspNetCore.Hosting.Diagnostics" minlevel="Debug" writeTo="ownFile-web" final="true">
|
<logger name="Microsoft.AspNetCore.Hosting.Diagnostics" minlevel="Debug" writeTo="ownFile-web" final="true">
|
||||||
<filters defaultAction="Log">
|
<filters defaultAction="Log">
|
||||||
<when condition="equals('${scope-property:RequestPath}', '/health')" action="Ignore" />
|
<when condition="regex-matches('${scope-property:RequestPath}', '^/health/?$', 'ignorecase,singleline')" action="Ignore" />
|
||||||
</filters>
|
</filters>
|
||||||
</logger>
|
</logger>
|
||||||
<logger name="Microsoft.*" maxlevel="Off" final="true" />
|
<logger name="Microsoft.*" maxlevel="Off" final="true" />
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
"data": "00000000-0000-0000-0000-000000000000",
|
"data": "00000000-0000-0000-0000-000000000000",
|
||||||
"type": "disc",
|
"type": "disc",
|
||||||
"path": "$STORAGE_ROOT\\Products\\Files\\logos\\{0}",
|
"path": "$STORAGE_ROOT\\Products\\Files\\logos\\{0}",
|
||||||
|
"validatorType": "ASC.Files.Core.VirtualRooms.RoomLogoValidator, ASC.Files.Core",
|
||||||
"domain": [
|
"domain": [
|
||||||
{
|
{
|
||||||
"name": "logos_temp",
|
"name": "logos_temp",
|
||||||
|
97
debuginfo.py
Executable file
97
debuginfo.py
Executable file
@ -0,0 +1,97 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
from git import Repo
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
rd = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
root_dir = os.path.abspath(os.path.join(rd, ".."))
|
||||||
|
|
||||||
|
CLIENT = "client"
|
||||||
|
SERVER = "server"
|
||||||
|
BUILDTOOLS = "buildtools"
|
||||||
|
REPO_CLIENT_URL = f"https://github.com/ONLYOFFICE/DocSpace-client"
|
||||||
|
REPO_SERVER_URL = f"https://github.com/ONLYOFFICE/DocSpace-server"
|
||||||
|
REPO_BUILDTOOLS_URL = f"https://github.com/ONLYOFFICE/DocSpace-buildtools"
|
||||||
|
LIMIT_DAYS = 30
|
||||||
|
MESSAGE_SEPARATOR = '__MESSAGE_SEPARATOR__'
|
||||||
|
SEP = '§'
|
||||||
|
|
||||||
|
# https://git-scm.com/docs/pretty-formats
|
||||||
|
format = f"%H{SEP}%as{SEP}%an{SEP}%s %b{MESSAGE_SEPARATOR}"
|
||||||
|
|
||||||
|
data = {}
|
||||||
|
|
||||||
|
|
||||||
|
def fetchCommits(url, type):
|
||||||
|
path = os.path.join(root_dir, type)
|
||||||
|
#print(path, os.path.exists(path))
|
||||||
|
if os.path.exists(path) == False:
|
||||||
|
print("Error folder does not exists", path)
|
||||||
|
return
|
||||||
|
|
||||||
|
repo = Repo(path)
|
||||||
|
|
||||||
|
info = f"| [DocSpace-{type}]({url}) | [{repo.active_branch.name}]({url}/tree/{repo.active_branch.name}) | [{repo.head.commit}]({url}/commit/{repo.head.commit}) |{os.linesep}"
|
||||||
|
|
||||||
|
commits_str = repo.git.log(f"--pretty=format: {format}", "--no-merges", f"--since={LIMIT_DAYS}.days")
|
||||||
|
#print(commits_str)
|
||||||
|
|
||||||
|
commits = commits_str.strip().split(MESSAGE_SEPARATOR)
|
||||||
|
#print(commits)
|
||||||
|
|
||||||
|
for item in commits:
|
||||||
|
elements = item.replace('\n', '').split(SEP)
|
||||||
|
|
||||||
|
if len(elements) != 4:
|
||||||
|
continue
|
||||||
|
|
||||||
|
hash = elements[0].strip()
|
||||||
|
date = datetime.strptime(elements[1].strip(), "%Y-%m-%d")
|
||||||
|
name = elements[2].strip()
|
||||||
|
text = elements[3].strip().capitalize()
|
||||||
|
|
||||||
|
if date not in data:
|
||||||
|
data[date] = {}
|
||||||
|
|
||||||
|
if name not in data[date]:
|
||||||
|
data[date][name] = []
|
||||||
|
|
||||||
|
data[date][name].append(f"- [{type}]: {text} [`{hash[0:7]}`]({url}/commit/{hash})")
|
||||||
|
|
||||||
|
return info
|
||||||
|
|
||||||
|
result = f"## Changelog{os.linesep}"
|
||||||
|
|
||||||
|
result += f"| Repo | Branch | Last Commit |{os.linesep}"
|
||||||
|
result += f"| :- | :- | :- |{os.linesep}"
|
||||||
|
|
||||||
|
result += fetchCommits(REPO_CLIENT_URL, CLIENT)
|
||||||
|
result += fetchCommits(REPO_SERVER_URL, SERVER)
|
||||||
|
result += fetchCommits(REPO_BUILDTOOLS_URL, BUILDTOOLS)
|
||||||
|
|
||||||
|
# Create debuginfo.md content
|
||||||
|
for date in sorted(data, reverse=True):
|
||||||
|
niceDate = date.strftime("%d %B %Y")
|
||||||
|
result += f"### {niceDate}{os.linesep}"
|
||||||
|
for name in sorted(data[date]):
|
||||||
|
result += f"#### {name}{os.linesep}"
|
||||||
|
for commit in data[date][name]:
|
||||||
|
result += f"{commit}{os.linesep}"
|
||||||
|
|
||||||
|
print(result)
|
||||||
|
|
||||||
|
pathMD = os.path.join(root_dir, CLIENT, "public/debuginfo.md")
|
||||||
|
# Open text file in write mode
|
||||||
|
text_file = open(pathMD, "w")
|
||||||
|
|
||||||
|
# Write content to file
|
||||||
|
n = text_file.write(result)
|
||||||
|
|
||||||
|
if n == len(result):
|
||||||
|
print("Success! String written to text file.")
|
||||||
|
else:
|
||||||
|
print("Failure! String not written to text file.")
|
||||||
|
|
||||||
|
# Close file
|
||||||
|
text_file.close()
|
@ -491,9 +491,9 @@ while [ "$1" != "" ]; do
|
|||||||
echo " -ies, --installelastic install or update elasticsearch (true|false)"
|
echo " -ies, --installelastic install or update elasticsearch (true|false)"
|
||||||
echo " -espr, --elasticprotocol the protocol for the connection to elasticsearch (default value http)"
|
echo " -espr, --elasticprotocol the protocol for the connection to elasticsearch (default value http)"
|
||||||
echo " -esh, --elastichost the IP address or hostname of the elasticsearch"
|
echo " -esh, --elastichost the IP address or hostname of the elasticsearch"
|
||||||
echo " -esp, --elasticport elasticsearch port number (default value 6379)"
|
echo " -esp, --elasticport elasticsearch port number (default value 9200)"
|
||||||
echo " -rdsh, --redishost the IP address or hostname of the redis server"
|
echo " -rdsh, --redishost the IP address or hostname of the redis server"
|
||||||
echo " -rdsp, --redisport redis server port number (default value 9200)"
|
echo " -rdsp, --redisport redis server port number (default value 6379)"
|
||||||
echo " -rdsu, --redisusername redis user name"
|
echo " -rdsu, --redisusername redis user name"
|
||||||
echo " -rdspass, --redispassword password set for redis account"
|
echo " -rdspass, --redispassword password set for redis account"
|
||||||
echo " -rbth, --rabbitmqhost the IP address or hostname of the rabbitmq server"
|
echo " -rbth, --rabbitmqhost the IP address or hostname of the rabbitmq server"
|
||||||
@ -947,7 +947,7 @@ domain_check () {
|
|||||||
echo "Select 'N' to cancel ${PACKAGE_SYSNAME^^} ${PRODUCT_NAME} installation."
|
echo "Select 'N' to cancel ${PACKAGE_SYSNAME^^} ${PRODUCT_NAME} installation."
|
||||||
if read_continue_installation; then
|
if read_continue_installation; then
|
||||||
if [[ -f "$DOCKER_DAEMON_FILE" ]]; then
|
if [[ -f "$DOCKER_DAEMON_FILE" ]]; then
|
||||||
sed -i '/{/a\ "dns": ["8.8.8.8", "8.8.4.4"],' "$DOCKER_DAEMON_FILE"
|
sed -i 's!{!& "dns": ["8.8.8.8", "8.8.4.4"],!' "$DOCKER_DAEMON_FILE"
|
||||||
else
|
else
|
||||||
echo "{\"dns\": [\"8.8.8.8\", \"8.8.4.4\"]}" | tee "$DOCKER_DAEMON_FILE" >/dev/null
|
echo "{\"dns\": [\"8.8.8.8\", \"8.8.4.4\"]}" | tee "$DOCKER_DAEMON_FILE" >/dev/null
|
||||||
fi
|
fi
|
||||||
|
@ -42,10 +42,11 @@ done
|
|||||||
|
|
||||||
echo "== BACK-END-BUILD =="
|
echo "== BACK-END-BUILD =="
|
||||||
|
|
||||||
cd ${SRC_PATH}
|
cd ${SRC_PATH}/server
|
||||||
dotnet build ASC.Web.slnf ${ARGS}
|
dotnet build ASC.Web.slnf ${ARGS}
|
||||||
dotnet build ASC.Migrations.sln -o ${SRC_PATH}/ASC.Migration.Runner/service/
|
dotnet build ASC.Migrations.sln -o ${SRC_PATH}/server/ASC.Migration.Runner/service/
|
||||||
|
|
||||||
|
cd ${SRC_PATH}/client
|
||||||
# Array of names backend services in directory common (Nodejs)
|
# Array of names backend services in directory common (Nodejs)
|
||||||
services_name_backend_nodejs=()
|
services_name_backend_nodejs=()
|
||||||
services_name_backend_nodejs+=(ASC.Socket.IO)
|
services_name_backend_nodejs+=(ASC.Socket.IO)
|
||||||
@ -54,5 +55,5 @@ services_name_backend_nodejs+=(ASC.SsoAuth)
|
|||||||
# Build backend services (Nodejs)
|
# Build backend services (Nodejs)
|
||||||
for i in ${!services_name_backend_nodejs[@]}; do
|
for i in ${!services_name_backend_nodejs[@]}; do
|
||||||
echo "== Build ${services_name_backend_nodejs[$i]} project =="
|
echo "== Build ${services_name_backend_nodejs[$i]} project =="
|
||||||
yarn install --cwd common/${services_name_backend_nodejs[$i]} --frozen-lockfile
|
yarn install --cwd ${SRC_PATH}/server/common/${services_name_backend_nodejs[$i]} --frozen-lockfile
|
||||||
done
|
done
|
||||||
|
@ -57,10 +57,12 @@ done
|
|||||||
echo "== FRONT-END-BUILD =="
|
echo "== FRONT-END-BUILD =="
|
||||||
|
|
||||||
cd ${SRC_PATH}
|
cd ${SRC_PATH}
|
||||||
yarn install
|
|
||||||
# debug config
|
# debug config
|
||||||
if [ "$DEBUG_INFO" = true ]; then
|
if [ "$DEBUG_INFO" = true ]; then
|
||||||
yarn debug-info
|
pip install -r ${SRC_PATH}/buildtools/requirements.txt
|
||||||
|
python3 ${SRC_PATH}/buildtools/debuginfo.py
|
||||||
fi
|
fi
|
||||||
|
cd ${SRC_PATH}/client
|
||||||
|
yarn install
|
||||||
yarn ${BUILD_ARGS}
|
yarn ${BUILD_ARGS}
|
||||||
yarn ${DEPLOY_ARGS}
|
yarn ${DEPLOY_ARGS}
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
$SRC_PATH=(get-item $PSScriptRoot ).parent.parent.parent.FullName
|
|
||||||
$BUILD_PATH="$SRC_PATH\publish"
|
|
||||||
|
|
||||||
$BACKEND_NODEJS_SERVICES="ASC.Socket.IO","ASC.SsoAuth"
|
|
||||||
$BACKEND_DOTNETCORE_SERVICES="ASC.Files", "ASC.People", "ASC.Data.Backup", "ASC.Files.Service", "ASC.Notify", "ASC.Studio.Notify", "ASC.Web.Api", "ASC.Web.Studio", "ASC.Data.Backup.BackgroundTasks", "ASC.ClearEvents", "ASC.ApiSystem", "ASC.Web.HealthChecks.UI"
|
|
||||||
$SELF_CONTAINED="false"
|
|
||||||
$PUBLISH_CNF="Debug"
|
|
||||||
|
|
||||||
$FRONTEND_BUILD_ARGS="build"
|
|
||||||
$FRONTEND_DEPLOY_ARGS="deploy"
|
|
||||||
$DEBUG_INFO_CHECK=""
|
|
||||||
$MIGRATION_CHECK="true"
|
|
||||||
$DOCKER_ENTRYPOINT="$SRC_PATH\buildtools\install\docker\docker-entrypoint.py"
|
|
||||||
|
|
||||||
if(Test-Path -Path "$BUILD_PATH\services" ){
|
|
||||||
Write-Host "== Clean up services ==" -ForegroundColor Green
|
|
||||||
Remove-Item "$BUILD_PATH\services" -Recurse
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "== Build ASC.Web.slnf ==" -ForegroundColor Green
|
|
||||||
dotnet build "$SRC_PATH\server\ASC.Web.slnf"
|
|
||||||
|
|
||||||
Write-Host "== Build ASC.Migrations.sln ==" -ForegroundColor Green
|
|
||||||
dotnet build "$SRC_PATH\server\ASC.Migrations.sln" -o "$BUILD_PATH\services\ASC.Migration.Runner\service\"
|
|
||||||
|
|
||||||
Write-Host "== Add docker-migration-entrypoint.sh to ASC.Migration.Runner ==" -ForegroundColor Green
|
|
||||||
$FilePath = "$BUILD_PATH\services\ASC.Migration.Runner\service\docker-migration-entrypoint.sh"
|
|
||||||
Get-Content "$SRC_PATH\buildtools\install\docker\docker-migration-entrypoint.sh" -raw | % {$_ -replace "`r", ""} | Set-Content -NoNewline $FilePath
|
|
||||||
|
|
||||||
foreach ($SERVICE in $BACKEND_NODEJS_SERVICES)
|
|
||||||
{
|
|
||||||
Write-Host "== Build $SERVICE project ==" -ForegroundColor Green
|
|
||||||
yarn install --cwd "$SRC_PATH\server\common\$SERVICE" --frozen-lockfile
|
|
||||||
|
|
||||||
$DST = "$BUILD_PATH\services\$SERVICE\service\"
|
|
||||||
|
|
||||||
if(!(Test-Path -Path $DST )){
|
|
||||||
New-Item -ItemType "directory" -Path $DST
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "== Copy service data to `publish\services\${SERVICE}\service` ==" -ForegroundColor Green
|
|
||||||
Copy-Item -Path "$SRC_PATH\server\common\$SERVICE\*" -Destination $DST -Recurse
|
|
||||||
Write-Host "== Add docker-entrypoint.py to $SERVICE ==" -ForegroundColor Green
|
|
||||||
Copy-Item $DOCKER_ENTRYPOINT -Destination $DST
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "== Publish ASC.Web.slnf ==" -ForegroundColor Green
|
|
||||||
dotnet publish "$SRC_PATH\server\ASC.Web.slnf" -p "PublishProfile=FolderProfile"
|
|
||||||
|
|
||||||
Set-Location -Path $PSScriptRoot
|
|
||||||
|
|
||||||
foreach ($SERVICE in $BACKEND_DOTNETCORE_SERVICES)
|
|
||||||
{
|
|
||||||
Write-Host "== Add docker-entrypoint.py to $SERVICE ==" -ForegroundColor Green
|
|
||||||
$DST = "$BUILD_PATH\services\$SERVICE\service\"
|
|
||||||
Copy-Item $DOCKER_ENTRYPOINT -Destination $DST
|
|
||||||
}
|
|
87
install/common/build-services.py
Executable file
87
install/common/build-services.py
Executable file
@ -0,0 +1,87 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import stat
|
||||||
|
import subprocess
|
||||||
|
import shutil
|
||||||
|
import time
|
||||||
|
|
||||||
|
SRC_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
|
||||||
|
BUILD_PATH = os.path.join(SRC_PATH, "publish")
|
||||||
|
|
||||||
|
print(f"SRC_PATH = {SRC_PATH}")
|
||||||
|
print(f"BUILD_PATH = {BUILD_PATH}")
|
||||||
|
|
||||||
|
BACKEND_NODEJS_SERVICES = ["ASC.Socket.IO", "ASC.SsoAuth"]
|
||||||
|
BACKEND_DOTNETCORE_SERVICES = ["ASC.Files", "ASC.People", "ASC.Data.Backup", "ASC.Files.Service", "ASC.Notify", "ASC.Studio.Notify", "ASC.Web.Api", "ASC.Web.Studio", "ASC.Data.Backup.BackgroundTasks", "ASC.ClearEvents", "ASC.ApiSystem", "ASC.Web.HealthChecks.UI"]
|
||||||
|
|
||||||
|
DOCKER_ENTRYPOINT="docker-entrypoint.py"
|
||||||
|
DOCKER_ENTRYPOINT_PATH = os.path.join(SRC_PATH, "buildtools", "install", "docker", DOCKER_ENTRYPOINT)
|
||||||
|
|
||||||
|
if os.path.exists(os.path.join(BUILD_PATH, "services")):
|
||||||
|
print("== Clean up services ==")
|
||||||
|
shutil.rmtree(os.path.join(BUILD_PATH, "services"))
|
||||||
|
|
||||||
|
print("== Build ASC.Web.slnf ==")
|
||||||
|
subprocess.run(["dotnet", "build", os.path.join(SRC_PATH, "server", "ASC.Web.slnf")])
|
||||||
|
|
||||||
|
print("== Build ASC.Migrations.sln ==")
|
||||||
|
subprocess.run(["dotnet", "build", os.path.join(SRC_PATH, "server", "ASC.Migrations.sln"), "-o", os.path.join(BUILD_PATH, "services", "ASC.Migration.Runner", "service")])
|
||||||
|
|
||||||
|
print("== Add docker-migration-entrypoint.sh to ASC.Migration.Runner ==")
|
||||||
|
file_path = os.path.join(BUILD_PATH, "services", "ASC.Migration.Runner", "service", "docker-migration-entrypoint.sh")
|
||||||
|
src_file_path = os.path.join(SRC_PATH, "buildtools", "install", "docker", "docker-migration-entrypoint.sh")
|
||||||
|
|
||||||
|
WINDOWS_LINE_ENDING = b'\r\n'
|
||||||
|
UNIX_LINE_ENDING = b'\n'
|
||||||
|
|
||||||
|
with open(src_file_path, 'rb') as open_file:
|
||||||
|
content = open_file.read()
|
||||||
|
|
||||||
|
content = content.replace(WINDOWS_LINE_ENDING, UNIX_LINE_ENDING)
|
||||||
|
|
||||||
|
with open(file_path, 'wb') as open_file:
|
||||||
|
open_file.write(content)
|
||||||
|
|
||||||
|
st = os.stat(file_path)
|
||||||
|
os.chmod(file_path, st.st_mode | stat.S_IEXEC)
|
||||||
|
|
||||||
|
format = "zip"
|
||||||
|
|
||||||
|
for service in BACKEND_NODEJS_SERVICES:
|
||||||
|
print(f"== Build {service} project ==")
|
||||||
|
src = os.path.join(SRC_PATH, "server", "common", service)
|
||||||
|
subprocess.run(["yarn", "install"], cwd=src, shell=True)
|
||||||
|
|
||||||
|
dst = os.path.join(BUILD_PATH, "services", service, "service")
|
||||||
|
if not os.path.exists(dst):
|
||||||
|
os.makedirs(dst, exist_ok=True)
|
||||||
|
|
||||||
|
archive_src = os.path.join(SRC_PATH, "server", "common", service, f"service.{format}")
|
||||||
|
archive = os.path.join(BUILD_PATH, "services", service, f"service.{format}")
|
||||||
|
|
||||||
|
print("Make service archive", archive_src)
|
||||||
|
start = time.time()
|
||||||
|
shutil.make_archive(root_dir=src, format=format, base_name=dst)
|
||||||
|
end = time.time()
|
||||||
|
print(f"Took {(end-start)*1000.0} ms")
|
||||||
|
|
||||||
|
print("Unpack service archive", archive)
|
||||||
|
start = time.time()
|
||||||
|
shutil.unpack_archive(archive, dst)
|
||||||
|
end = time.time()
|
||||||
|
print(f"Took {(end-start)*1000.0} ms")
|
||||||
|
|
||||||
|
print("Remove service archive", archive)
|
||||||
|
os.remove(archive)
|
||||||
|
|
||||||
|
print(f"== Add docker-entrypoint.py to {service}")
|
||||||
|
shutil.copyfile(DOCKER_ENTRYPOINT_PATH, os.path.join(dst, DOCKER_ENTRYPOINT))
|
||||||
|
|
||||||
|
print("== Publish ASC.Web.slnf ==")
|
||||||
|
subprocess.run(["dotnet", "publish", os.path.join(SRC_PATH, "server", "ASC.Web.slnf"), "-p", "PublishProfile=FolderProfile"])
|
||||||
|
|
||||||
|
for service in BACKEND_DOTNETCORE_SERVICES:
|
||||||
|
print(f"== Add {DOCKER_ENTRYPOINT} to {service}")
|
||||||
|
dst = os.path.join(BUILD_PATH, "services", service, "service")
|
||||||
|
shutil.copyfile(DOCKER_ENTRYPOINT_PATH, os.path.join(dst, DOCKER_ENTRYPOINT))
|
@ -50,6 +50,7 @@ override_dh_auto_build:
|
|||||||
sed 's_\(minlevel=\)"[^"]*"_\1"Warn"_g' -i ${SRC_PATH}/config/nlog.config
|
sed 's_\(minlevel=\)"[^"]*"_\1"Warn"_g' -i ${SRC_PATH}/config/nlog.config
|
||||||
|
|
||||||
sed 's_etc/nginx_etc/openresty_g' -i ${SRC_PATH}/config/nginx/*.conf
|
sed 's_etc/nginx_etc/openresty_g' -i ${SRC_PATH}/config/nginx/*.conf
|
||||||
|
sed -i 's_$public_root_/var/www/%{product}/public/_' config/nginx/onlyoffice.conf
|
||||||
sed 's/teamlab.info/onlyoffice.com/g' -i ${SRC_PATH}/config/autofac.consumers.json
|
sed 's/teamlab.info/onlyoffice.com/g' -i ${SRC_PATH}/config/autofac.consumers.json
|
||||||
json -I -f ${SRC_PATH}/client/public/scripts/config.json -e "this.wrongPortalNameUrl=\"\""
|
json -I -f ${SRC_PATH}/client/public/scripts/config.json -e "this.wrongPortalNameUrl=\"\""
|
||||||
sed -e 's/$$router_host/127.0.0.1/g' -e 's/the_host/host/g' -e 's/the_scheme/scheme/g' -e 's_includes_/etc/openresty/includes_g' -i ${SRC_PATH}/buildtools/install/docker/config/nginx/onlyoffice-proxy*.conf
|
sed -e 's/$$router_host/127.0.0.1/g' -e 's/the_host/host/g' -e 's/the_scheme/scheme/g' -e 's_includes_/etc/openresty/includes_g' -i ${SRC_PATH}/buildtools/install/docker/config/nginx/onlyoffice-proxy*.conf
|
||||||
|
@ -28,6 +28,7 @@ RUN apt-get -y update && \
|
|||||||
sudo \
|
sudo \
|
||||||
locales \
|
locales \
|
||||||
git \
|
git \
|
||||||
|
python3-pip \
|
||||||
npm && \
|
npm && \
|
||||||
locale-gen en_US.UTF-8 && \
|
locale-gen en_US.UTF-8 && \
|
||||||
npm install --global yarn && \
|
npm install --global yarn && \
|
||||||
@ -54,8 +55,8 @@ RUN cd ${SRC_PATH} && \
|
|||||||
sed -i "s/\"number\".*,/\"number\": \"${PRODUCT_VERSION}.${BUILD_NUMBER}\",/g" /app/onlyoffice/config/appsettings.json && \
|
sed -i "s/\"number\".*,/\"number\": \"${PRODUCT_VERSION}.${BUILD_NUMBER}\",/g" /app/onlyoffice/config/appsettings.json && \
|
||||||
sed -e 's/#//' -i /etc/nginx/conf.d/onlyoffice.conf && \
|
sed -e 's/#//' -i /etc/nginx/conf.d/onlyoffice.conf && \
|
||||||
cd ${SRC_PATH}/buildtools/install/common/ && \
|
cd ${SRC_PATH}/buildtools/install/common/ && \
|
||||||
bash build-frontend.sh -sp "${SRC_PATH}/client" -ba "${BUILD_ARGS}" -da "${DEPLOY_ARGS}" -di "${DEBUG_INFO}" && \
|
bash build-frontend.sh -sp "${SRC_PATH}" -ba "${BUILD_ARGS}" -da "${DEPLOY_ARGS}" -di "${DEBUG_INFO}" && \
|
||||||
bash build-backend.sh -sp "${SRC_PATH}/server" && \
|
bash build-backend.sh -sp "${SRC_PATH}" && \
|
||||||
bash publish-backend.sh -pc "${PUBLISH_CNF}" -sp "${SRC_PATH}/server" -bp "${BUILD_PATH}" && \
|
bash publish-backend.sh -pc "${PUBLISH_CNF}" -sp "${SRC_PATH}/server" -bp "${BUILD_PATH}" && \
|
||||||
cp -rf ${SRC_PATH}/server/products/ASC.Files/Server/DocStore ${BUILD_PATH}/products/ASC.Files/server/ && \
|
cp -rf ${SRC_PATH}/server/products/ASC.Files/Server/DocStore ${BUILD_PATH}/products/ASC.Files/server/ && \
|
||||||
rm -rf ${SRC_PATH}/server/common/* && \
|
rm -rf ${SRC_PATH}/server/common/* && \
|
||||||
@ -311,7 +312,7 @@ WORKDIR ${BUILD_PATH}/studio/ASC.Web.Studio/
|
|||||||
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
|
COPY --chown=onlyoffice:onlyoffice docker-entrypoint.py ./docker-entrypoint.py
|
||||||
COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Web.Studio/service/ .
|
COPY --from=base --chown=onlyoffice:onlyoffice ${BUILD_PATH}/services/ASC.Web.Studio/service/ .
|
||||||
|
|
||||||
CMD ["ASC.Web.Studio.dll", "ASC.Web.Studio"]
|
CMD ["ASC.Web.Studio.dll", "ASC.Web.Studio", "core:eventBus:subscriptionClientName=asc_event_bus_webstudio_queue"]
|
||||||
|
|
||||||
## ASC.Web.HealthChecks.UI ##
|
## ASC.Web.HealthChecks.UI ##
|
||||||
FROM dotnetrun AS healthchecks
|
FROM dotnetrun AS healthchecks
|
||||||
|
@ -31,6 +31,7 @@ STUDIO_NOTIFY_HOST=${STUDIO_NOTIFY_HOST:-"${CONTAINER_PREFIX}studio-notify:${SER
|
|||||||
API_HOST=${API_HOST:-"${CONTAINER_PREFIX}api:${SERVICE_PORT}"}
|
API_HOST=${API_HOST:-"${CONTAINER_PREFIX}api:${SERVICE_PORT}"}
|
||||||
STUDIO_HOST=${STUDIO_HOST:-"${CONTAINER_PREFIX}studio:${SERVICE_PORT}"}
|
STUDIO_HOST=${STUDIO_HOST:-"${CONTAINER_PREFIX}studio:${SERVICE_PORT}"}
|
||||||
|
|
||||||
|
sed -i "/\"Name\": \"ASC.ApiCache\"/,/{/d" ${PATH_TO_CONF}/appsettings.json
|
||||||
sed -i "s!localhost:5010!${API_SYSTEM_HOST}!g" ${PATH_TO_CONF}/appsettings.json
|
sed -i "s!localhost:5010!${API_SYSTEM_HOST}!g" ${PATH_TO_CONF}/appsettings.json
|
||||||
sed -i "s!localhost:5012!${BACKUP_HOST}!g" ${PATH_TO_CONF}/appsettings.json
|
sed -i "s!localhost:5012!${BACKUP_HOST}!g" ${PATH_TO_CONF}/appsettings.json
|
||||||
sed -i "s!localhost:5032!${BACKUP_BACKGRUOND_TASKS_HOST}!g" ${PATH_TO_CONF}/appsettings.json
|
sed -i "s!localhost:5032!${BACKUP_BACKGRUOND_TASKS_HOST}!g" ${PATH_TO_CONF}/appsettings.json
|
||||||
|
@ -26,6 +26,7 @@ sed 's_\(minlevel=\)"[^"]*"_\1"Warn"_g' -i config/nlog.config
|
|||||||
sed 's/teamlab.info/onlyoffice.com/g' -i config/autofac.consumers.json
|
sed 's/teamlab.info/onlyoffice.com/g' -i config/autofac.consumers.json
|
||||||
|
|
||||||
sed 's_etc/nginx_etc/openresty_g' -i config/nginx/*.conf
|
sed 's_etc/nginx_etc/openresty_g' -i config/nginx/*.conf
|
||||||
|
sed -i 's_$public_root_/var/www/%{product}/public/_' config/nginx/onlyoffice.conf
|
||||||
sed -e 's/$router_host/127.0.0.1/g' -e 's/the_host/host/g' -e 's/the_scheme/scheme/g' -e 's_includes_/etc/openresty/includes_g' -i install/docker/config/nginx/onlyoffice-proxy*.conf
|
sed -e 's/$router_host/127.0.0.1/g' -e 's/the_host/host/g' -e 's/the_scheme/scheme/g' -e 's_includes_/etc/openresty/includes_g' -i install/docker/config/nginx/onlyoffice-proxy*.conf
|
||||||
sed -e '/.pid/d' -e '/temp_path/d' -e 's_etc/nginx_etc/openresty_g' -e 's/\.log/-openresty.log/g' -i install/docker/config/nginx/templates/nginx.conf.template
|
sed -e '/.pid/d' -e '/temp_path/d' -e 's_etc/nginx_etc/openresty_g' -e 's/\.log/-openresty.log/g' -i install/docker/config/nginx/templates/nginx.conf.template
|
||||||
sed -i "s_\(.*root\).*;_\1 \"/var/www/%{product}\";_g" -i install/docker/config/nginx/letsencrypt.conf
|
sed -i "s_\(.*root\).*;_\1 \"/var/www/%{product}\";_g" -i install/docker/config/nginx/letsencrypt.conf
|
||||||
|
@ -1079,7 +1079,7 @@
|
|||||||
<ROW Action="SET_SHORTCUTDIR" Type="307" Source="SHORTCUTDIR" Target="[ProgramMenuFolder][ProductName]" MultiBuildTarget="DefaultBuild:[ProgramMenuFolder][INSTALL_ROOT_FOLDER_NAME]\DocSpace#ExeBuild:[ProgramMenuFolder][INSTALL_ROOT_FOLDER_NAME]\DocSpace"/>
|
<ROW Action="SET_SHORTCUTDIR" Type="307" Source="SHORTCUTDIR" Target="[ProgramMenuFolder][ProductName]" MultiBuildTarget="DefaultBuild:[ProgramMenuFolder][INSTALL_ROOT_FOLDER_NAME]\DocSpace#ExeBuild:[ProgramMenuFolder][INSTALL_ROOT_FOLDER_NAME]\DocSpace"/>
|
||||||
<ROW Action="SET_TARGETDIR_TO_APPDIR" Type="51" Source="TARGETDIR" Target="[APPDIR]"/>
|
<ROW Action="SET_TARGETDIR_TO_APPDIR" Type="51" Source="TARGETDIR" Target="[APPDIR]"/>
|
||||||
<ROW Action="SetDocumentServerJWTSecretProp" Type="6" Source="utils.vbs" Target="SetDocumentServerJWTSecretProp"/>
|
<ROW Action="SetDocumentServerJWTSecretProp" Type="6" Source="utils.vbs" Target="SetDocumentServerJWTSecretProp"/>
|
||||||
<ROW Action="SetMACHINEKEY" Type="6" Source="utils.vbs" Target="SetMACHINEKEY"/>
|
<ROW Action="SetMACHINEKEY" Type="262" Source="utils.vbs" Target="SetMACHINEKEY"/>
|
||||||
<ROW Action="SetSERVERNAME" Type="51" Source="SERVER_NAME" Target="[ComputerName]"/>
|
<ROW Action="SetSERVERNAME" Type="51" Source="SERVER_NAME" Target="[ComputerName]"/>
|
||||||
<ROW Action="Set_APPDIR_FORWARD_SLASH" Type="38" Target="Script Text" TargetUnformatted="Session.Property("APPDIR_FORWARD_SLASH") = Replace(Session.Property("APPDIR"), "\", "/") " AdditionalSeq="AI_DATA_SETTER_6"/>
|
<ROW Action="Set_APPDIR_FORWARD_SLASH" Type="38" Target="Script Text" TargetUnformatted="Session.Property("APPDIR_FORWARD_SLASH") = Replace(Session.Property("APPDIR"), "\", "/") " AdditionalSeq="AI_DATA_SETTER_6"/>
|
||||||
<ROW Action="Set_DS_JWT_ENABLED" Type="51" Source="DOCUMENT_SERVER_JWT_ENABLED" Target="[JWT_ENABLED]"/>
|
<ROW Action="Set_DS_JWT_ENABLED" Type="51" Source="DOCUMENT_SERVER_JWT_ENABLED" Target="[JWT_ENABLED]"/>
|
||||||
@ -1254,7 +1254,6 @@
|
|||||||
<ROW Action="StartMySQLService" Condition="( NOT Installed AND NOT OLDPRODUCTS ) AND ( AI_PROCESS_STATE <> "Not Found" )" Sequence="1613"/>
|
<ROW Action="StartMySQLService" Condition="( NOT Installed AND NOT OLDPRODUCTS ) AND ( AI_PROCESS_STATE <> "Not Found" )" Sequence="1613"/>
|
||||||
<ROW Action="AI_DATA_SETTER_11" Condition="( NOT Installed AND NOT OLDPRODUCTS ) AND ( AI_PROCESS_STATE <> "Not Found" )" Sequence="1612"/>
|
<ROW Action="AI_DATA_SETTER_11" Condition="( NOT Installed AND NOT OLDPRODUCTS ) AND ( AI_PROCESS_STATE <> "Not Found" )" Sequence="1612"/>
|
||||||
<ROW Action="StartMigrationRunner" Condition="( NOT Installed )" Sequence="5826"/>
|
<ROW Action="StartMigrationRunner" Condition="( NOT Installed )" Sequence="5826"/>
|
||||||
<ROW Action="SetMACHINEKEY" Condition="( ( NOT Installed ) OR ( Installed AND REMOVE <> "ALL" AND AI_INSTALL_MODE <> "Remove" ) ) AND ( MACHINE_KEY = " " )" Sequence="1605"/>
|
|
||||||
<ROW Action="AI_DETECT_MODERNWIN" Condition="(VersionNT >= 603)" Sequence="55" MsiKey="AI_DETECT_MODERNWIN"/>
|
<ROW Action="AI_DETECT_MODERNWIN" Condition="(VersionNT >= 603)" Sequence="55" MsiKey="AI_DETECT_MODERNWIN"/>
|
||||||
<ROW Action="AI_ResolveLocalizedCredentials" Sequence="51"/>
|
<ROW Action="AI_ResolveLocalizedCredentials" Sequence="51"/>
|
||||||
<ROW Action="MySQLConfigure" Condition="( NOT Installed )" Sequence="1606"/>
|
<ROW Action="MySQLConfigure" Condition="( NOT Installed )" Sequence="1606"/>
|
||||||
@ -1309,6 +1308,7 @@
|
|||||||
<ROW Action="PostgreSQLConfigure" Condition="( NOT Installed )" Sequence="1102"/>
|
<ROW Action="PostgreSQLConfigure" Condition="( NOT Installed )" Sequence="1102"/>
|
||||||
<ROW Action="AI_PRESERVE_INSTALL_TYPE" Sequence="199"/>
|
<ROW Action="AI_PRESERVE_INSTALL_TYPE" Sequence="199"/>
|
||||||
<ROW Action="AI_RestartElevated" Sequence="51" Builds="ExeBuild"/>
|
<ROW Action="AI_RestartElevated" Sequence="51" Builds="ExeBuild"/>
|
||||||
|
<ROW Action="SetMACHINEKEY" Condition="( ( NOT Installed ) OR ( Installed AND REMOVE <> "ALL" AND AI_INSTALL_MODE <> "Remove" ) ) AND ( MACHINE_KEY = " " )" Sequence="1107"/>
|
||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.MsiLaunchConditionsComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.MsiLaunchConditionsComponent">
|
||||||
<ROW Condition="( Version9X OR ( NOT VersionNT64 ) OR ( VersionNT64 AND ((VersionNT64 <> 600) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 600) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 601) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 601) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 602) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 602) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 603) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 603) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 1000) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 1100) OR (MsiNTProductType <> 1)) ) )" Description="[ProductName] cannot be installed on the following Windows versions: [WindowsTypeNT64Display]." DescriptionLocId="AI.LaunchCondition.NoSpecificNT64" IsPredefined="true" Builds="DefaultBuild;ExeBuild"/>
|
<ROW Condition="( Version9X OR ( NOT VersionNT64 ) OR ( VersionNT64 AND ((VersionNT64 <> 600) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 600) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 601) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 601) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 602) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 602) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 603) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 603) OR (MsiNTProductType = 1)) AND ((VersionNT64 <> 1000) OR (MsiNTProductType <> 1)) AND ((VersionNT64 <> 1100) OR (MsiNTProductType <> 1)) ) )" Description="[ProductName] cannot be installed on the following Windows versions: [WindowsTypeNT64Display]." DescriptionLocId="AI.LaunchCondition.NoSpecificNT64" IsPredefined="true" Builds="DefaultBuild;ExeBuild"/>
|
||||||
@ -1566,38 +1566,38 @@
|
|||||||
</COMPONENT>
|
</COMPONENT>
|
||||||
<COMPONENT cid="caphyon.advinst.msicomp.PreReqComponent">
|
<COMPONENT cid="caphyon.advinst.msicomp.PreReqComponent">
|
||||||
<ROW PrereqKey="A918597FE054CCCB65ABDBA0AD8F63C" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x86" VersionMin="14.26" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/d60aa805-26e9-47df-b4e3-cd6fcc392333/A06AAC66734A618AB33C1522920654DDFC44FC13CAFAA0F0AB85B199C3D51DC0/VC_redist.x86.exe" Location="1" ExactSize="14413048" WinNTVersions="Windows Vista RTM x86, Windows Vista SP1 x86, Windows Server 2008 RTM x86, Windows 7 RTM x86" WinNT64Versions="Windows Vista RTM x64, Windows Vista SP1 x64, Windows Server 2008 RTM x64, Windows 7 RTM x64, Windows Server 2008 R2 RTM x64" Operator="0" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" MD5="fe6eae1c34528d1ea224569dcdc35618" TargetName="Visual C++ Redistributable for Visual Studio 2015-2019" Builds="DefaultBuild"/>
|
<ROW PrereqKey="A918597FE054CCCB65ABDBA0AD8F63C" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x86" VersionMin="14.26" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/d60aa805-26e9-47df-b4e3-cd6fcc392333/A06AAC66734A618AB33C1522920654DDFC44FC13CAFAA0F0AB85B199C3D51DC0/VC_redist.x86.exe" Location="1" ExactSize="14413048" WinNTVersions="Windows Vista RTM x86, Windows Vista SP1 x86, Windows Server 2008 RTM x86, Windows 7 RTM x86" WinNT64Versions="Windows Vista RTM x64, Windows Vista SP1 x64, Windows Server 2008 RTM x64, Windows 7 RTM x64, Windows Server 2008 R2 RTM x64" Operator="0" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" MD5="fe6eae1c34528d1ea224569dcdc35618" TargetName="Visual C++ Redistributable for Visual Studio 2015-2019" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="B96F93FA27E74B02866727AAE83982D0" DisplayName=".NET Framework 4.8" VersionMin="4.8" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0fd66638cde16859462a6243a4629a50/ndp48-x86-x64-allos-enu.exe" Location="1" ExactSize="117380440" WinNTVersions="Windows Vista x86, Windows Server 2008 x86, Windows 7 RTM x86, Windows 8 x86, Windows 10 version 1507 x86, Windows 10 version 1511 x86, Windows 10 version 1903 x86, Windows 10 version 1909 x86, Windows 10 version 2004 x86, Windows 10 version 20H2 x86, Windows 10 version 21H1 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 RTM x64, Windows Server 2008 R2 RTM x64, Windows 8 x64, Windows 10 version 1507 x64, Windows 10 version 1511 x64, Windows 10 version 1903 x64, Windows 10 version 1909 x64, Windows 10 version 2004 x64, Windows 10 version 20H2 x64, Windows 10 version 21H1 x64" Operator="1" ComLine="/q /promptrestart" BasicUiComLine="/q /promptrestart" NoUiComLine="/q /promptrestart" Options="xym" MD5="aebcb9fcafa2becf8bb30458a7e1f0a2" TargetName=".NET Framework 4.8" Builds="DefaultBuild"/>
|
<ROW PrereqKey="B96F93FA27E74B02866727AAE83982D0" DisplayName=".NET Framework 4.8" VersionMin="4.8" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/014120d7-d689-4305-befd-3cb711108212/0fd66638cde16859462a6243a4629a50/ndp48-x86-x64-allos-enu.exe" Location="1" ExactSize="117380440" WinNTVersions="Windows Vista x86, Windows Server 2008 x86, Windows 7 RTM x86, Windows 8 x86, Windows 10 version 1507 x86, Windows 10 version 1511 x86, Windows 10 version 1903 x86, Windows 10 version 1909 x86, Windows 10 version 2004 x86, Windows 10 version 20H2 x86, Windows 10 version 21H1 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 RTM x64, Windows Server 2008 R2 RTM x64, Windows 8 x64, Windows 10 version 1507 x64, Windows 10 version 1511 x64, Windows 10 version 1903 x64, Windows 10 version 1909 x64, Windows 10 version 2004 x64, Windows 10 version 20H2 x64, Windows 10 version 21H1 x64" Operator="1" ComLine="/q /promptrestart" BasicUiComLine="/q /promptrestart" NoUiComLine="/q /promptrestart" Options="ym" MD5="aebcb9fcafa2becf8bb30458a7e1f0a2" TargetName=".NET Framework 4.8" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="C4FE6FD5B7C4D07B3A313E754A9A6A8" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x64" VersionMin="14.26" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/d60aa805-26e9-47df-b4e3-cd6fcc392333/7D7105C52FCD6766BEEE1AE162AA81E278686122C1E44890712326634D0B055E/VC_redist.x64.exe" Location="1" ExactSize="14974616" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista RTM x64, Windows Vista SP1 x64, Windows Server 2008 RTM x64, Windows 7 RTM x64, Windows Server 2008 R2 RTM x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="xym" MD5="264c296cc0bf00db6ba8e7bf8cc4e706" TargetName="Visual C++ Redistributable for Visual Studio 2015-2019" Builds="DefaultBuild"/>
|
<ROW PrereqKey="C4FE6FD5B7C4D07B3A313E754A9A6A8" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x64" VersionMin="14.26" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/d60aa805-26e9-47df-b4e3-cd6fcc392333/7D7105C52FCD6766BEEE1AE162AA81E278686122C1E44890712326634D0B055E/VC_redist.x64.exe" Location="1" ExactSize="14974616" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista RTM x64, Windows Vista SP1 x64, Windows Server 2008 RTM x64, Windows 7 RTM x64, Windows Server 2008 R2 RTM x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="xym" MD5="264c296cc0bf00db6ba8e7bf8cc4e706" TargetName="Visual C++ Redistributable for Visual Studio 2015-2019" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="CA62D813A4E74FA2AAE86A7D7B7B1493" DisplayName="Visual C++ Redistributable for Visual Studio 2013 Update 5 x64" VersionMin="12.0" SetupFileUrl="http://download.microsoft.com/download/C/C/2/CC2DF5F8-4454-44B4-802D-5EA68D086676/vcredist_x64.exe" Location="1" ExactSize="7201056" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="xym" MD5="b364dd867258dfc79342e00d57c81bb5" TargetName="Visual C++ Redistributable for Visual Studio 2013?vcredist_2013u5_x64.exe" Builds="DefaultBuild"/>
|
<ROW PrereqKey="CA62D813A4E74FA2AAE86A7D7B7B1493" DisplayName="Visual C++ Redistributable for Visual Studio 2013 Update 5 x64" VersionMin="12.0" SetupFileUrl="http://download.microsoft.com/download/C/C/2/CC2DF5F8-4454-44B4-802D-5EA68D086676/vcredist_x64.exe" Location="1" ExactSize="7201056" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="xym" MD5="b364dd867258dfc79342e00d57c81bb5" TargetName="Visual C++ Redistributable for Visual Studio 2013?vcredist_2013u5_x64.exe" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="Certbot" DisplayName="Certbot" VersionMin="2.6.0" SetupFileUrl="https://github.com/certbot/certbot/releases/download/v2.6.0/certbot-beta-installer-win_amd64_signed.exe" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="Certbot" Builds="DefaultBuild"/>
|
<ROW PrereqKey="Certbot" DisplayName="Certbot v2.6.0" VersionMin="2.6.0" SetupFileUrl="https://github.com/certbot/certbot/releases/download/v2.6.0/certbot-beta-installer-win_amd64_signed.exe" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yxm" TargetName="Certbot" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="DocumentServer" DisplayName="DocumentServer" SetupFileUrl="onlyoffice-documentserver.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" BasicUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" NoUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" Options="fi=" TargetName="onlyoffice-documentserver.exe" Builds="DefaultBuild" Feature="DocumentServer" RepairComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG"/>
|
<ROW PrereqKey="DocumentServer" DisplayName="DocumentServer" SetupFileUrl="onlyoffice-documentserver.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" BasicUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" NoUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" Options="fi=" TargetName="onlyoffice-documentserver.exe" Builds="DefaultBuild" Feature="DocumentServer" RepairComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG"/>
|
||||||
<ROW PrereqKey="DocumentServer.EE" DisplayName="DocumentServer-EE" SetupFileUrl="onlyoffice-documentserver-ee.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" BasicUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" NoUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG" Options="fi=" TargetName="onlyoffice-documentserver-ee.exe" Builds="ExeBuild" Feature="DocumentServer.EE" RepairComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LOG"/>
|
<ROW PrereqKey="DocumentServer.EE" DisplayName="DocumentServer-EE" SetupFileUrl="onlyoffice-documentserver-ee.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LICENSE_PATH="[APPDIR]Data\license.lic" /LOG" BasicUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LICENSE_PATH="[APPDIR]Data\license.lic" /LOG" NoUiComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LICENSE_PATH="[APPDIR]Data\license.lic" /LOG" Options="fi=" TargetName="onlyoffice-documentserver-ee.exe" Builds="ExeBuild" Feature="DocumentServer.EE" RepairComLine="/VERYSILENT /norestart /DIR="[APPDIR]..\DocumentServer" /DS_PORT="[DOCUMENT_SERVER_PORT]" /JWT_ENABLED="[DOCUMENT_SERVER_JWT_ENABLED]" /JWT_SECRET="[DOCUMENT_SERVER_JWT_SECRET]" /JWT_HEADER="[DOCUMENT_SERVER_JWT_HEADER]" /DB_HOST="[PS_DB_HOST]" /DB_USER="[PS_DB_USER]" /DB_PWD="[PS_DB_PWD]" /DB_NAME="[PS_DB_NAME]" /LICENSE_PATH="[APPDIR]Data\license.lic" /LOG"/>
|
||||||
<ROW PrereqKey="EA5B60A5CAD4115A8386D017CC889B9" DisplayName="ASP.NET Core Runtime 7.0.3 x64" VersionMin="7.0" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/d37efccc-2ba1-4fc9-a1ef-a8e1e77fb681/b9a20fc29ff05f18d81620ec88ade699/aspnetcore-runtime-7.0.3-win-x64.exe" Location="1" ExactSize="9562088" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 RTM x64, Windows Server 2008 R2 x64, Windows 8 x64, Windows Server 2012 x64, Windows 10 version 1507 x64, Windows 10 version 1511 x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="xym" MD5="a87c53a62579d43c6e20683ad686c991" TargetName="ASP.NET Core 7.0" Builds="DefaultBuild"/>
|
<ROW PrereqKey="EA5B60A5CAD4115A8386D017CC889B9" DisplayName="ASP.NET Core Runtime 7.0.3 x64" VersionMin="7.0" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/d37efccc-2ba1-4fc9-a1ef-a8e1e77fb681/b9a20fc29ff05f18d81620ec88ade699/aspnetcore-runtime-7.0.3-win-x64.exe" Location="1" ExactSize="9562088" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 RTM x64, Windows Server 2008 R2 x64, Windows 8 x64, Windows Server 2012 x64, Windows 10 version 1507 x64, Windows 10 version 1511 x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="xym" MD5="a87c53a62579d43c6e20683ad686c991" TargetName="ASP.NET Core 7.0" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="Elasticsearch7.16.3" DisplayName="Elasticsearch v7.16.3 x64" VersionMin="7.16.3" SetupFileUrl="redist\elasticsearch-7.16.3.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="Elasticsearch 7.16.3\elasticsearch-7.16.3.msi" Builds="ExeBuild"/>
|
<ROW PrereqKey="Elasticsearch7.16.3" DisplayName="Elasticsearch v7.16.3 x64" VersionMin="7.16.3" SetupFileUrl="redist\elasticsearch-7.16.3.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="Elasticsearch 7.16.3\elasticsearch-7.16.3.msi" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="ErlangOTP" DisplayName="Erlang v26.0.2 x64" VersionMin="26.0.2" SetupFileUrl="redist\otp_win64_26.0.2.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="ErlangOTP\otp_win64_26.0.2.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="ErlangOTP" DisplayName="Erlang v26.0.2 x64" VersionMin="26.0.2" SetupFileUrl="redist\otp_win64_26.0.2.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="ym" TargetName="ErlangOTP\otp_win64_26.0.2.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="Erlangv26.0x64" DisplayName="Erlang v26.0.2 x64" VersionMin="26.0.2" SetupFileUrl="https://github.com/erlang/otp/releases/download/OTP-26.0.2/otp_win64_26.0.2.exe" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="Erlang v26.0 x64" Builds="DefaultBuild"/>
|
<ROW PrereqKey="Erlangv26.0x64" DisplayName="Erlang v26.0.2 x64" VersionMin="26.0.2" SetupFileUrl="https://github.com/erlang/otp/releases/download/OTP-26.0.2/otp_win64_26.0.2.exe" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="ym" TargetName="Erlang v26.0 x64" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="F3520F64DA5998338D97129FAD2" DisplayName=".NET Runtime 7.0.3 x64" VersionMin="7.0" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/c69813b7-2ece-4c2e-8c45-e33006985e18/61cc8fe4693a662b2da55ad932a46446/dotnet-runtime-7.0.3-win-x64.exe" Location="1" ExactSize="28223424" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 RTM x64, Windows Server 2008 R2 x64, Windows 8 x64, Windows Server 2012 x64, Windows 10 version 1507 x64, Windows 10 version 1511 x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" MD5="c9d6796b57a1630d4f004302262c241e" TargetName=".NET 7.0" Builds="DefaultBuild"/>
|
<ROW PrereqKey="F3520F64DA5998338D97129FAD2" DisplayName=".NET Runtime 7.0.3 x64" VersionMin="7.0" SetupFileUrl="https://download.visualstudio.microsoft.com/download/pr/c69813b7-2ece-4c2e-8c45-e33006985e18/61cc8fe4693a662b2da55ad932a46446/dotnet-runtime-7.0.3-win-x64.exe" Location="1" ExactSize="28223424" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 RTM x64, Windows Server 2008 R2 x64, Windows 8 x64, Windows Server 2012 x64, Windows 10 version 1507 x64, Windows 10 version 1511 x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" MD5="c9d6796b57a1630d4f004302262c241e" TargetName=".NET 7.0" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="FFmpegEssentials" DisplayName="FFmpeg x64" VersionMin="6.0.0" SetupFileUrl="redist\FFmpeg_Essentials.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="yx" TargetName="FFmpeg Essentials\FFmpeg_Essentials.msi" Builds="ExeBuild"/>
|
<ROW PrereqKey="FFmpegEssentials" DisplayName="FFmpeg v6.0 x64" VersionMin="6.0.0" SetupFileUrl="redist\FFmpeg_Essentials.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="FFmpeg Essentials\FFmpeg_Essentials.msi" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="FFmpegx64" DisplayName="FFmpeg x64" VersionMin="6.0.0" SetupFileUrl="https://github.com/icedterminal/ffmpeg-installer/releases/download/6.0.0.20230306/FFmpeg_Essentials.msi" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="yx" TargetName="FFmpeg x64" Builds="DefaultBuild"/>
|
<ROW PrereqKey="FFmpegx64" DisplayName="FFmpeg v6.0 x64" VersionMin="6.0.0" SetupFileUrl="https://github.com/icedterminal/ffmpeg-installer/releases/download/6.0.0.20230306/FFmpeg_Essentials.msi" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="FFmpeg x64" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="Microsoft.NETFrame" DisplayName=".NET Framework 4.8" VersionMin="4.8" SetupFileUrl="redist\.net_framework_4.8.exe" Location="0" ExactSize="0" Operator="1" ComLine="/q /promptrestart" BasicUiComLine="/q /promptrestart" NoUiComLine="/q /promptrestart" Options="yx" TargetName="Microsoft .NET Framework 4.8\.net_framework_4.8.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="Microsoft.NETFrame" DisplayName=".NET Framework 4.8" VersionMin="4.8" SetupFileUrl="redist\.net_framework_4.8.exe" Location="0" ExactSize="0" Operator="1" ComLine="/q /promptrestart" BasicUiComLine="/q /promptrestart" NoUiComLine="/q /promptrestart" Options="ym" TargetName="Microsoft .NET Framework 4.8\.net_framework_4.8.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="Microsoft.NETRunti" DisplayName=".NET Runtime - 7.0.4" VersionMin="7.0" SetupFileUrl="redist\dotnet-runtime-7.0.4-win-x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" TargetName="Microsoft .NET Runtime - 7.0.4 (x64)\dotnet-runtime-7.0.4-win-x64.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="Microsoft.NETRunti" DisplayName=".NET Runtime - 7.0.4" VersionMin="7.0" SetupFileUrl="redist\dotnet-runtime-7.0.4-win-x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" TargetName="Microsoft .NET Runtime - 7.0.4 (x64)\dotnet-runtime-7.0.4-win-x64.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MicrosoftASP.NETCo" DisplayName="ASP.NET Core Runtime 7.0.4 x64" VersionMin="7.0" SetupFileUrl="redist\aspnetcore-runtime-7.0.4-win-x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="yxm" TargetName="Microsoft ASP.NET Core 7.0.4 - Shared Framework (x64)\aspnetcore-runtime-7.0.4-win-x64.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="MicrosoftASP.NETCo" DisplayName="ASP.NET Core Runtime 7.0.4 x64" VersionMin="7.0" SetupFileUrl="redist\aspnetcore-runtime-7.0.4-win-x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="yxm" TargetName="Microsoft ASP.NET Core 7.0.4 - Shared Framework (x64)\aspnetcore-runtime-7.0.4-win-x64.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MicrosoftVisualC" DisplayName="Visual C++ Redistributable for Visual Studio 2013 Update 5 x64" VersionMin="12.0" SetupFileUrl="redist\vcredist_2013u5_x64.exe" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="Microsoft Visual C++ 2013 Redistributable (x64) - 12.0.40649\vcredist_2013u5_x64.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="MicrosoftVisualC" DisplayName="Visual C++ Redistributable for Visual Studio 2013 Update 5 x64" VersionMin="12.0" SetupFileUrl="redist\vcredist_2013u5_x64.exe" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="Microsoft Visual C++ 2013 Redistributable (x64) - 12.0.40649\vcredist_2013u5_x64.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MicrosoftVisualC_1" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x86" VersionMin="14.26" SetupFileUrl="redist\VC_redist.x86.exe" Location="0" ExactSize="0" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" TargetName="Microsoft Visual C++ 2015-2019 Redistributable (x86) - 14.26.28720\VC_redist.x86.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="MicrosoftVisualC_1" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x86" VersionMin="14.26" SetupFileUrl="redist\VC_redist.x86.exe" Location="0" ExactSize="0" Operator="0" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="ym" TargetName="Microsoft Visual C++ 2015-2019 Redistributable (x86) - 14.26.28720\VC_redist.x86.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MicrosoftVisualC_2" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x64" VersionMin="14.26" SetupFileUrl="redist\VC_redist.x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2008 R2 x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="yxm" TargetName="Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.26.28720\VC_redist.x64.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="MicrosoftVisualC_2" DisplayName="Visual C++ Redistributable for Visual Studio 2015-2019 x64" VersionMin="14.26" SetupFileUrl="redist\VC_redist.x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" WinNT64Versions="Windows Vista x64, Windows Server 2008 x64, Windows 7 x64, Windows Server 2008 R2 x64" Operator="1" ComLine="/q /norestart" BasicUiComLine="/q /norestart" NoUiComLine="/q /norestart" Options="yxm" TargetName="Microsoft Visual C++ 2015-2019 Redistributable (x64) - 14.26.28720\VC_redist.x64.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MySQLConnectorODBC" DisplayName="MySQL Connector/ODBC 8.0.33 x86" VersionMin="8.0.33" SetupFileUrl="redist\mysql-connector-odbc-8.0.33-win32.msi" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="MySQL ConnectorODBC 8.0 (32-bit)\mysql-connector-odbc-8.0.33-win32.msi" Builds="ExeBuild"/>
|
<ROW PrereqKey="MySQLConnectorODBC" DisplayName="MySQL Connector/ODBC 8.0.33 x86" VersionMin="8.0.33" SetupFileUrl="redist\mysql-connector-odbc-8.0.33-win32.msi" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="MySQL ConnectorODBC 8.0 (32-bit)\mysql-connector-odbc-8.0.33-win32.msi" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MySQLInstallerCo" DisplayName="MySQL Installer Community 8.0.33 x86" VersionMin="1.6.6.0" SetupFileUrl="redist\mysql-installer-community-8.0.33.0.msi" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="MySQL Installer - Community\mysql-installer-community-8.0.33.0.msi" Builds="ExeBuild"/>
|
<ROW PrereqKey="MySQLInstallerCo" DisplayName="MySQL Installer Community 8.0.33 x86" VersionMin="1.6.6.0" SetupFileUrl="redist\mysql-installer-community-8.0.33.0.msi" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="MySQL Installer - Community\mysql-installer-community-8.0.33.0.msi" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="MySQLInstallerRunn" DisplayName="MySQL Installer Community 8.0.33 x86 Runner" SetupFileUrl="MySQL Installer Runner.exe" Location="0" ExactSize="0" Operator="1" ComLine="/VERYSILENT /DB_PWD="root" /MYSQL_VERSION="8.0.33"" BasicUiComLine="/VERYSILENT /DB_PWD="root" /MYSQL_VERSION="8.0.33"" NoUiComLine="/VERYSILENT /DB_PWD="root" /MYSQL_VERSION="8.0.33"" Options="y" TargetName="MySQL Installer Runner \MySQL Installer Runner.exe" ParentPrereq="RequiredApplication_2"/>
|
<ROW PrereqKey="MySQLInstallerRunn" DisplayName="MySQL Installer Community 8.0.33 x86 Runner" SetupFileUrl="MySQL Installer Runner.exe" Location="0" ExactSize="0" Operator="1" ComLine="/VERYSILENT /DB_PWD="root" /MYSQL_VERSION="8.0.33"" BasicUiComLine="/VERYSILENT /DB_PWD="root" /MYSQL_VERSION="8.0.33"" NoUiComLine="/VERYSILENT /DB_PWD="root" /MYSQL_VERSION="8.0.33"" Options="y" TargetName="MySQL Installer Runner \MySQL Installer Runner.exe" ParentPrereq="RequiredApplication_2"/>
|
||||||
<ROW PrereqKey="Node.js" DisplayName="Node.js 18.16.1" VersionMin="18.16.0" SetupFileUrl="redist\node-v18.16.1-x64.msi" Location="0" ExactSize="0" Operator="0" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="Node.js\node-v18.16.1-x64.msi" Builds="ExeBuild"/>
|
<ROW PrereqKey="Node.js" DisplayName="Node.js 18.16.1" VersionMin="18.16.0" SetupFileUrl="redist\node-v18.16.1-x64.msi" Location="0" ExactSize="0" Operator="0" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="Node.js\node-v18.16.1-x64.msi" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="OpenResty" DisplayName="OpenResty" VersionMin="1.21.4.2" SetupFileUrl="publish\OpenResty.msi" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="OpenResty\OpenResty.msi"/>
|
<ROW PrereqKey="OpenResty" DisplayName="OpenResty v1.21.4" VersionMin="1.21.4.2" SetupFileUrl="publish\OpenResty.msi" Location="0" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="yxm" TargetName="OpenResty\OpenResty.msi"/>
|
||||||
<ROW PrereqKey="PostgreSQL_ODBC" DisplayName="PostgreSQL ODBC Driver x64" SetupFileUrl="psqlodbc_15_x64.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="myx" TargetName="psqlodbc_x64.msi"/>
|
<ROW PrereqKey="PostgreSQL_ODBC" DisplayName="PostgreSQL ODBC Driver v15.0 x64" SetupFileUrl="psqlodbc_15_x64.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="myx" TargetName="psqlodbc_x64.msi"/>
|
||||||
<ROW PrereqKey="PostgresSQL" DisplayName="PostgresSQL v14.0 x64" VersionMin="14.0" SetupFileUrl="postgresql-14.0-1-windows-x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="--unattendedmodeui none --install_runtimes 0 --mode unattended --superaccount "postgres" --superpassword "postgres"" BasicUiComLine="--unattendedmodeui none --install_runtimes 0 --mode unattended --superaccount "postgres" --superpassword "postgres"" NoUiComLine="--unattendedmodeui none --install_runtimes 0 --mode unattended --superaccount "postgres" --superpassword "postgres"" Options="xy" TargetName="postgresql-14.0-1-windows-x64.exe"/>
|
<ROW PrereqKey="PostgresSQL" DisplayName="PostgresSQL v14.0 x64" VersionMin="14.0" SetupFileUrl="postgresql-14.0-1-windows-x64.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="--unattendedmodeui none --install_runtimes 0 --mode unattended --superaccount "postgres" --superpassword "postgres"" BasicUiComLine="--unattendedmodeui none --install_runtimes 0 --mode unattended --superaccount "postgres" --superpassword "postgres"" NoUiComLine="--unattendedmodeui none --install_runtimes 0 --mode unattended --superaccount "postgres" --superpassword "postgres"" Options="xy" TargetName="postgresql-14.0-1-windows-x64.exe"/>
|
||||||
<ROW PrereqKey="RabbitMQServer" DisplayName="RabbitMQ v3.12.1 x64" VersionMin="3.12" SetupFileUrl="redist\rabbitmq-server-3.12.1.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="RabbitMQ Server\rabbitmq-server-3.12.1.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="RabbitMQServer" DisplayName="RabbitMQ v3.12.1 x64" VersionMin="3.12" SetupFileUrl="redist\rabbitmq-server-3.12.1.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="RabbitMQ Server\rabbitmq-server-3.12.1.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="RedisonWindows" DisplayName="Redis 5.0.10 x64" VersionMin="5.0" SetupFileUrl="redist\Redis-x64-5.0.10.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" BasicUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" NoUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" Options="yx" TargetName="Redis on Windows\Redis-x64-5.0.10.msi" Builds="ExeBuild"/>
|
<ROW PrereqKey="RedisonWindows" DisplayName="Redis 5.0.10 x64" VersionMin="5.0" SetupFileUrl="redist\Redis-x64-5.0.10.msi" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" BasicUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" NoUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" Options="yx" TargetName="Redis on Windows\Redis-x64-5.0.10.msi" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication" DisplayName="MySQL Connector/ODBC 8.0.33 x86" VersionMin="8.0.33" SetupFileUrl="https://cdn.mysql.com/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.33-win32.msi" Location="1" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="MySQL Connector ODBC 8.0.33 x86" Builds="DefaultBuild"/>
|
<ROW PrereqKey="RequiredApplication" DisplayName="MySQL Connector/ODBC 8.0.33 x86" VersionMin="8.0.33" SetupFileUrl="https://cdn.mysql.com/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.33-win32.msi" Location="1" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="ym" TargetName="MySQL Connector ODBC 8.0.33 x86" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication_1" DisplayName="Node.js 18.16.1" VersionMin="18.16.0" SetupFileUrl="https://nodejs.org/dist/v18.16.1/node-v18.16.1-x64.msi" Location="1" ExactSize="0" Operator="0" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="my" TargetName="Node.js v18.16.1 x64" Builds="DefaultBuild"/>
|
<ROW PrereqKey="RequiredApplication_1" DisplayName="Node.js 18.16.1" VersionMin="18.16.0" SetupFileUrl="https://nodejs.org/dist/v18.16.1/node-v18.16.1-x64.msi" Location="1" ExactSize="0" Operator="0" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="my" TargetName="Node.js v18.16.1 x64" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication_2" DisplayName="MySQL Installer Community 8.0.33 x86" VersionMin="1.6.6.0" SetupFileUrl="https://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-community-8.0.33.0.msi" Location="1" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="MySQL Installer Community 8.0.33 x86" Builds="DefaultBuild"/>
|
<ROW PrereqKey="RequiredApplication_2" DisplayName="MySQL Installer Community 8.0.33 x86" VersionMin="1.6.6.0" SetupFileUrl="https://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-community-8.0.33.0.msi" Location="1" ExactSize="0" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="MySQL Installer Community 8.0.33 x86" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication_3" DisplayName="Certbot" VersionMin="2.6.0" SetupFileUrl="redist\certbot-2.6.0.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="Required Application\certbot-2.6.0.exe" Builds="ExeBuild"/>
|
<ROW PrereqKey="RequiredApplication_3" DisplayName="Certbot v2.6.0" VersionMin="2.6.0" SetupFileUrl="redist\certbot-2.6.0.exe" Location="0" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yxm" TargetName="Required Application\certbot-2.6.0.exe" Builds="ExeBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication_4" DisplayName="Elasticsearch v7.16.3 x64" VersionMin="7.16.3" SetupFileUrl="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3.msi" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="Elasticsearch v7.16.3 x64" Builds="DefaultBuild"/>
|
<ROW PrereqKey="RequiredApplication_4" DisplayName="Elasticsearch v7.16.3 x64" VersionMin="7.16.3" SetupFileUrl="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3.msi" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet" BasicUiComLine="/quiet" NoUiComLine="/quiet" Options="y" TargetName="Elasticsearch v7.16.3 x64" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication_5" DisplayName="RabbitMQ v3.12.1 x64" VersionMin="3.12" SetupFileUrl="https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.1/rabbitmq-server-3.12.1.exe" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="RabbitMQ v3.12.1 x64" Builds="DefaultBuild"/>
|
<ROW PrereqKey="RequiredApplication_5" DisplayName="RabbitMQ v3.12.1 x64" VersionMin="3.12" SetupFileUrl="https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.1/rabbitmq-server-3.12.1.exe" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/S" BasicUiComLine="/S" NoUiComLine="/S" Options="yx" TargetName="RabbitMQ v3.12.1 x64" Builds="DefaultBuild"/>
|
||||||
<ROW PrereqKey="RequiredApplication_6" DisplayName="Redis 5.0.10 x64" VersionMin="5.0" SetupFileUrl="http://download.onlyoffice.com/install/windows/redist/Redis-x64-5.0.10.msi" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" BasicUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" NoUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" Options="yx" TargetName="Redis 5.0.10 x64" Builds="DefaultBuild"/>
|
<ROW PrereqKey="RequiredApplication_6" DisplayName="Redis 5.0.10 x64" VersionMin="5.0" SetupFileUrl="http://download.onlyoffice.com/install/windows/redist/Redis-x64-5.0.10.msi" Location="1" ExactSize="0" WinNTVersions="Windows 9x/ME/NT/2000/XP/Vista/Windows 7/Windows 8 x86/Windows 8.1 x86/Windows 10 x86" Operator="1" ComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" BasicUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" NoUiComLine="/quiet ADD_INSTALLFOLDER_TO_PATH=1" Options="yx" TargetName="Redis 5.0.10 x64" Builds="DefaultBuild"/>
|
||||||
|
@ -68,6 +68,10 @@ REM echo ######## Remove AWSTarget from nlog.config ########
|
|||||||
del /f /q buildtools\install\win\Files\nginx\conf\onlyoffice-login.conf
|
del /f /q buildtools\install\win\Files\nginx\conf\onlyoffice-login.conf
|
||||||
del /f /q buildtools\install\win\Files\nginx\conf\onlyoffice-story.conf
|
del /f /q buildtools\install\win\Files\nginx\conf\onlyoffice-story.conf
|
||||||
|
|
||||||
|
::Remove unused services from HealthCheck | Bug 64516
|
||||||
|
%sed% -i "/\"Name\": \"ASC.ApiCache\"/,/{/d" buildtools\install\win\Files\services\ASC.Web.HealthChecks.UI\service\appsettings.json
|
||||||
|
%sed% -i "/\"Name\": \"ASC.ApiSystem\"/,/{/d" buildtools\install\win\Files\services\ASC.Web.HealthChecks.UI\service\appsettings.json
|
||||||
|
|
||||||
::configure nuget.config
|
::configure nuget.config
|
||||||
copy "server\NuGet.config" . /y
|
copy "server\NuGet.config" . /y
|
||||||
%sed% -i "s/\.nuget\\packages/server\\.nuget\\packages/g" NuGet.config
|
%sed% -i "s/\.nuget\\packages/server\\.nuget\\packages/g" NuGet.config
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<description>ONLYOFFICE DocSpace DocEditor</description>
|
<description>ONLYOFFICE DocSpace DocEditor</description>
|
||||||
<priority>RealTime</priority>
|
<priority>RealTime</priority>
|
||||||
<startmode>Automatic</startmode>
|
<startmode>Automatic</startmode>
|
||||||
|
<autoRefresh>false</autoRefresh>
|
||||||
<onfailure action="restart" delay="10 sec"/>
|
<onfailure action="restart" delay="10 sec"/>
|
||||||
<executable>node</executable>
|
<executable>node</executable>
|
||||||
<arguments>"{APPDIR}products\ASC.Files\editor\server.js"</arguments>
|
<arguments>"{APPDIR}products\ASC.Files\editor\server.js"</arguments>
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<description>ONLYOFFICE DocSpace Login</description>
|
<description>ONLYOFFICE DocSpace Login</description>
|
||||||
<priority>RealTime</priority>
|
<priority>RealTime</priority>
|
||||||
<startmode>Automatic</startmode>
|
<startmode>Automatic</startmode>
|
||||||
|
<autoRefresh>false</autoRefresh>
|
||||||
<onfailure action="restart" delay="10 sec"/>
|
<onfailure action="restart" delay="10 sec"/>
|
||||||
<executable>node</executable>
|
<executable>node</executable>
|
||||||
<arguments>"{APPDIR}products\ASC.Login\login\server.js"</arguments>
|
<arguments>"{APPDIR}products\ASC.Login\login\server.js"</arguments>
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<description>ONLYOFFICE DocSpace Socket.IO</description>
|
<description>ONLYOFFICE DocSpace Socket.IO</description>
|
||||||
<priority>RealTime</priority>
|
<priority>RealTime</priority>
|
||||||
<startmode>Automatic</startmode>
|
<startmode>Automatic</startmode>
|
||||||
|
<autoRefresh>false</autoRefresh>
|
||||||
<onfailure action="restart" delay="10 sec"/>
|
<onfailure action="restart" delay="10 sec"/>
|
||||||
<executable>node</executable>
|
<executable>node</executable>
|
||||||
<arguments>"{APPDIR}services\ASC.Socket.IO\service\server.js"</arguments>
|
<arguments>"{APPDIR}services\ASC.Socket.IO\service\server.js"</arguments>
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<description>ONLYOFFICE DocSpace ASC.SsoAuth.Svc</description>
|
<description>ONLYOFFICE DocSpace ASC.SsoAuth.Svc</description>
|
||||||
<priority>RealTime</priority>
|
<priority>RealTime</priority>
|
||||||
<startmode>Automatic</startmode>
|
<startmode>Automatic</startmode>
|
||||||
|
<autoRefresh>false</autoRefresh>
|
||||||
<onfailure action="restart" delay="10 sec"/>
|
<onfailure action="restart" delay="10 sec"/>
|
||||||
<executable>node</executable>
|
<executable>node</executable>
|
||||||
<arguments>"{APPDIR}services\ASC.SsoAuth\service\app.js"</arguments>
|
<arguments>"{APPDIR}services\ASC.SsoAuth\service\app.js"</arguments>
|
||||||
|
@ -121,7 +121,34 @@ End Function
|
|||||||
Function SetMACHINEKEY
|
Function SetMACHINEKEY
|
||||||
On Error Resume Next
|
On Error Resume Next
|
||||||
|
|
||||||
Session.Property("MACHINE_KEY") = RandomString( 12 )
|
Dim strFilePath, strJSON, strPattern, objRegExp, objMatches
|
||||||
|
|
||||||
|
' Specify the path to your JSON file
|
||||||
|
strFilePath = Session.Property("APPDIR") & "config\appsettings.production.json"
|
||||||
|
|
||||||
|
' Read the JSON content
|
||||||
|
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
||||||
|
Set objFile = objFSO.OpenTextFile(strFilePath, 1)
|
||||||
|
strJSON = objFile.ReadAll
|
||||||
|
objFile.Close
|
||||||
|
|
||||||
|
' Define the regular expression pattern to match the "machinekey" value
|
||||||
|
strPattern = """machinekey"": ""([^""]+)"""
|
||||||
|
|
||||||
|
' Create a regular expression object and execute the pattern on the JSON string
|
||||||
|
Set objRegExp = New RegExp
|
||||||
|
objRegExp.Global = False
|
||||||
|
objRegExp.IgnoreCase = True
|
||||||
|
objRegExp.Pattern = strPattern
|
||||||
|
|
||||||
|
Set objMatches = objRegExp.Execute(strJSON)
|
||||||
|
|
||||||
|
' Check if a match was found
|
||||||
|
If objMatches.Count > 0 Then
|
||||||
|
Session.Property("MACHINE_KEY") = objMatches(0).Submatches(0)
|
||||||
|
Else
|
||||||
|
Session.Property("MACHINE_KEY") = RandomString(16)
|
||||||
|
End If
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
gitdb==4.0.11
|
||||||
|
GitPython==3.1.40
|
||||||
|
smmap==5.0.1
|
@ -5,4 +5,4 @@ dir=$(builtin cd $rd/../; pwd)
|
|||||||
|
|
||||||
echo "Root directory:" $dir
|
echo "Root directory:" $dir
|
||||||
|
|
||||||
dotnet test $dir/client/common/Tests/Frontend.Translations.Tests/Frontend.Translations.Tests.csproj --filter "TestCategory=Locales" -l:html --results-directory "$dir/TestsResults" --environment "BASE_DIR=$dir"
|
dotnet test $dir/client/common/Tests/Frontend.Translations.Tests/Frontend.Translations.Tests.csproj --filter "TestCategory=Locales" -l:html --results-directory "$dir/TestsResults" --environment "BASE_DIR=$dir/client"
|
@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
pwsh %~dp0/restart.backend.docker.ps1 %*
|
|
||||||
|
|
||||||
echo.
|
|
||||||
|
|
||||||
pause
|
|
@ -1,5 +0,0 @@
|
|||||||
# Stop all backend services"
|
|
||||||
& "$PSScriptRoot\stop.backend.docker.ps1"
|
|
||||||
|
|
||||||
# Start all backend services"
|
|
||||||
& "$PSScriptRoot\start.backend.docker.ps1"
|
|
16
start/restart.backend.docker.py
Normal file
16
start/restart.backend.docker.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
import os
|
||||||
|
|
||||||
|
rd = os.path.dirname(__file__)
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
|
|
||||||
|
print("Restart all backend services (containers)")
|
||||||
|
subprocess.run(["python", os.path.join(rd, "stop.backend.docker.py")])
|
||||||
|
subprocess.run(["python", os.path.join(rd, "start.backend.docker.py")])
|
||||||
|
|
||||||
|
end = time.time()
|
||||||
|
print("\nElapsed time", end - start)
|
@ -1,8 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
echo "Root directory:" $dir
|
|
||||||
|
|
||||||
$dir/stop.backend.docker.sh
|
|
||||||
|
|
||||||
$dir/start.backend.docker.sh
|
|
@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
pwsh %~dp0/start.backend.docker.ps1 %*
|
|
||||||
|
|
||||||
echo.
|
|
||||||
|
|
||||||
pause
|
|
@ -1,32 +0,0 @@
|
|||||||
$PSversionMajor = $PSVersionTable.PSVersion | sort-object major | ForEach-Object { $_.major }
|
|
||||||
$PSversionMinor = $PSVersionTable.PSVersion | sort-object minor | ForEach-Object { $_.minor }
|
|
||||||
|
|
||||||
if ($PSversionMajor -lt 7 -or $PSversionMinor -lt 2) {
|
|
||||||
Write-Error "Powershell version must be greater than or equal to 7.2."
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
$RootDir = Split-Path (Split-Path -Parent $PSScriptRoot) -Parent
|
|
||||||
$DockerDir = ($RootDir + "\buildtools\install\docker")
|
|
||||||
$LocalIp = (Get-CimInstance -ClassName Win32_NetworkAdapterConfiguration | Where-Object { $_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null }).IPAddress | Select-Object -First 1
|
|
||||||
|
|
||||||
$Doceditor = ($LocalIp + ":5013")
|
|
||||||
$Login = ($LocalIp + ":5011")
|
|
||||||
$Client = ($LocalIp + ":5001")
|
|
||||||
|
|
||||||
Set-Location -Path $DockerDir
|
|
||||||
|
|
||||||
Write-Host "Start all services (containers)" -ForegroundColor Green
|
|
||||||
$Env:ENV_EXTENSION="dev"
|
|
||||||
$Env:Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:v1.0.0"
|
|
||||||
$Env:Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:v1.0.0"
|
|
||||||
$Env:Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:v1.0.0"
|
|
||||||
$Env:DOCUMENT_SERVER_IMAGE_NAME="onlyoffice/documentserver-de:latest"
|
|
||||||
$Env:SERVICE_DOCEDITOR=$Doceditor
|
|
||||||
$Env:SERVICE_LOGIN=$Login
|
|
||||||
$Env:SERVICE_CLIENT=$Client
|
|
||||||
$Env:ROOT_DIR=$RootDir
|
|
||||||
$Env:BUILD_PATH="/var/www"
|
|
||||||
$Env:SRC_PATH="$RootDir\publish\services"
|
|
||||||
$Env:DATA_DIR="$RootDir\data"
|
|
||||||
docker compose -f docspace.profiles.yml -f docspace.overcome.yml --profile migration-runner --profile backend-local start
|
|
15
start/start.backend.docker.py
Normal file
15
start/start.backend.docker.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
|
container_ids = subprocess.check_output(["docker", "ps", "-aq", "-f", "label=com.docker.compose.project=docker"], encoding='utf-8')
|
||||||
|
containers = container_ids.strip().split()
|
||||||
|
|
||||||
|
if containers:
|
||||||
|
print("Start all backend services (containers)")
|
||||||
|
subprocess.run(['docker', 'start'] + containers, check=True)
|
||||||
|
|
||||||
|
end = time.time()
|
||||||
|
print("\nElapsed time", end - start)
|
@ -1,41 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
|
|
||||||
rd="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
echo "Run script directory:" $dir
|
|
||||||
|
|
||||||
dir=$(builtin cd $rd/../../; pwd)
|
|
||||||
|
|
||||||
echo "Root directory:" $dir
|
|
||||||
|
|
||||||
cd $dir/buildtools/install/docker/
|
|
||||||
|
|
||||||
docker_dir="$( pwd )"
|
|
||||||
|
|
||||||
echo "Docker directory:" $docker_dir
|
|
||||||
|
|
||||||
local_ip=$(ipconfig getifaddr en0)
|
|
||||||
|
|
||||||
echo "LOCAL IP: $local_ip"
|
|
||||||
|
|
||||||
doceditor=${local_ip}:5013
|
|
||||||
login=${local_ip}:5011
|
|
||||||
client=${local_ip}:5001
|
|
||||||
|
|
||||||
echo "SERVICE_DOCEDITOR: $doceditor"
|
|
||||||
echo "SERVICE_LOGIN: $login"
|
|
||||||
echo "SERVICE_CLIENT: $client"
|
|
||||||
|
|
||||||
Baseimage_Dotnet_Run="onlyoffice/4testing-docspace-dotnet-runtime:v1.0.0" \
|
|
||||||
Baseimage_Nodejs_Run="onlyoffice/4testing-docspace-nodejs-runtime:v1.0.0" \
|
|
||||||
Baseimage_Proxy_Run="onlyoffice/4testing-docspace-proxy-runtime:v1.0.0" \
|
|
||||||
BUILD_PATH="/var/www" \
|
|
||||||
SRC_PATH="$dir/publish/services" \
|
|
||||||
SERVICE_DOCEDITOR=$doceditor \
|
|
||||||
SERVICE_LOGIN=$login \
|
|
||||||
SERVICE_CLIENT=$client \
|
|
||||||
ROOT_DIR=$dir \
|
|
||||||
DATA_DIR="$dir/data" \
|
|
||||||
ENV_EXTENSION="dev" \
|
|
||||||
DOCUMENT_SERVER_IMAGE_NAME=onlyoffice/documentserver-de:latest \
|
|
||||||
docker-compose -f docspace.profiles.yml -f docspace.overcome.yml --profile backend-local start
|
|
@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
|
|
||||||
pwsh %~dp0/stop.backend.docker.ps1
|
|
||||||
|
|
||||||
echo.
|
|
||||||
|
|
||||||
pause
|
|
@ -1,17 +0,0 @@
|
|||||||
$PSversionMajor = $PSVersionTable.PSVersion | sort-object major | ForEach-Object { $_.major }
|
|
||||||
$PSversionMinor = $PSVersionTable.PSVersion | sort-object minor | ForEach-Object { $_.minor }
|
|
||||||
|
|
||||||
if ($PSversionMajor -lt 7 -or $PSversionMinor -lt 2) {
|
|
||||||
Write-Error "Powershell version must be greater than or equal to 7.2."
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
$Containers = docker ps -a -f "name=^onlyoffice" --format="{{.ID}} {{.Names}}" | Select-String -Pattern ("mysql|rabbitmq|redis|elasticsearch|documentserver") -NotMatch | ConvertFrom-String | ForEach-Object P1
|
|
||||||
|
|
||||||
if (-not $Containers) {
|
|
||||||
Write-Host "No containers to stop" -ForegroundColor Blue
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "Stop all backend services (containers)" -ForegroundColor Green
|
|
||||||
docker stop $Containers
|
|
17
start/stop.backend.docker.py
Executable file
17
start/stop.backend.docker.py
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import time
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
|
container_ids = subprocess.check_output(["docker", "ps", "-q", "-f", "label=com.docker.compose.project=docker"], encoding='utf-8')
|
||||||
|
containers = container_ids.strip().split()
|
||||||
|
|
||||||
|
if containers:
|
||||||
|
print("Stop all backend services (containers)")
|
||||||
|
subprocess.run(['docker', 'stop'] + containers, check=True)
|
||||||
|
else:
|
||||||
|
print("No containers to stop")
|
||||||
|
|
||||||
|
end = time.time()
|
||||||
|
print("\nElapsed time", end - start)
|
@ -1,4 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
echo "Stop all backend services (containers)"
|
|
||||||
docker stop $(docker ps -a | egrep "onlyoffice" | egrep -v "mysql|rabbitmq|redis|elasticsearch|documentserver" | awk 'NR>0 {print $1}')
|
|
Loading…
Reference in New Issue
Block a user