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 @@
-
+
@@ -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
+

- - -

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())