Aller au contenu

Fichier d'environnement

Le fichier .env contient toutes les variables de configuration. Créez-le dans le même répertoire que votre docker-compose.yml.

cd stream-fusion
nano .env

Générer des clés secrètes

# Clé secrète (SECRET_API_KEY, PEER_MASTER_KEY, MEILI_MASTER_KEY)
openssl rand -hex 32

# Clé Fernet (CONFIG_SECRET_KEY)
python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

# Mot de passe PostgreSQL
openssl rand -hex 16
# Clé secrète
-join ((1..64) | ForEach-Object { [char](Get-Random -Minimum 33 -Maximum 126) })

# UUID pour SECRET_API_KEY
[guid]::NewGuid().ToString()

# Mot de passe PostgreSQL
-join ((1..32) | ForEach-Object { [char](Get-Random -Minimum 33 -Maximum 126) })

Template minimal

Copiez ce contenu et adaptez les valeurs à votre installation :

.env — Template minimal
# ─── Obligatoire ────────────────────────────────────────────────────────────────
SECRET_API_KEY=générer-avec-openssl-rand-hex-32
CONFIG_SECRET_KEY=générer-avec-Fernet-generate_key
TMDB_API_KEY=votre-cle-api-tmdb
PEER_MASTER_KEY=générer-avec-openssl-rand-hex-32

# ─── Général ─────────────────────────────────────────────────────────────────
TZ=Europe/Paris
DOMAIN=sf.streamfusion.link
USE_HTTPS=True

# ─── PostgreSQL ──────────────────────────────────────────────────────────────
POSTGRES_USER=streamfusion
POSTGRES_PASSWORD=générer-avec-openssl-rand-hex-16
POSTGRES_DB=streamfusion

# ─── Meilisearch ─────────────────────────────────────────────────────────────
MEILI_MASTER_KEY=générer-avec-openssl-rand-hex-16

Variables obligatoires

Ces variables doivent être définies avant de lancer l'application :

Variable Description Génération
SECRET_API_KEY Clé secrète admin + auth API openssl rand -hex 32 ou UUID
CONFIG_SECRET_KEY Clé Fernet pour les tokens de config Fernet.generate_key()
TMDB_API_KEY Clé API TheMovieDB Créer un compte TMDB
PEER_MASTER_KEY Clé maîtresse pour les secrets peer openssl rand -hex 32
POSTGRES_PASSWORD Mot de passe PostgreSQL openssl rand -hex 16
MEILI_MASTER_KEY Clé maîtresse Meilisearch openssl rand -hex 16

Services debrid

Compte serveur vs compte personnel

Si un service debrid est configuré via les variables d'environnement, il sera partagé entre tous les utilisateurs de l'instance. Pour une petite instance familiale, cela peut être acceptable. Pour une instance publique, c'est fortement déconseillé : les services debrid sont à bas coût pour les utilisateurs individuels, et un compte unique utilisé par de nombreux utilisateurs risque d'être banni pour usage suspect.

Préférez laisser chaque utilisateur configurer son propre service debrid depuis la page de configuration du plugin Stremio.

Si vous souhaitez tout de même configurer un service debrid au niveau serveur :

AD_TOKEN=votre-token-alldebrid
TB_TOKEN=votre-token-torbox
PM_TOKEN=votre-token-premiumize
RD_TOKEN=votre-token-real-debrid

Service en fin de vie

Real-Debrid est un service déconseillé : cache FR pauvre, résultats fréquemment faux, API restrictive. Son support est maintenu pour les comptes existants uniquement.

DL_TOKEN=votre-token-debrid-link
ED_TOKEN=votre-token-easydebrid
OC_CREDENTIALS=email:password
PP_CREDENTIALS=email:password
STREMTHRU_URL=https://stremthru.13377001.xyz

Proxy

Les débrideurs bloquent parfois les adresses IP de datacenter. Si vous rencontrez des erreurs, utilisez Cloudflare WARP :

# Proxy pour les requêtes API vers les debrideurs
PROXY_URL=http://warp:1080

# Proxifier également les liens de streaming (utilise plus de bande passante)
PLAYBACK_PROXY=http://warp:1080

Voir la page Proxy pour les détails sur PROXIED_LINK, PROXY_URL et PLAYBACK_PROXY.


HTTPS

# Activer HTTPS pour les URLs générées par l'addon
USE_HTTPS=True

En production avec Traefik

Activez USE_HTTPS=True si votre instance est derrière un reverse-proxy avec TLS.


Pour aller plus loin

Pour la liste exhaustive de toutes les ~90 variables, consultez la page Variables d'environnement.