2021-03-28 21:25:33 +02:00
2021-04-15 23:15:45 +02:00
2021-04-20 00:47:08 +02:00
2021-03-29 00:15:12 +02:00
2021-08-14 20:42:20 +02:00
2021-03-29 23:33:26 +02:00
2021-09-04 12:37:40 +02:00
2020-01-18 17:49:12 +01:00
2021-04-16 16:02:44 +02:00
2021-08-06 13:25:34 +02:00

Kyoo

Build status Tests status Analysis report License

Kyoo is an open-souce media browser which allow you to stream your movies, tv-shows or animes. It is an alternative to Plex, Emby or Jellyfin.

Kyoo has been created from scratch, it is not a fork. Everything is and always will be free and open-source.

Feel free to open issues or pull requests, all contribution are welcomed.

Screens

Show


Show Dropdown


Browse


Filters


People


Player


Search

Installation

On any system, you will need a running postgres server where Kyoo can connect. The connection's informations can be specified on the appsettings.json file, the default connection settings use the user kyoo with the password kyooPassword on the server at 127.0.0.1:5432 (the default postgres url).

You can find nightly prebuild zipped version here:

For arch based, debian based or rpm compatible distributions, a package is automatically created and can be downloaded:

A docker file is also available and an up-to-date docker image is available at: ghcr.io/anonymusraccoon/kyoo:master. An example docker-compose image is available at the root of the repository. You can customise it to feet your needs and use a prebuild image or you can build it from source. To do that, clone the repository with the --recurse flag and run docker-compose up .

Repositories

This is the main repository for Kyoo. Here, you will find all the server's code, the build process & the login page.

In the Kyoo.WebApp repository, you will find the code of the web app (created usint angular).

In the Kyoo.Transcoder repository, you will find the C code that handle transcoding, transmuxing & subtitles/codecs extractions from media files.

Both of theses repository are needed to fully build Kyoo, when you clone this repository you should use the --recurse argument of git like so: git clone https://github.com/AnonymusRaccoon/Kyoo --recurse.

Development & Build

To develop for Kyoo, you will need the .NET 5.0 SDK and node & npm for the webapp. If you want to build the transcoder, you will also need a cmake compatible environement.

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 pack the application, run the dotnet publish -c Release -o <build_path> Kyoo command. This will build the server, the webapp and the transcoder and output files in the <build_path> directory.

If you want, you can build kyoo without it's transcoder by running dotnet build '-p:SkipTranscoder=true'. You are now responsible of bringing a transcoder dynamic library at the build location. If you don't bring one, the transcoder won't be available.

You can also disable the webapp build by running dotnet build '-p:SkipWebApp=true'. Those two options can be combined by running dotnet build '-p:SkipTranscoder=true;SkipWebApp=true'

Plugins

You can create plugins for Kyoo. To do that, create a C# Library project targetting the .Net Core 5 and install the 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.

Description
Languages
TypeScript 49.7%
C# 34.2%
Go 9.3%
Python 5.3%
JavaScript 0.4%
Other 1%