diff --git a/Jellyfin.Api/Controllers/PackageController.cs b/Jellyfin.Api/Controllers/PackageController.cs
index 3d6a879093..2be0ad9fe9 100644
--- a/Jellyfin.Api/Controllers/PackageController.cs
+++ b/Jellyfin.Api/Controllers/PackageController.cs
@@ -76,6 +76,7 @@ namespace Jellyfin.Api.Controllers
/// Package name.
/// GUID of the associated assembly.
/// Optional version. Defaults to latest version.
+ /// Optional. Specify the repository to install from.
/// Package found.
/// Package not found.
/// A on success, or a if the package could not be found.
@@ -86,9 +87,16 @@ namespace Jellyfin.Api.Controllers
public async Task InstallPackage(
[FromRoute] [Required] string? name,
[FromQuery] string? assemblyGuid,
- [FromQuery] string? version)
+ [FromQuery] string? version,
+ [FromQuery] string? repositoryUrl)
{
var packages = await _installationManager.GetAvailablePackages().ConfigureAwait(false);
+ if (!string.IsNullOrEmpty(repositoryUrl))
+ {
+ packages = packages.Where(p => p.repositoryUrl.Equals(repositoryUrl, StringComparison.OrdinalIgnoreCase))
+ .ToList();
+ }
+
var package = _installationManager.GetCompatibleVersions(
packages,
name,