Do not set a static content root if the jellyfin-web directory does not exist or is empty

This commit is contained in:
Mark Monteiro
2020-02-25 16:51:36 +01:00
parent f11678ae4b
commit 26af5ea45a
3 changed files with 19 additions and 5 deletions

View File

@@ -222,7 +222,7 @@ namespace Jellyfin.Server
private static IWebHostBuilder CreateWebHostBuilder(ApplicationHost appHost, IServiceCollection serviceCollection)
{
return new WebHostBuilder()
var webhostBuilder = new WebHostBuilder()
.UseKestrel(options =>
{
var addresses = appHost.ServerConfigurationManager
@@ -260,13 +260,20 @@ namespace Jellyfin.Server
}
}
})
.UseContentRoot(appHost.ContentRoot)
.ConfigureServices(services =>
{
// Merge the external ServiceCollection into ASP.NET DI
services.TryAdd(serviceCollection);
})
.UseStartup<Startup>();
// Set the root directory for static content, if one exists
if (!string.IsNullOrEmpty(appHost.ContentRoot))
{
webhostBuilder.UseContentRoot(appHost.ContentRoot);
}
return webhostBuilder;
}
/// <summary>
@@ -383,7 +390,7 @@ namespace Jellyfin.Server
// webDir
// IF --webdir
// ELSE IF $JELLYFIN_WEB_DIR
// ELSE use <bindir>/jellyfin-web
// ELSE <bindir>/jellyfin-web
var webDir = options.WebDir;
if (string.IsNullOrEmpty(webDir))
@@ -397,6 +404,13 @@ namespace Jellyfin.Server
}
}
// Reset webDir if the directory does not exist, or is empty
if (!Directory.Exists(webDir) || !Directory.GetFiles(webDir).Any())
{
_logger.LogInformation("Server will not host static content because the web content directory does not exist or is empty: {ContentRoot}", webDir);
webDir = null;
}
// logDir
// IF --logdir
// ELSE IF $JELLYFIN_LOG_DIR