--- title: Kyoo created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, media-streaming, kyoo, video, anime, transcoding] confidence: high contested: false sources: - https://selfh.st/apps/?tag=Media+Streaming - https://github.com/zoriya/kyoo - https://kyoo.zoriya.dev/ --- # 🎬 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é) ```yaml # 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 `/media` ou 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 : `ro` dans 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