Files
2026-06-09 18:40:21 +02:00

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
catalogue
media-streaming
kyoo
video
anime
transcoding
high false
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é)

# 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

🔗 Pages Liées