5.0 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kyoo | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🎬 Kyoo
Plateforme de streaming moderne style Netflix/SonyLIV, écrite en Go + React, pensée pour les bibliothèques auto-hébergées avec une UI soignée.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | Kyoo |
| Slug | app-kyoo |
| Description | Frontend moderne pour bibliothèque vidéo, avec scan automatique, métadonnées TMDB/TVDB/AniDB, transcodage et multi-profils |
| Site officiel | https://kyoo.zoriya.dev/ |
| Repository | https://github.com/zoriya/kyoo |
| Stars | 2 468 ⭐ |
| Licence | GPL-3.0 |
| Langage principal | Go, TypeScript |
| Catégorie | Media Streaming |
| Tags | [catalogue, media-streaming, kyoo, video, anime, transcoding] |
📝 Description
Kyoo est un projet jeune (mais déjà très mature) qui vise à offrir une expérience de streaming équivalente à Netflix, sans aucune dépendance à un service externe et avec un frontend moderne responsive. Il est conçu comme un meta-frontend : il indexe un dossier de fichiers (films, séries, anime) et s'appuie sur les métadonnées publiques (TMDB, TVDB, AniDB, MAL) pour construire une bibliothèque navigable avec carrousels, recherche fuzzy, fiches détaillées, saisons/épisodes, gestion des versions multiples (multi-audio, multi-subs).
L'architecture est full microservices dans un seul binaire Go (Kratos) couplé à une SPA React (NextJS). Le transcodage s'appuie sur ffmpeg avec support GPU (NVENC, QSV, VAAPI). Les clients officiels incluent web, Android, iOS, Android TV et iPadOS. Multi-utilisateurs, multi-profils, reprise de lecture, watchlist, follow de séries sont au rendez-vous.
Points forts : UI vraiment moderne, navigation fluide, gestion native des anime (AniDB), support multi-saisons/OVA/Specials, scan rapide via hash. Limites : projet en cours de finalisation (API et clients mobiles encore en alpha sur certaines plateformes), catalogue de plugins moins riche que Jellyfin, et pas de Live TV/DVR.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
version: "3.8"
services:
kyoo:
image: zoriya/kyoo:latest
container_name: kyoo
restart: unless-stopped
ports:
- "8000:8000" # Interface web
environment:
K_DATABASE_URL: postgres://kyoo:ChangeM3_KYOO@db:5432/kyoo
K_REDIS_URL: redis://redis:6379
K_MEDIA_PATH: /media
K_JWT_SECRET: ChangeM3_JWT_SECRET_LONG
volumes:
- /media:/media:ro
depends_on:
- db
- redis
db:
image: postgres:16
container_name: kyoo-db
restart: unless-stopped
environment:
POSTGRES_USER: kyoo
POSTGRES_PASSWORD: ChangeM3_KYOO
POSTGRES_DB: kyoo
volumes:
- ./db:/var/lib/postgresql/data
redis:
image: redis:7-alpine
container_name: kyoo-redis
restart: unless-stopped
Installation manuelle
Compilation Go : go build ./cmd/kyoo. Frontend : pnpm install && pnpm build, servable par nginx/Caddy. PostgreSQL 15+ et Redis 7+ requis.
⚙️ Configuration
- Bibliothèques : pointeur unique
/mediaou plusieurs dossiers déclarés dans l'admin web. Le scan tourne en background. - Métadonnées : configurer les providers (TMDB API key, AniDB credentials, MAL token).
- Transcodage : choisir le profil GPU/CPU, définir les qualités disponibles (240p à 4K HDR).
- Comptes : admin + utilisateurs, profils multiples, contrôle parental (à venir).
- Scan : intervalle configurable, mode "watch" (détection automatique de nouveaux fichiers).
- Reverse proxy : Traefik ou Caddy avec subpath ou sous-domaine dédié.
🔗 Alternatives
- Jellyfin — Plus mature, plus de plugins, plus de clients stables, mais UI plus classique.
- Plex — Fermé, payant pour certaines fonctions, mais UX très polie.
- Streamyfin — Frontend moderne pour Jellyfin, pas un backend complet.
- MiniFlix / Overseerr + Jellyfin — Stack modulaire qui fait une partie des jobs de Kyoo.
🔒 Sécurité
- Changer la clé JWT (
K_JWT_SECRET) — c'est elle qui signe les sessions. - Isoler l'accès admin par reverse proxy (app-traefik + Authelia/Authentik).
- Ne pas exposer le dossier média en écriture :
rodans la stack Docker. - Activer HTTPS obligatoire (Kyoo ne gère pas le TLS en natif).
📚 Ressources
- Site officiel : https://kyoo.zoriya.dev/
- Repository : https://github.com/zoriya/kyoo
- Documentation : https://kyoo.zoriya.dev/docs
- Discord communautaire : https://discord.gg/kyoo
🔗 Pages Liées
- cat-media-streaming (catégorie parente)
- app-jellyfin — Alternative mature
- app-tvheadend — Complément Live TV
- app-traefik — Reverse proxy HTTPS
- recettes-docker-compose — Templates
- securisation-home-lab — Bonnes pratiques