Merging master into dev

This commit is contained in:
Zoe Roux 2021-03-17 00:51:38 +01:00
commit f028d369b9
4 changed files with 31 additions and 14 deletions

View File

@ -12,6 +12,7 @@
<!-- Set this to true if you enable server-side prerendering -->
<BuildServerSideRenderer>false</BuildServerSideRenderer>
<Company>SDG</Company>
<Authors>Zoe Roux</Authors>
<RepositoryUrl>https://github.com/AnonymusRaccoon/Kyoo</RepositoryUrl>
@ -27,10 +28,10 @@
<PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.1" />
<PackageReference Include="IdentityServer4.EntityFramework.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="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.2" />
<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.AspNetCore.Diagnostics.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" />
</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">
<Exec WorkingDirectory="$(TranscoderRoot)" Command="mkdir --parent build; cd build; cmake ..; make -j" />
<Copy SourceFiles="$(TranscoderRoot)/build/libtranscoder.so" DestinationFolder="." />
@ -103,9 +108,4 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Models\DatabaseMigrations" />
<Folder Include="Models\DatabaseMigrations\IdentityDatbase" />
<Folder Include="Models\DatabaseMigrations\Internal" />
</ItemGroup>
</Project>

View File

@ -11,14 +11,13 @@ namespace Kyoo
{
public static async Task Main(string[] args)
{
if (args.Length > 0)
FileSystem.CurrentDirectory = args[0];
if (!File.Exists("./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,
"dev" => true,
@ -30,8 +29,11 @@ namespace Kyoo
_ => null
};
if (debug == null && !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("ENVIRONEMENT")))
Console.WriteLine($"Invalid ENVIRONEMENT variable. Supported values are \"debug\" and \"prod\". Ignoring...");
if (debug == null && Environment.GetEnvironmentVariable("ENVIRONMENT") != null)
Console.WriteLine($"Invalid ENVIRONMENT variable. Supported values are \"debug\" and \"prod\". Ignoring...");
#if DEBUG
debug ??= true;
#endif
Console.WriteLine($"Running as {Environment.UserName}.");
IWebHostBuilder host = CreateWebHostBuilder(args);

View File

@ -227,9 +227,7 @@ namespace Kyoo
spa.Options.SourcePath = Path.Join(AppDomain.CurrentDomain.BaseDirectory, "Views/WebClient");
if (env.IsDevelopment())
{
spa.UseAngularCliServer("start");
}
});
}
}

View File

@ -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.
## Screens
![Show](../screens/show.png?raw=true)
- - -
![Show Dropdown](../screens/show_dropdown.png?raw=true)
- - -
![Browse](../screens/browse.png?raw=true)
- - -
![Filters](../screens/filters.png?raw=true)
- - -
![People](../screens/people.png?raw=true)
- - -
![Player](../screens/player.png?raw=true)
- - -
![Search](../screens/search.png?raw=true)
## 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.
@ -27,7 +43,8 @@ Both of theses repository are needed to fully build Kyoo, when you clone this re
## 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.
@ -35,7 +52,7 @@ To pack the application, run the ```dotnet publish -c Release -o <build_path> Ky
## 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 find an exemple of metadata provider [here](https://github.com/AnonymusRaccoon/Kyoo.TheMovieDB).