Merge pull request #427 from ONLYOFFICE/feature/sc

Feature/sc
This commit is contained in:
Alexey Bannov 2021-10-28 18:49:01 +03:00 committed by GitHub
commit 8c7815d9a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 270 additions and 157 deletions

37
ASC.Web.slnf Normal file
View File

@ -0,0 +1,37 @@
{
"solution": {
"path": "ASC.Web.sln",
"projects": [
"common\\ASC.Api.Core\\ASC.Api.Core.csproj",
"common\\ASC.Common\\ASC.Common.csproj",
"common\\ASC.Core.Common\\ASC.Core.Common.csproj",
"common\\ASC.Data.Backup.Core\\ASC.Data.Backup.Core.csproj",
"common\\ASC.Data.Reassigns\\ASC.Data.Reassigns.csproj",
"common\\ASC.Data.Storage\\ASC.Data.Storage.csproj",
"common\\ASC.FederatedLogin\\ASC.FederatedLogin.csproj",
"common\\ASC.Feed\\ASC.Feed.csproj",
"common\\ASC.IPSecurity\\ASC.IPSecurity.csproj",
"common\\ASC.MessagingSystem\\ASC.MessagingSystem.csproj",
"common\\ASC.Notify.Textile\\ASC.Notify.Textile.csproj",
"common\\ASC.Textile\\ASC.Textile.csproj",
"common\\ASC.VoipService\\ASC.VoipService.csproj",
"common\\services\\ASC.AuditTrail\\ASC.AuditTrail.csproj",
"common\\services\\ASC.ClearEvents\\ASC.ClearEvents.csproj",
"common\\services\\ASC.Data.Backup\\ASC.Data.Backup.csproj",
"common\\services\\ASC.ElasticSearch\\ASC.ElasticSearch.csproj",
"common\\services\\ASC.Feed.Aggregator\\ASC.Feed.Aggregator.csproj",
"common\\services\\ASC.Notify\\ASC.Notify.csproj",
"common\\services\\ASC.Studio.Notify\\ASC.Studio.Notify.csproj",
"common\\services\\ASC.TelegramService\\ASC.TelegramService.csproj",
"common\\services\\ASC.UrlShortener.Svc\\ASC.UrlShortener.Svc.csproj",
"products\\ASC.Files\\Core\\ASC.Files.Core.csproj",
"products\\ASC.Files\\Server\\ASC.Files.csproj",
"products\\ASC.Files\\Service\\ASC.Files.Service.csproj",
"products\\ASC.People\\Server\\ASC.People.csproj",
"web\\ASC.Web.Api\\ASC.Web.Api.csproj",
"web\\ASC.Web.Core\\ASC.Web.Core.csproj",
"web\\ASC.Web.HealthChecks.UI\\ASC.Web.HealthChecks.UI.csproj",
"web\\ASC.Web.Studio\\ASC.Web.Studio.csproj"
]
}
}

View File

@ -1,14 +1,20 @@
call build/createMigrations.bat
PUSHD %~dp0..
dotnet build ASC.Web.sln /fl1 /flp1:LogFile=build/ASC.Web.log;Verbosity=Normal
dotnet build ASC.Web.slnf /fl1 /flp1:LogFile=build/ASC.Web.log;Verbosity=Normal
@echo off
echo.
echo Install nodejs projects dependencies...
echo.
if %errorlevel% == 0 (
for /R "build\scripts\" %%f in (*.sh) do (
echo "%%~nxf"
for /R "build\scripts\" %%f in (*.bat) do (
echo Run script %%~nxf...
echo.
call build\scripts\%%~nxf
)
)
pause
echo.
if "%1"=="nopause" goto start
pause
:start

View File

@ -1,25 +1,32 @@
@echo off
PUSHD %~dp0
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
PUSHD %~dp0..
echo "mode=%1"
IF "%2"=="personal" (
echo "mode=%2"
) ELSE (
echo "mode="
)
REM call yarn wipe
call yarn install
REM call yarn build
IF "%1"=="" (
call yarn build
) ELSE (
IF "%2"=="personal" (
call yarn build:personal
) ELSE (
call yarn build
)
REM call yarn wipe
IF "%1"=="" (
call yarn deploy
) ELSE (
IF "%2"=="personal" (
call yarn deploy:personal
) ELSE (
call yarn deploy
)
REM copy nginx configurations to deploy folder
@ -40,10 +47,16 @@ powershell -Command "(gc build\deploy\nginx\sites-enabled\onlyoffice-projects.co
powershell -Command "(gc build\deploy\nginx\sites-enabled\onlyoffice-studio.conf) -replace 'ROOTPATH', '%~dp0deploy\studio\client' -replace '\\', '/' | Out-File -encoding ASCII build\deploy\nginx\sites-enabled\onlyoffice-studio.conf"
REM restart nginx
echo service nginx stop
call sc stop nginx
REM sleep 5 seconds
call ping 127.0.0.1 -n 6 > nul
echo service nginx start
call sc start nginx
)
)
if "%1"=="nopause" goto start
pause
:start

View File

@ -2,17 +2,17 @@ PUSHD %~dp0
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
call start\stop.bat
call start\stop.bat nopause
PUSHD %~dp0..
echo "FRONT-END static"
call build\build.static.bat --personal
call build\build.static.bat nopause personal
echo "BACK-END"
call build\build.backend.bat
call build\build.backend.bat nopause
start /b call build\start\start.bat
start /b call build\start\start.bat nopause
pause
)

View File

@ -1,18 +1,22 @@
@echo off
PUSHD %~dp0
setlocal EnableDelayedExpansion
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
call start\stop.bat
call start\stop.bat nopause
PUSHD %~dp0..
echo "FRONT-END static"
call build\build.static.bat
call build\build.static.bat nopause
echo "BACK-END"
call build\build.backend.bat
call build\build.backend.bat nopause
start /b call build\start\start.bat
call build\start\start.bat nopause
pause
)

View File

@ -1,8 +1,15 @@
PUSHD %~dp0..
call runasadmin.bat "%~dpnx0"
@echo off
PUSHD %~dp0..\..
setlocal EnableDelayedExpansion
if %errorlevel% == 0 (
for /R "run\" %%f in (*.bat) do (
call nssm install Onlyoffice%%~nf "%%~f"
for /R "build\run\" %%f in (*.bat) do (
call build\run\%%~nxf
echo service create "Onlyoffice%%~nf"
call sc create "Onlyoffice%%~nf" displayname= "ONLYOFFICE %%~nf" binPath= "!servicepath!"
)
)
)
echo.
pause

View File

@ -1,8 +1,15 @@
@echo off
PUSHD %~dp0..
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
for /R "run\" %%f in (*.bat) do (
call nssm remove Onlyoffice%%~nf
echo Running service stop and delete "Onlyoffice%%~nf"
call sc stop "Onlyoffice%%~nf"
call sc delete "Onlyoffice%%~nf"
)
)
)
echo.
pause

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Notify"
call dotnet run --project ..\..\common\services\ASC.ApiSystem\ASC.ApiSystem.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=apisystem

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Backup"
call dotnet run --project ..\..\common\services\ASC.Data.Backup\ASC.Data.Backup.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=backup
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\common\services\ASC.Data.Backup\bin\Debug\ASC.Data.Backup.exe urls=http://0.0.0.0:5012 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=backup pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Calendar"
call dotnet run --project ..\..\products\ASC.Calendar\Server\ASC.Calendar.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=calendar

View File

@ -1,2 +1,4 @@
echo "RUN ASC.ClearEvents"
call dotnet run --project ..\..\common\services\ASC.ClearEvents\ASC.ClearEvents.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=clearEvents
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\common\services\ASC.ClearEvents\bin\Debug\ASC.ClearEvents.exe urls=http://0.0.0.0:5027 $STORAGE_ROOT=%cd%\Data pathToConf=%cd%\config log:dir=%cd%\Logs log:name=clearEvents core:products:folder=%cd%\products

View File

@ -1,2 +0,0 @@
echo "RUN ASC.CRM.BackgroundTasks"
call dotnet run --project ..\..\products\ASC.CRM\BackgroundTasks\ASC.CRM.BackgroundTasks.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=crm

View File

@ -1,2 +0,0 @@
echo "RUN ASC.CRM.Server"
call dotnet run --project ..\..\products\ASC.CRM\Server\ASC.CRM.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=crm

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Data.Storage.Encryption"
call dotnet run --project ..\..\common\services\ASC.Data.Storage.Encryption\ASC.Data.Storage.Encryption.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=encryption

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Files"
call dotnet run --project ..\..\products\ASC.Files\Server\ASC.Files.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=files
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\products\ASC.Files\Server\bin\Debug\ASC.Files.exe urls=http://0.0.0.0:5007 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=files pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Files"
call dotnet run --project ..\..\products\ASC.Files\Service\ASC.Files.Service.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=files
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\products\ASC.Files\Service\bin\Debug\ASC.Files.Service.exe urls=http://0.0.0.0:5009 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=files.service pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Mail"
call dotnet run --project ..\..\products\ASC.Mail\Server\ASC.Mail.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=mail

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Migration"
call dotnet run --project ..\..\common\services\ASC.Data.Storage.Migration\ASC.Data.Storage.Migration.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=migration

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Notify"
call dotnet run --project ..\..\common\services\ASC.Notify\ASC.Notify.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=notify
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\common\services\ASC.Notify\bin\Debug\ASC.Notify.exe urls=http://0.0.0.0:5005 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=notify pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +1,4 @@
echo "RUN ASC.People"
call dotnet run --project ..\..\products\ASC.People\Server\ASC.People.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=people
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\products\ASC.People\Server\bin\Debug\ASC.People.exe urls=http://0.0.0.0:5004 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=people pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Projects"
call dotnet run --project ..\..\products\ASC.Projects\Server\ASC.Projects.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=projects

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Radicale"
call dotnet run --project ..\..\common\services\ASC.Radicale\ASC.Radicale.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=radicale

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Socket.IO.Svc"
call dotnet run --project ..\..\common\services\ASC.Socket.IO.Svc\ASC.Socket.IO.Svc.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=socket

View File

@ -1,2 +0,0 @@
echo "RUN ASC.SsoAuth.Svc"
call dotnet run --project ..\..\common\services\ASC.SsoAuth.Svc\ASC.SsoAuth.Svc.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=ssoauth

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Studio.Notify"
call dotnet run --project ..\..\common\services\ASC.Studio.Notify\ASC.Studio.Notify.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=studio.notify
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\common\services\ASC.Studio.Notify\bin\Debug\ASC.Studio.Notify.exe urls=http://0.0.0.0:5006 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=studio.notify pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +1,4 @@
echo "RUN ASC.TelegramService"
call dotnet run --project ..\..\common\services\ASC.TelegramService\ASC.TelegramService.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=telegram
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\common\services\ASC.TelegramService\bin\Debug\ASC.TelegramService.exe urls=http://0.0.0.0:51702 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=telegram pathToConf=%cd%\config

View File

@ -1,2 +0,0 @@
echo "RUN ASC.Thumbnails.Svc"
call dotnet run --project ..\..\common\services\ASC.Thumbnails.Svc\ASC.Thumbnails.Svc.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=thumbnails

View File

@ -1,2 +1,4 @@
echo "RUN ASC.UrlShortener.Svc"
call dotnet run --project ..\..\common\services\ASC.UrlShortener.Svc\ASC.UrlShortener.Svc.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=urlshortener
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\common\services\ASC.UrlShortener.Svc\bin\Debug\ASC.UrlShortener.Svc.exe urls=http://0.0.0.0:5029 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=urlshortener pathToConf=%cd%\config core:products:folder=%cd%\products core:products:subfolder=server

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Web.Api"
call dotnet run --project ..\..\web\ASC.Web.Api\ASC.Web.Api.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=api
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\web\ASC.Web.Api\bin\Debug\ASC.Web.Api.exe urls=http://0.0.0.0:5000 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=api pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Web.HealthChecks.UI"
call dotnet run --project ..\..\web\ASC.Web.HealthChecks.UI\ASC.Web.HealthChecks.UI.csproj --no-build
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\web\ASC.Web.HealthChecks.UI\bin\Debug\ASC.Web.HealthChecks.UI.exe urls=http://0.0.0.0:5027

View File

@ -1,2 +1,4 @@
echo "RUN ASC.Web.Studio"
call dotnet run --project ..\..\web\ASC.Web.Studio\ASC.Web.Studio.csproj --no-build --$STORAGE_ROOT=..\..\Data --log__dir=..\..\Logs --log__name=studio
@echo off
PUSHD %~dp0..\..
set servicepath=%cd%\web\ASC.Web.Studio\bin\Debug\ASC.Web.Studio.exe urls=http://0.0.0.0:5003 $STORAGE_ROOT=%cd%\Data log:dir=%cd%\Logs log:name=studio pathToConf=%cd%\config core:products:folder=%cd%\products

View File

@ -1 +0,0 @@
yarn install --cwd common/ASC.Socket.IO --frozen-lockfile

View File

@ -1 +0,0 @@
yarn install --cwd common/ASC.SsoAuth --frozen-lockfile

View File

@ -1 +0,0 @@
yarn install --cwd common/ASC.Thumbnails --frozen-lockfile

View File

@ -0,0 +1 @@
yarn install --cwd common/ASC.UrlShortener/ --frozen-lockfile

View File

@ -1 +0,0 @@
yarn install --cwd common/ASC.UrlShortener --frozen-lockfile

View File

@ -1,14 +1,17 @@
@echo off
PUSHD %~dp0..
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
for /R "run\" %%f in (*.bat) do (
call nssm stop Onlyoffice%%~nf
)
for /R "run\" %%f in (*.bat) do (
call nssm start Onlyoffice%%~nf
)
call iisreset
call sc stop "Onlyoffice%%~nf"
call sc start "Onlyoffice%%~nf"
)
)
echo.
if "%1"=="nopause" goto start
pause
:start

View File

@ -1,8 +1,16 @@
@echo off
PUSHD %~dp0..
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
for /R "run\" %%f in (*.bat) do (
call nssm start Onlyoffice%%~nf
call sc start "Onlyoffice%%~nf"
)
)
)
echo.
if "%1"=="nopause" goto start
pause
:start

View File

@ -1,8 +1,16 @@
@echo off
PUSHD %~dp0..
call runasadmin.bat "%~dpnx0"
if %errorlevel% == 0 (
for /R "run\" %%f in (*.bat) do (
call nssm stop Onlyoffice%%~nf
call sc stop "Onlyoffice%%~nf"
)
)
)
echo.
if "%1"=="nopause" goto start
pause
:start

View File

@ -43,7 +43,7 @@ namespace ASC.Api.Core
public virtual bool ConfirmAddScheme { get; } = false;
public virtual bool AddAndUseSession { get; } = false;
protected DIHelper DIHelper { get; }
protected bool LoadProducts { get; } = true;
protected bool LoadProducts { get; set; } = true;
protected bool LoadConsumers { get; } = true;
public BaseStartup(IConfiguration configuration, IHostEnvironment hostEnvironment)
@ -181,7 +181,7 @@ namespace ASC.Api.Core
{
return hostBuilder.ConfigureLogging((hostBuildexContext, r) =>
{
_ = new ConfigureLogNLog(hostBuildexContext.Configuration, new ConfigurationExtension(hostBuildexContext.Configuration));
_ = new ConfigureLogNLog(hostBuildexContext.Configuration, new ConfigurationExtension(hostBuildexContext.Configuration), hostBuildexContext.HostingEnvironment);
r.AddNLog(LogManager.Configuration);
});
}

View File

@ -43,6 +43,7 @@
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="Microsoft.Extensions.Caching.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.Windows.Compatibility" Version="5.0.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<!-- <PackageReference Include="Microsoft.CodeQuality.Analyzers" Version="2.9.4">

View File

@ -35,6 +35,7 @@ using log4net.Config;
using log4net.Core;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using NLog;
@ -385,11 +386,12 @@ namespace ASC.Common.Logging
private IConfiguration Configuration { get; }
private ConfigurationExtension ConfigurationExtension { get; }
public ConfigureLogNLog(IConfiguration configuration, ConfigurationExtension configurationExtension)
public ConfigureLogNLog(IConfiguration configuration, ConfigurationExtension configurationExtension, IHostEnvironment hostingEnvironment)
{
Configuration = configuration;
ConfigurationExtension = configurationExtension;
LogManager.Configuration = new NLog.Config.XmlLoggingConfiguration(CrossPlatform.PathCombine(Configuration["pathToConf"], "nlog.config"));
LogManager.ThrowConfigExceptions = false;
@ -401,14 +403,14 @@ namespace ASC.Common.Logging
if (!string.IsNullOrEmpty(settings.Dir))
{
LogManager.Configuration.Variables["dir"] = settings.Dir.TrimEnd('/').TrimEnd('\\') + Path.DirectorySeparatorChar;
LogManager.Configuration.Variables["dir"] = CrossPlatform.PathCombine(hostingEnvironment.ContentRootPath, settings.Dir).TrimEnd('/').TrimEnd('\\') + Path.DirectorySeparatorChar;
}
NLog.Targets.Target.Register<SelfCleaningTarget>("SelfCleaning");
}
public void Configure(LogNLog options)
{
{
options.Configure("ASC");
}

View File

@ -8,6 +8,7 @@
<Copyright>(c) Ascensio System SIA. All rights reserved</Copyright>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<NoWarn>NU1701</NoWarn>
</PropertyGroup>

View File

@ -50,7 +50,7 @@ namespace ASC.ApiSystem
await host.RunAsync();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSystemd()
.UseWindowsService()

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<ApplicationIcon />
<OutputType>Exe</OutputType>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
@ -28,9 +29,11 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ASC.Api.Core\ASC.Api.Core.csproj" />
<ProjectReference Include="..\..\ASC.Common\ASC.Common.csproj" />
<ProjectReference Include="..\..\ASC.Core.Common\ASC.Core.Common.csproj" />
<ProjectReference Include="..\ASC.Data.Storage.Encryption\ASC.Data.Storage.Encryption.csproj" />
<ProjectReference Include="..\..\ASC.Data.Encryption\ASC.Data.Encryption.csproj" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.1.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="5.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="5.0.1" />

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -71,7 +71,8 @@ namespace ASC.Data.Backup
.AddJsonFile("backup.json")
.AddJsonFile("kafka.json")
.AddJsonFile($"kafka.{env}.json", true)
.AddEnvironmentVariables()
.AddEnvironmentVariables()
.AddCommandLine(args)
.AddInMemoryCollection(new Dictionary<string, string>
{
{"pathToConf", path }

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<ApplicationIcon />
<OutputType>Exe</OutputType>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -5,6 +5,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -36,7 +36,7 @@ namespace ASC.TelegramService
{
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
{
LoadProducts = false;
}
public override void ConfigureServices(IServiceCollection services)

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -6,6 +6,7 @@
<OutputType>Exe</OutputType>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -17,42 +17,6 @@
}
],
"instanceScope": "InstancePerLifetimeScope"
},
{
"type": "ASC.Projects.Configuration.ProductEntryPoint, ASC.Projects",
"services": [
{
"type": "ASC.Web.Core.IWebItem, ASC.Web.Core"
}
],
"instanceScope": "InstancePerLifetimeScope"
},
{
"type": "ASC.Web.CRM.Configuration.ProductEntryPoint, ASC.CRM",
"services": [
{
"type": "ASC.Web.Core.IWebItem, ASC.Web.Core"
}
],
"instanceScope": "InstancePerLifetimeScope"
},
{
"type": "ASC.Mail.Configuration.ProductEntryPoint, ASC.Mail",
"services": [
{
"type": "ASC.Web.Core.IWebItem, ASC.Web.Core"
}
],
"instanceScope": "InstancePerLifetimeScope"
},
{
"type": "ASC.Calendar.Configuration.ProductEntryPoint, ASC.Calendar",
"services": [
{
"type": "ASC.Web.Core.IWebItem, ASC.Web.Core"
}
],
"instanceScope": "InstancePerLifetimeScope"
}
]
}

View File

@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk.Worker">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Server\ASC.CRM.csproj" />

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
@ -35,6 +36,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.1.0" />
<PackageReference Include="Grpc.Tools" Version="2.32.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@ -45,11 +47,6 @@
<PackageReference Include="SharpZipLib" Version="1.3.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\web\ASC.Web.Studio\ASC.Web.Studio.csproj" />
<ProjectReference Include="..\..\ASC.Files\Server\ASC.Files.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Resources\CRMCasesResource.Designer.cs">
<DesignTime>True</DesignTime>
@ -190,5 +187,9 @@
<Folder Include="Classes\SocialMedia\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\ASC.Files\Core\ASC.Files.Core.csproj" />
</ItemGroup>
</Project>

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@ -1,8 +1,11 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using ASC.Api.Core;
using ASC.Common.Utils;
using Autofac.Extensions.DependencyInjection;
@ -23,10 +26,36 @@ namespace ASC.Calendar
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSystemd()
.UseWindowsService()
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
{
var builder = webBuilder.UseStartup<Startup>();
builder.ConfigureKestrel((hostingContext, serverOptions) =>
{
serverOptions.Limits.MaxRequestBodySize = 100 * 1024 * 1024;
serverOptions.Limits.MaxRequestBufferSize = 100 * 1024 * 1024;
serverOptions.Limits.MinRequestBodyDataRate = null;
serverOptions.Limits.MinResponseDataRate = null;
var kestrelConfig = hostingContext.Configuration.GetSection("Kestrel");
if (!kestrelConfig.Exists()) return;
var unixSocket = kestrelConfig.GetValue<string>("ListenUnixSocket");
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
if (!String.IsNullOrWhiteSpace(unixSocket))
{
unixSocket = String.Format(unixSocket, hostingContext.HostingEnvironment.ApplicationName.Replace("ASC.", "").Replace(".", ""));
serverOptions.ListenUnixSocket(unixSocket);
}
}
});
})
.ConfigureAppConfiguration((hostingContext, config) =>
{
@ -34,22 +63,22 @@ namespace ASC.Calendar
var path = buided["pathToConf"];
if (!Path.IsPathRooted(path))
{
path = Path.GetFullPath(Path.Combine(hostingContext.HostingEnvironment.ContentRootPath, path));
path = Path.GetFullPath(CrossPlatform.PathCombine(hostingContext.HostingEnvironment.ContentRootPath, path));
}
config.SetBasePath(path);
config
.AddInMemoryCollection(new Dictionary<string, string>
{
{"pathToConf", path}
})
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true)
.AddJsonFile("storage.json")
.AddJsonFile("kafka.json")
.AddJsonFile($"kafka.{hostingContext.HostingEnvironment.EnvironmentName}.json", true)
.AddEnvironmentVariables()
.AddCommandLine(args);
.AddCommandLine(args)
.AddInMemoryCollection(new Dictionary<string, string>
{
{"pathToConf", path}
});
})
.ConfigureNLogLogging();
}

View File

@ -14,6 +14,7 @@
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugType>full</DebugType>

View File

@ -5,6 +5,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -48,11 +48,6 @@ namespace ASC.Files.Service
config.SetBasePath(path);
var env = hostContext.Configuration.GetValue("ENVIRONMENT", "Production");
config
.AddInMemoryCollection(new Dictionary<string, string>
{
{"pathToConf", path }
}
)
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{env}.json", true)
.AddJsonFile($"appsettings.services.json", true)
@ -63,7 +58,12 @@ namespace ASC.Files.Service
.AddJsonFile($"kafka.{env}.json", true)
.AddJsonFile("elastic.json", true)
.AddEnvironmentVariables()
.AddCommandLine(args);
.AddCommandLine(args)
.AddInMemoryCollection(new Dictionary<string, string>
{
{"pathToConf", path }
}
);
})
.ConfigureServices((hostContext, services) =>
{

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<DefaultItemExcludes>$(DefaultItemExcludes);</DefaultItemExcludes>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<AssemblyTitle>ASC.People</AssemblyTitle>
<Company>Ascensio System SIA</Company>
<Product>ASC.People</Product>

View File

@ -4,6 +4,7 @@
<TargetFramework>net5.0</TargetFramework>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>

View File

@ -8,6 +8,7 @@
<Copyright>(c) Ascensio System SIA. All rights reserved</Copyright>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">

View File

@ -2,6 +2,7 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>

View File

@ -6,6 +6,7 @@
<DefaultItemExcludes>$(DefaultItemExcludes);</DefaultItemExcludes>
<RazorCompileOnBuild>false</RazorCompileOnBuild>
<GenerateMvcApplicationPartsAssemblyAttributes>false</GenerateMvcApplicationPartsAssemblyAttributes>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">