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.
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:docker compose up -dMé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.
- 1Centre de paquets → Paramètres → Niveau de confiance : autorisez N'importe quel éditeur.
- 2Centre de paquets → Installation manuelle, choisissez le .spk, suivez l'assistant.
- 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.
# Rust ≥ 1.86 + ffprobe. From the repo:
cd server
KROMA_MEDIA_DIRS=/mnt/media cargo run --releaseInstallez 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éesSamsung (Tizen)
.wgtMode 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.
sdb connect 192.168.1.50
tizen install -n KROMA.wgt -t <device-id>LG (webOS 4.0+)
.ipkMode développeurInstallez l'app Developer Mode (compte LG gratuit), activez Dev Mode puis Key Server. La session dure 50 h, à prolonger dans l'app.
bun add -g @webos-tools/cli
ares-install tv.kroma.webos_*_all.ipk -d tvAndroid TV / Google TV / Chromecast
.apkOptions 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.
adb connect 192.168.1.60:5555
adb install -r KROMA-androidtv.apkApple TV
BêtaTestFlightDistribué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éesmacOS
.dmgQuarantaineNon 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).
xattr -dr com.apple.quarantine /Applications/KROMA.appWindows
.exe.msiSmartScreenInstalleur non signé : « Windows a protégé votre PC » → Informations complémentaires → Exécuter quand même. Mises à jour silencieuses ensuite.
Linux (bureau)
.AppImage.debVidéompv est embarqué (le sidecar kroma-mpv pilote le décodage matériel), rien à installer.
chmod +x KROMA_*.AppImage && ./KROMA_*.AppImage
# .deb : sudo apt install ./KROMA_*.debSteam Deck
.AppImage- 1Copiez KROMA_*.AppImage sur le Deck et chmod +x (Mode Bureau).
- 2Steam → Ajouter un jeu non-Steam → Parcourir, puis choisissez l'AppImage.
- 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éesiPhone / iPad
BêtaTestFlightRejoignez la bêta iOS via TestFlight. Instructions testeurs →
Android
BêtaFirebaseDistribué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éesNavigateur 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.
http://nas.local:4040Synology
.spkMises à 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.
- 1Centre de paquets → Paramètres → Sources de paquets → Ajouter.
- 2Collez l'URL de la source ci-dessous, puis validez le niveau de confiance « N'importe quel éditeur » (le paquet est auto-signé).
- 3Installez KROMA depuis la source ; les mises à jour arrivent ensuite automatiquement.
https://packages.kroma.tvPré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.