From 1383760f373d431efe9b9be9f6ae0291041d6f82 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Tue, 26 Oct 2021 22:29:54 +0200 Subject: [PATCH] Readme: Updating the readme --- README.md | 56 ++++++++++++++++--- src/Kyoo.Abstractions/Module.cs | 3 +- .../AuthenticationModule.cs | 8 +-- 3 files changed, 54 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ab586f60..e4648f37 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Build status Tests status Docker status - Analysis report + Test report Coverage License

@@ -15,6 +15,13 @@ 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. +## Getting started + +- [Installation](https://docs.kyoo.moe/installation) +- [Api Documentation](https://demo.kyoo.moe/redoc) +- [Documentation (work in progress)](https://docs.kyoo.moe) +- [Contributing](./CONTRIBUTING.md) + ## Features - Manage your movies, tv-series & anime - Download metadata automatically @@ -22,17 +29,52 @@ Feel free to open issues or pull requests, all contribution are welcomed. - Account system with a permission system - Handle subtitles natively with embedded fonts (ass, subrip or vtt) - Entirely free and works without internet (when metadata have already been downloaded) - - Works on Linux, Windows, Docker and probably Mac. + - Works on Linux, Windows, Docker and probably Mac - A powerful plugin system -## Getting started +## Live Demo - - [Installation]() - - [Api Documentation]() - - [Documentation (work in progress)]() - - [Contributing](./CONTRIBUTING.md) +You can see a live demo with copyright-free movies here: [demo.kyoo.moe](https://demo.kyoo.moe). +Thanks to the [blender studio](https://www.blender.org/about/studio/) for providing open-source movies available for all. + +The files available on the demo server can be downloaded [here](https://demo.kyoo.moe/files.zip). The demo server is simply created using the following docker compose: + +```yml +version: "3.8" + +services: + kyoo: + build: "." + restart: on-failure + environment: + - KYOO_DATADIR=/var/lib/kyoo + - BASICS__PUBLICURL=https://demo.kyoo.sdg + - KYOO_MetadataInShow=false + - DATABASE__SERVER=postgres + - DATABASE__POSTGRES__USER_ID=kyoo + - DATABASE__POSTGRES__PASSWORD=kyooPassword + ports: + - "80:5000" + depends_on: + - postgres + volumes: + - kyoo:/var/lib/kyoo + postgres: + image: "postgres" + restart: on-failure + environment: + - POSTGRES_USER=kyoo + - POSTGRES_PASSWORD=kyooPassword + volumes: + - db:/var/lib/postgresql/data + +volumes: + kyoo: + db: +``` ## Screens + ![Show](../screens/show.png?raw=true) - - - ![Show Dropdown](../screens/show_dropdown.png?raw=true) diff --git a/src/Kyoo.Abstractions/Module.cs b/src/Kyoo.Abstractions/Module.cs index e0f8c53f..2bace5b2 100644 --- a/src/Kyoo.Abstractions/Module.cs +++ b/src/Kyoo.Abstractions/Module.cs @@ -99,8 +99,7 @@ namespace Kyoo.Abstractions /// The public URl of kyoo (without a slash at the end) public static Uri GetPublicUrl(this IConfiguration configuration) { - string uri = configuration["basics:publicUrl"]?.TrimEnd('/') ?? "http://localhost:5000"; - return new Uri(uri); + return new Uri(configuration["basics:publicUrl"] ?? "http://localhost:5000"); } } } diff --git a/src/Kyoo.Authentication/AuthenticationModule.cs b/src/Kyoo.Authentication/AuthenticationModule.cs index d5e73eb9..ee3cfdc9 100644 --- a/src/Kyoo.Authentication/AuthenticationModule.cs +++ b/src/Kyoo.Authentication/AuthenticationModule.cs @@ -130,16 +130,16 @@ namespace Kyoo.Authentication foreach (Client client in clients) { client.RedirectUris = client.RedirectUris - .Select(x => x.StartsWith("/") ? publicUrl + x : x) + .Select(x => x.StartsWith("/") ? publicUrl.ToString().TrimEnd('/') + x : x) .ToArray(); } services.AddIdentityServer(options => { options.IssuerUri = publicUrl.ToString(); - options.UserInteraction.LoginUrl = $"{publicUrl}/login"; - options.UserInteraction.ErrorUrl = $"{publicUrl}/error"; - options.UserInteraction.LogoutUrl = $"{publicUrl}/logout"; + options.UserInteraction.LoginUrl = $"{publicUrl}login"; + options.UserInteraction.ErrorUrl = $"{publicUrl}error"; + options.UserInteraction.LogoutUrl = $"{publicUrl}logout"; }) .AddInMemoryIdentityResources(IdentityContext.GetIdentityResources()) .AddInMemoryApiScopes(IdentityContext.GetScopes())