Aller au contenu

Installation de Stremio Catalog Providers avec Docker Compose

Cette documentation vous guidera à travers le processus d'installation de l'addon Stremio Catalog Providers en utilisant Docker Compose.

Prérequis

Assurez-vous d'avoir rempli tous les prérequis d'installation avant de commencer.

Important

Vérifiez que vous avez bien obtenu toutes les API-Keys nécessaires avant de commencer l'installation.

Étapes d'installation

1. Création du dossier d'installation

Créez un nouveau dossier pour l'installation de l'addon :

mkdir stremio-catalog-providers
cd stremio-catalog-providers

Astuce

Choisissez un emplacement facilement accessible pour votre dossier d'installation.

2. Création de la base de données

Exécutez la commande suivante pour créer la base de données nécessaire a l'addon :

docker exec -e PGPASSWORD=stremio stremio-postgres psql -U stremio -d postgres -c "CREATE DATABASE \"stremio-catalog-db\";"

Note

Assurez-vous que le conteneur PostgreSQL de Stremio est en cours d'exécution avant d'exécuter cette commande.

3. Création du fichier docker-compose.yml

Créez un fichier docker-compose.yml dans le dossier d'installation et copiez-y le contenu suivant :

---
networks:
  proxy_network:
    external: true

# Create the DB first : docker exec -e PGPASSWORD=stremio stremio-postgres psql -U stremio -d postgres -c "CREATE DATABASE \"stremio-catalog-db\";"

services:
  stremio-catalog-providers:
    image: reddravenn/stremio-catalog-providers:latest
    container_name: stremio-catalog-providers
    expose:
      - 7000
    restart: unless-stopped
    environment:
      PORT: 7000
      BASE_URL: ${BASE_URL:?Please provide a base URL in the environment}
      DB_USER: ${POSTGRES_USER:-stremio}
      DB_HOST: ${POSTGRES_HOST:-stremio-postgres}
      DB_NAME: ${DB_NAME:-stremio-catalog-db}
      DB_PASSWORD: ${POSTGRES_PASSWORD:-stremio}
      DB_PORT: ${POSTGRES_PORT:-5432}
      DB_MAX_CONNECTIONS: ${DB_MAX_CONNECTIONS:-20}
      DB_IDLE_TIMEOUT: ${DB_IDLE_TIMEOUT:-30000}
      DB_CONNECTION_TIMEOUT: ${DB_CONNECTION_TIMEOUT:-2000}
      REDIS_HOST: ${REDIS_HOST:-stremio-redis}
      REDIS_PORT: ${REDIS_PORT:-6379}
      TRAKT_CLIENT_ID: ${TRAKT_CLIENT_ID:?Please provide a Trakt client ID in the environment}
      TRAKT_CLIENT_SECRET: ${TRAKT_CLIENT_SECRET:?Please provide a Trakt client secret in the environment}
      TRAKT_HISTORY_FETCH_INTERVAL: ${TRAKT_HISTORY_FETCH_INTERVAL:-1d}
      CACHE_CATALOG_CONTENT_DURATION_DAYS: ${CACHE_CATALOG_CONTENT_DURATION_DAYS:-1}
      CACHE_POSTER_CONTENT_DURATION_DAYS: ${CACHE_POSTER_CONTENT_DURATION_DAYS:-7}
      LOG_LEVEL: ${LOG_LEVEL:-info}
      LOG_INTERVAL_DELETION: ${LOG_INTERVAL_DELETION:-1d}
      NODE_ENV: ${NODE_ENV:-production}
    volumes:
      - stremio-catalog-logs:/usr/src/app/log
      - stremio-catalog-db:/usr/src/app/db
    networks:
      - proxy_network

volume:
  stremio-catalog-logs:
  stremio-catalog-db:

Astuce

Vérifiez que le chemin vers le fichier catalogs-compose.yml est correct dans votre structure de projet.

4. Création du fichier .env

Créez un fichier .env dans le même dossier et ajoutez-y les variables d'environnement nécessaires :

BASE_URL=https://catalogs.example.com
TRAKT_CLIENT_ID=<votre_trakt_client_id>
TRAKT_CLIENT_SECRET=<votre_trakt_client_secret>

Attention

Ne partagez jamais vos identifiants et secrets client. Gardez-les confidentiels.

5. Configuration des variables d'environnement

Voici un tableau détaillant toutes les variables d'environnement disponibles :

Variable Description Valeur par défaut
BASE_URL URL de base pour l'addon (obligatoire)
POSTGRES_USER Nom d'utilisateur PostgreSQL stremio
POSTGRES_HOST Hôte PostgreSQL stremio-postgres
DB_NAME Nom de la base de données stremio-catalog-db
POSTGRES_PASSWORD Mot de passe PostgreSQL stremio
POSTGRES_PORT Port PostgreSQL 5432
DB_MAX_CONNECTIONS Nombre maximum de connexions à la DB 20
DB_IDLE_TIMEOUT Timeout d'inactivité de la DB (ms) 30000
DB_CONNECTION_TIMEOUT Timeout de connexion à la DB (ms) 2000
REDIS_HOST Hôte Redis stremio-redis
REDIS_PORT Port Redis 6379
TRAKT_CLIENT_ID ID client Trakt (obligatoire)
TRAKT_CLIENT_SECRET Secret client Trakt (obligatoire)
TRAKT_HISTORY_FETCH_INTERVAL Intervalle de récupération de l'historique Trakt 1d
CACHE_CATALOG_CONTENT_DURATION_DAYS Durée du cache des catalogues (jours) 1
CACHE_POSTER_CONTENT_DURATION_DAYS Durée du cache des affiches (jours) 7
LOG_LEVEL Niveau de journalisation info
LOG_INTERVAL_DELETION Intervalle de suppression des logs 1d
NODE_ENV Environnement Node.js production

Note

Ajustez ces variables selon vos besoins spécifiques. Les valeurs par défaut conviennent à la plupart des configurations.

Création de l'application Trakt.tv

Pour obtenir les identifiants TRAKT_CLIENT_ID et TRAKT_CLIENT_SECRET, vous devez créer une application sur Trakt.tv. Voici comment procéder :

  1. Créez un compte sur Trakt.tv si vous n'en avez pas déjà un.
  2. Allez dans la section des applications : https://trakt.tv/oauth/applications.
  3. Créez une nouvelle application en remplissant les informations requises (nom, description, etc.).
  4. Pour l'URL de redirection, utilisez le format suivant : BASE_URL + /callback Par exemple, si votre BASE_URL est https://catalogs.example.com, l'URL de redirection sera https://catalogs.example.com/callback.
  5. Une fois l'application créée, vous obtiendrez le TRAKT_CLIENT_ID et le TRAKT_CLIENT_SECRET nécessaires pour configurer l'addon.

N'oubliez pas de garder ces informations confidentielles et de ne pas les partager publiquement.

6. Lancement de l'installation

Exécutez la commande suivante pour lancer l'installation :

docker compose up -d

Astuce

Utilisez l'option -d pour exécuter les conteneurs en arrière-plan.

7. Configuration du nom de domaine

Utilisez Nginx Proxy Manager pour relier votre nom de domaine au conteneur stremio-catalog-providers. Suivez les étapes de configuration dans Nginx Proxy Manager pour ajouter une nouvelle "Proxy Host" pointant vers le conteneur.

Important

Assurez-vous que votre domaine est correctement configuré et que les certificats SSL sont à jour.

Maintenance

Pour effectuer la maintenance de l'addon, utilisez les commandes Docker Compose suivantes :

  • Arrêter l'addon : docker compose stop
  • Redémarrer l'addon : docker compose restart
  • Voir les logs : docker compose logs -f stremio-catalog-providers
  • Mettre à jour l'addon :
docker compose pull
docker compose up -d

Astuce

Consultez régulièrement les logs pour vous assurer du bon fonctionnement de l'addon.

Désinstallation

Pour désinstaller complètement l'addon, suivez ces étapes :

  1. Arrêtez et supprimez les conteneurs :

    docker compose down -v
    

  2. Supprimez la base de données du conteneur PostgreSQL :

    docker exec -e PGPASSWORD=stremio stremio-postgres psql -U stremio -d postgres -c "DROP DATABASE \"stremio-catalog-db\";"
    

  3. Supprimez le dossier d'installation :

    cd ..
    rm -rf stremio-catalog-providers
    

Attention

La désinstallation supprimera toutes les données associées a l'addon. Assurez-vous de sauvegarder toutes les informations importantes avant de procéder.

N'oubliez pas de supprimer également la configuration du nom de domaine dans Nginx Proxy Manager si vous ne prévoyez pas de réutiliser ce domaine pour un autre service.

Note finale

Si vous rencontrez des problèmes lors de l'installation ou de l'utilisation de l'addon, n'hésitez pas à consulter la documentation officielle ou à demander de l'aide sur les forums de support.