Installation

Installez KROMA sur tous vos écrans.

Le modèle tient en une phrase : on installe le serveur une seule fois, puis chaque client, TV, ordinateur, mobile, navigateur, pointe vers lui et s'en souvient.

Le serveur

Installé une fois, NAS, Docker ou Raspberry Pi.

Les clients

Chaque écran demande son adresse au démarrage.

Installez le serveur

Un seul serveur Rust : sur un NAS, dans Docker, ou compilé à la main. Il sert l'API, l'app web et le flux vidéo sur le port 4040 en direct-play : la vidéo n'est jamais transcodée.

Docker / Docker Compose

Recommandé

L'image est multi-architecture (linux/amd64 + linux/arm64) : elle tourne aussi bien sur un x86 que sur un Raspberry Pi 4/5 en OS 64 bits. Enregistrez ce fichier puis lancez la pile.

docker-compose.yml
services:
  kroma:
    image: ghcr.io/maxscharwath/kroma:latest
    restart: unless-stopped
    ports:
      - "4040:4040"
    environment:
      # Library roots INSIDE the container (must match the bind-mount below).
      KROMA_MEDIA_DIRS: /media
    volumes:
      - kroma-data:/data
      - /volume1/video:/media
volumes:
  kroma-data:
bash
docker compose up -d

MédiasKROMA_MEDIA_DIRS pointe vers vos médias dans le conteneur ; montez le dossier en lecture-écriture si vous utilisez les requêtes / téléchargements intégrés.

Synology (.spk)

Le paquet est auto-signé, pas certifié Synology : il faut l'autoriser une fois.

  1. 1Centre de paquets → Paramètres → Niveau de confiance : autorisez N'importe quel éditeur.
  2. 2Centre de paquets → Installation manuelle, choisissez le .spk, suivez l'assistant.
  3. 3Ouvrez KROMA ; configurez les dossiers médias dans sa console d'administration.

Depuis les sources (cargo)

Un seul binaire Rust : compilez-le vous-même. SQLite et TLS sont embarqués ; ffmpeg/ffprobe restent requis pour les métadonnées et l’audio HLS.

bash
# Rust ≥ 1.86 + ffprobe. From the repo:
cd server
KROMA_MEDIA_DIRS=/mnt/media cargo run --release
Options du serveur (server/README) →

Installez les apps

Récupérez le bon paquet dans les GitHub Releases (un tag vX.Y.Z porte tous les artefacts). Un réglage unique par appareil, mode développeur ou levée de quarantaine, puis le client demande l'adresse du serveur au premier lancement. GitHub Releases →

Téléviseurs

Sideload depuis un ordinateur du même réseau. Le mode développeur s'active une fois.

Étapes détaillées

Samsung (Tizen)

.wgt

Mode développeurPanneau Apps → tapez 1 2 3 4 5, activez-le et saisissez l'IP de votre ordinateur. Le .wgt est déjà signé, aucun certificat requis, juste le CLI de Tizen Studio.

bash
sdb connect 192.168.1.50
tizen install -n KROMA.wgt -t <device-id>

LG (webOS 4.0+)

.ipk

Mode développeurInstallez l'app Developer Mode (compte LG gratuit), activez Dev Mode puis Key Server. La session dure 50 h, à prolonger dans l'app.

bash
bun add -g @webos-tools/cli
ares-install tv.kroma.webos_*_all.ipk -d tv

Android TV / Google TV / Chromecast

.apk

Options développeurParamètres → À propos → build Android TV OS : cliquez 7 fois, puis activez le débogage réseau. Sans ordinateur, l'app Downloader installe l'.apk depuis une URL.

bash
adb connect 192.168.1.60:5555
adb install -r KROMA-androidtv.apk

Apple TV

Bêta

TestFlightDistribuée via TestFlight, sans sideload. Rejoindre la bêta →

Ordinateurs

Des installeurs classiques. Les apps de bureau se mettent à jour toutes seules ensuite.

Étapes détaillées

macOS

.dmg

QuarantaineNon notarisée : au premier lancement, macOS la dit « endommagée ». Glissez-la dans Applications, puis levez la quarantaine une fois (ou Réglages → Confidentialité → Ouvrir quand même).

bash
xattr -dr com.apple.quarantine /Applications/KROMA.app

Windows

.exe.msi

SmartScreenInstalleur non signé : « Windows a protégé votre PC » → Informations complémentairesExécuter quand même. Mises à jour silencieuses ensuite.

Linux (bureau)

.AppImage.deb

Vidéompv est embarqué (le sidecar kroma-mpv pilote le décodage matériel), rien à installer.

bash
chmod +x KROMA_*.AppImage && ./KROMA_*.AppImage
# .deb : sudo apt install ./KROMA_*.deb

Steam Deck

.AppImage
  1. 1Copiez KROMA_*.AppImage sur le Deck et chmod +x (Mode Bureau).
  2. 2Steam → Ajouter un jeu non-Steam → Parcourir, puis choisissez l'AppImage.
  3. 3Lancez en Mode Jeu, disposition manette sur Gamepad (croix = focus, A = OK, B = retour).

Mobile

Les apps téléphone sont en cours de finition, distribuées via les canaux de test.

Étapes détaillées

iPhone / iPad

Bêta

TestFlightRejoignez la bêta iOS via TestFlight. Instructions testeurs →

Android

Bêta

FirebaseDistribuée via Firebase App Distribution. Instructions testeurs →

NAS & navigateur

Là où le serveur vit déjà, il n'y a le plus souvent rien de plus à installer.

Étapes détaillées

Navigateur web

Rien à installerLe serveur sert lui-même l'app web. Ouvrez son adresse dans n'importe quel navigateur, ou laissez la découverte mDNS le trouver sur le réseau.

url
http://nas.local:4040

Synology

.spk

Mises à jour automatiquesLa meilleure voie sur un NAS : ajoutez KROMA comme source de paquets dans le Centre de paquets. Le serveur s'installe puis se met à jour tout seul, sans re-télécharger un .spk à chaque version.

  1. 1Centre de paquets → ParamètresSources de paquetsAjouter.
  2. 2Collez l'URL de la source ci-dessous, puis validez le niveau de confiance « N'importe quel éditeur » (le paquet est auto-signé).
  3. 3Installez KROMA depuis la source ; les mises à jour arrivent ensuite automatiquement.
source de paquets
https://packages.kroma.tv

Préférez une installation manuelle ? Téléchargez le .spk depuis les releases et passez par Centre de paquets → Installation manuelle. Voir les releases →

Signé pour le développement, pas pour un store.

Les builds sont signés avec un certificat de développement, pas de certificat de store payant. C'est toute la raison du réglage unique par appareil (mode développeur, quarantaine, SmartScreen) : une fois fait, les mises à jour passent sans friction. Tout reste auto-hébergé, votre médiathèque et votre activité ne quittent jamais votre réseau.

Un paquet qui refuse de s'installer ? Le plus souvent une signature qui a changé : désinstallez l'ancienne version, puis réinstallez.