mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-06-23 15:30:34 -04:00
Merging master into dev
This commit is contained in:
commit
f028d369b9
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
<!-- Set this to true if you enable server-side prerendering -->
|
<!-- Set this to true if you enable server-side prerendering -->
|
||||||
<BuildServerSideRenderer>false</BuildServerSideRenderer>
|
<BuildServerSideRenderer>false</BuildServerSideRenderer>
|
||||||
|
|
||||||
<Company>SDG</Company>
|
<Company>SDG</Company>
|
||||||
<Authors>Zoe Roux</Authors>
|
<Authors>Zoe Roux</Authors>
|
||||||
<RepositoryUrl>https://github.com/AnonymusRaccoon/Kyoo</RepositoryUrl>
|
<RepositoryUrl>https://github.com/AnonymusRaccoon/Kyoo</RepositoryUrl>
|
||||||
@ -27,10 +28,10 @@
|
|||||||
<PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.1" />
|
<PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.1" />
|
||||||
<PackageReference Include="IdentityServer4.EntityFramework.Storage" Version="4.1.1" />
|
<PackageReference Include="IdentityServer4.EntityFramework.Storage" Version="4.1.1" />
|
||||||
<PackageReference Include="IdentityServer4.Storage" Version="4.1.1" />
|
<PackageReference Include="IdentityServer4.Storage" Version="4.1.1" />
|
||||||
|
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.3" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.3" />
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2" />
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2" />
|
||||||
<PackageReference Include="Portable.BouncyCastle" Version="1.8.9" />
|
<PackageReference Include="Portable.BouncyCastle" Version="1.8.9" />
|
||||||
<PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
|
|
||||||
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
|
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="5.0.3" />
|
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="5.0.3" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.3" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.3" />
|
||||||
@ -88,6 +89,10 @@
|
|||||||
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
|
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
<Target Name="Symlink views to output - Linux" AfterTargets="Build" Condition="$(Configuration) == 'Debug' And $(OS) == 'Unix'">
|
||||||
|
<Exec WorkingDirectory="$(OutputPath)" Command="ln -fs ../../../Views"/>
|
||||||
|
</Target>
|
||||||
|
|
||||||
<Target Name="Compile the transcoder" BeforeTargets="BeforeBuild">
|
<Target Name="Compile the transcoder" BeforeTargets="BeforeBuild">
|
||||||
<Exec WorkingDirectory="$(TranscoderRoot)" Command="mkdir --parent build; cd build; cmake ..; make -j" />
|
<Exec WorkingDirectory="$(TranscoderRoot)" Command="mkdir --parent build; cd build; cmake ..; make -j" />
|
||||||
<Copy SourceFiles="$(TranscoderRoot)/build/libtranscoder.so" DestinationFolder="." />
|
<Copy SourceFiles="$(TranscoderRoot)/build/libtranscoder.so" DestinationFolder="." />
|
||||||
@ -103,9 +108,4 @@
|
|||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="Models\DatabaseMigrations" />
|
|
||||||
<Folder Include="Models\DatabaseMigrations\IdentityDatbase" />
|
|
||||||
<Folder Include="Models\DatabaseMigrations\Internal" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -11,14 +11,13 @@ namespace Kyoo
|
|||||||
{
|
{
|
||||||
public static async Task Main(string[] args)
|
public static async Task Main(string[] args)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (args.Length > 0)
|
if (args.Length > 0)
|
||||||
FileSystem.CurrentDirectory = args[0];
|
FileSystem.CurrentDirectory = args[0];
|
||||||
if (!File.Exists("./appsettings.json"))
|
if (!File.Exists("./appsettings.json"))
|
||||||
File.Copy(Path.Join(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json"), "appsettings.json");
|
File.Copy(Path.Join(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json"), "appsettings.json");
|
||||||
|
|
||||||
|
|
||||||
bool? debug = Environment.GetEnvironmentVariable("ENVIRONEMENT")?.ToLowerInvariant() switch
|
bool? debug = Environment.GetEnvironmentVariable("ENVIRONMENT")?.ToLowerInvariant() switch
|
||||||
{
|
{
|
||||||
"d" => true,
|
"d" => true,
|
||||||
"dev" => true,
|
"dev" => true,
|
||||||
@ -30,8 +29,11 @@ namespace Kyoo
|
|||||||
_ => null
|
_ => null
|
||||||
};
|
};
|
||||||
|
|
||||||
if (debug == null && !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ENVIRONEMENT")))
|
if (debug == null && Environment.GetEnvironmentVariable("ENVIRONMENT") != null)
|
||||||
Console.WriteLine($"Invalid ENVIRONEMENT variable. Supported values are \"debug\" and \"prod\". Ignoring...");
|
Console.WriteLine($"Invalid ENVIRONMENT variable. Supported values are \"debug\" and \"prod\". Ignoring...");
|
||||||
|
#if DEBUG
|
||||||
|
debug ??= true;
|
||||||
|
#endif
|
||||||
|
|
||||||
Console.WriteLine($"Running as {Environment.UserName}.");
|
Console.WriteLine($"Running as {Environment.UserName}.");
|
||||||
IWebHostBuilder host = CreateWebHostBuilder(args);
|
IWebHostBuilder host = CreateWebHostBuilder(args);
|
||||||
|
@ -227,9 +227,7 @@ namespace Kyoo
|
|||||||
spa.Options.SourcePath = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "Views/WebClient");
|
spa.Options.SourcePath = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "Views/WebClient");
|
||||||
|
|
||||||
if (env.IsDevelopment())
|
if (env.IsDevelopment())
|
||||||
{
|
|
||||||
spa.UseAngularCliServer("start");
|
spa.UseAngularCliServer("start");
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
21
README.md
21
README.md
@ -7,6 +7,22 @@ Kyoo has been created from scratch, it is not a fork. Everything is and always w
|
|||||||
|
|
||||||
Feel free to open issues or pull requests, all contribution are welcomed.
|
Feel free to open issues or pull requests, all contribution are welcomed.
|
||||||
|
|
||||||
|
## Screens
|
||||||
|

|
||||||
|
- - -
|
||||||
|

|
||||||
|
- - -
|
||||||
|

|
||||||
|
- - -
|
||||||
|

|
||||||
|
- - -
|
||||||
|

|
||||||
|
- - -
|
||||||
|

|
||||||
|
- - -
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
If you are using a linux distribution with acess to the AUR, simply install the kyoo-bin package. **COMMING SOON**. The package is not published on the AUR yet but you can built it easily with makepkg. To do so, clone the repo & run `makepkg -i` inside the `install/aur` directory.
|
If you are using a linux distribution with acess to the AUR, simply install the kyoo-bin package. **COMMING SOON**. The package is not published on the AUR yet but you can built it easily with makepkg. To do so, clone the repo & run `makepkg -i` inside the `install/aur` directory.
|
||||||
@ -27,7 +43,8 @@ Both of theses repository are needed to fully build Kyoo, when you clone this re
|
|||||||
|
|
||||||
## Development & Build
|
## Development & Build
|
||||||
|
|
||||||
To develop for Kyoo, you will need the .NET 3.1 SDK, node & npm for the webapp and cmake & gcc for the transcoder.
|
To develop for Kyoo, you will need the .NET 5.0 SDK, node & npm for the webapp and cmake & gcc for the transcoder.
|
||||||
|
You will also need a running postgresql instance with a user named `kyoo` (you can create a user with this command: ```sudo -u postgres createuser -d kyoo```)
|
||||||
|
|
||||||
To run the development server, simply open the .sln file with your favorite C# IDE (like Jetbrain's Rider or Visual Studio) and press run or you can use the CLI and use the ```dotnet run -p Kyoo``` command.
|
To run the development server, simply open the .sln file with your favorite C# IDE (like Jetbrain's Rider or Visual Studio) and press run or you can use the CLI and use the ```dotnet run -p Kyoo``` command.
|
||||||
|
|
||||||
@ -35,7 +52,7 @@ To pack the application, run the ```dotnet publish -c Release -o <build_path> Ky
|
|||||||
|
|
||||||
## Plugins
|
## Plugins
|
||||||
|
|
||||||
You can create plugins for Kyoo. To do that, create a C# Library project targetting the .Net Core 3.1 and install the [Kyoo.Common](https://www.nuget.org/packages/Kyoo.Common) package and implement the IPlugin interface.
|
You can create plugins for Kyoo. To do that, create a C# Library project targetting the .Net Core 5 and install the [Kyoo.Common](https://www.nuget.org/packages/Kyoo.Common) package and implement the IPlugin interface.
|
||||||
|
|
||||||
You can create Tasks which can be started manually or automatically at startup or every X hours. You can also create metadata providers that will be used to get informations about shows, seasons, episodes & people.
|
You can create Tasks which can be started manually or automatically at startup or every X hours. You can also create metadata providers that will be used to get informations about shows, seasons, episodes & people.
|
||||||
You can find an exemple of metadata provider [here](https://github.com/AnonymusRaccoon/Kyoo.TheMovieDB).
|
You can find an exemple of metadata provider [here](https://github.com/AnonymusRaccoon/Kyoo.TheMovieDB).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user