c38adfc0f7
Added support for configuring all major Jellyfin paths (data, config, cache, log, temp, web) via a `startup.json` file, with priority after CLI and environment variables. Introduced a new `TempDir` option, configurable through CLI, env var, or config file, with backward-compatible defaults. Refactored path resolution logic to integrate file-based config and ensure directory creation. Updated constructors and CLI options to support temp directory. Improved EF Core migration error handling and logging. Added comprehensive documentation and example config files. All changes are backward compatible.
93 lines
4.0 KiB
XML
93 lines
4.0 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Web">
|
|
|
|
<!-- ProjectGuid is only included as a requirement for SonarQube analysis -->
|
|
<PropertyGroup>
|
|
<ProjectGuid>{07E39F42-A2C6-4B32-AF8C-725F957A73FF}</ProjectGuid>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<AssemblyName>jellyfin</AssemblyName>
|
|
<OutputType>Exe</OutputType>
|
|
<TargetFramework>net11.0</TargetFramework>
|
|
<ServerGarbageCollection>false</ServerGarbageCollection>
|
|
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
<ApplicationIcon>Jellyfin.Server.ico</ApplicationIcon>
|
|
<IsPackable>true</IsPackable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Include="..\SharedVersion.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="Jellyfin.Server.ico" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="Resources/Configuration/*" />
|
|
</ItemGroup>
|
|
|
|
<!-- Code Analyzers -->
|
|
<ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
<PackageReference Include="IDisposableAnalyzers">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="Jellyfin.Sdk" />
|
|
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers">
|
|
<PrivateAssets>all</PrivateAssets>
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="SerilogAnalyzer" PrivateAssets="All" />
|
|
<PackageReference Include="StyleCop.Analyzers" PrivateAssets="All" />
|
|
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" PrivateAssets="All" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Content Remove="Resources\Configuration\startup.default.json" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="CommandLineParser" />
|
|
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" />
|
|
<PackageReference Include="Morestachio" />
|
|
<PackageReference Include="prometheus-net" />
|
|
<PackageReference Include="prometheus-net.AspNetCore" />
|
|
<PackageReference Include="Serilog.AspNetCore" />
|
|
<PackageReference Include="Serilog.Enrichers.Thread" />
|
|
<PackageReference Include="Serilog.Expressions" />
|
|
<PackageReference Include="Serilog.Settings.Configuration" />
|
|
<PackageReference Include="Serilog.Sinks.Async" />
|
|
<PackageReference Include="Serilog.Sinks.Console" />
|
|
<PackageReference Include="Serilog.Sinks.File" />
|
|
<PackageReference Include="Serilog.Sinks.Graylog" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\src\Jellyfin.Drawing\Jellyfin.Drawing.csproj" />
|
|
<ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj" />
|
|
<ProjectReference Include="..\src\Jellyfin.Drawing.Skia\Jellyfin.Drawing.Skia.csproj" />
|
|
<ProjectReference Include="..\src\Jellyfin.LiveTv\Jellyfin.LiveTv.csproj" />
|
|
<ProjectReference Include="..\Jellyfin.Server.Implementations\Jellyfin.Server.Implementations.csproj" />
|
|
<ProjectReference Include="..\src\Jellyfin.MediaEncoding.Hls\Jellyfin.MediaEncoding.Hls.csproj" />
|
|
<ProjectReference Include="..\src\Jellyfin.Database\Jellyfin.Database.Implementations\Jellyfin.Database.Implementations.csproj" />
|
|
<ProjectReference Include="..\src\Jellyfin.Database\Jellyfin.Database.Providers.Postgres\Jellyfin.Database.Providers.Postgres.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Update="wwwroot\api-docs\redoc\custom.css">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="wwwroot\api-docs\swagger\custom.css">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="wwwroot\api-docs\jellyfin.svg">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
<None Update="ServerSetupApp/index.mstemplate.html">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
</Project>
|