Skip to content

Commit

Permalink
Docs(deploy): Add Catalogs, Trakt and Manager plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
LimeDrive committed Sep 29, 2024
1 parent 45bda1b commit 21fe40d
Show file tree
Hide file tree
Showing 53 changed files with 1,792 additions and 10 deletions.
44 changes: 44 additions & 0 deletions deploy/catalogs-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
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:
3 changes: 3 additions & 0 deletions deploy/catalogs.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
BASE_URL=https://catalogs.example.com
TRAKT_CLIENT_ID=<REDACTED>
TRAKT_CLIENT_SECRET=<REDACTED>
14 changes: 14 additions & 0 deletions deploy/manager-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
networks:
proxy_network:
external: true

services:
stremio-addon-manager:
image: ghcr.io/limedrive/stremio-addon-manager:latest
container_name: stremio-addon-manager
expose:
- 80
restart: unless-stopped
networks:
- proxy_network
44 changes: 44 additions & 0 deletions deploy/trakt-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
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-trakt-db\";"

services:
stremio-trakt-addon:
image: reddravenn/stremio-trakt-addon:latest
container_name: stremio-trakt-addon
expose:
- 7000
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-trakt-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}
TMDB_CACHE_DURATION: ${TMDB_CACHE_DURATION:-1d}
TRAKT_CACHE_DURATION: ${TRAKT_CACHE_DURATION:-1d}
LOG_LEVEL: ${LOG_LEVEL:-info}
LOG_INTERVAL_DELETION: ${LOG_INTERVAL_DELETION:-1d}
NODE_ENV: ${NODE_ENV:-production}
restart: unless-stopped
volumes:
- stremio-trakt-addon-cache:/usr/src/app/cache
- stremio-trakt-addon-log:/usr/src/app/log
networks:
- proxy_network

volumes:
stremio-trakt-addon-cache:
stremio-trakt-addon-log:
3 changes: 3 additions & 0 deletions deploy/trakt.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
BASE_URL=https://trakt.example.com
TRAKT_CLIENT_ID=<REDACTED>
TRAKT_CLIENT_SECRET=<REDACTED>
6 changes: 5 additions & 1 deletion docs/DOCS_VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,8 @@ To push docs deployment action commit must start with `Docs(deploy):` prefix and
## v1.0.3
- Fix: language switcher
## v1.0.4
- Fix: docker-compose cmd
- Fix: docker-compose cmd
## v1.1.0
- Add: Catalogs plugin
- Add: Trakt plugin
- Add: Manager plugin
5 changes: 4 additions & 1 deletion docs/en/.pages
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
nav:
- Accueil:
- 0. Home:
- index.md
- Stremio
- StreamFusion
- How-To
- Catalogs
- Trakt
- Manager
- ...
8 changes: 8 additions & 0 deletions docs/en/Catalogs/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
title: 3. Catalogs-Plugin
nav:
- Description: catalogs.md
- Prerequisites: prerequis.md
- Installation:
- Docker-compose: docker_install.md

# WIP : Configuration
78 changes: 78 additions & 0 deletions docs/en/Catalogs/catalogs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Stremio Catalog Providers

![Stremio Catalog Providers](./images/image-jic6p-29-09-2024.jpg)

## Description

Stremio Catalog Providers is a plugin optimized for French content, designed to enhance the Stremio user experience by adding new catalogs. This plugin uses The Movie Database (TMDB) as its main source of information, while integrating APIs from Rating Poster Database (RPDB) and FanArt to improve visual presentation and metadata.

!!! info "Active Development"
This plugin is actively developed by a French developer, ensuring special attention to the needs of the French-speaking community.

## Key Features

### Dynamic Streaming Platform Management

- Manages over 600 streaming platforms
- Adapts to user configurations via the addon's settings page

### Movie and Series Catalogs

- Offers catalogs of popular and recent content
- Displays titles and posters in the user's configured language

### Region-Specific Content

- Aggregates region-specific content (e.g., Netflix FR, Netflix US) into a unified catalog
- Ensures access to localized content for users

### Age-Based Filtering (Kids Catalog)

- Filters content based on age ranges using US certifications
- Excludes inappropriate genres
- Detailed guidelines are accessible via the "?" icon in the settings

### Advanced Catalog Filtering

- Allows filtering catalogs by genre, rating, and release year

### Customizable Catalog Display

- Allows organizing the display order of catalogs via the addon's configuration page

### Recommendations and Similar Titles

- Displays recommended and similar content directly on the content's page

### Trakt Integration

- Synchronizes Trakt watch history with Stremio
- Marks watched items in catalogs with a customizable emoji
- Automatic daily synchronization (customizable interval)
- Automatic token refresh to avoid re-authentication
- Allows manually marking content as watched on Trakt from Stremio

### RPDB Integration

- Provides movie and series posters with their ratings

### FanArt Integration

- Replaces titles with logos in the selected language (or English by default)

### Progressive Scraping

- Preloads upcoming content pages while scrolling to improve loading times

### Customizable Cache Management

- Catalog cache duration adjustable via an environment variable
- Customizable RPDB poster caching to reduce API load

## Data Source

All catalog data comes from TMDB, in compliance with their Terms of Service. This product uses the TMDB API but is not endorsed or certified by TMDB.

## Acknowledgements

A big thank you to the French developer of Stremio Catalog Providers for their hard work and dedication to improving the Stremio experience for both the French-speaking and international community. Your contribution is greatly appreciated!
Loading

0 comments on commit 21fe40d

Please sign in to comment.