Initial commit: homelab scripts (backup, system update, plex recap, cronmaster trim)
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
# Récapitulatif hebdomadaire Plex pour Discord
|
||||
|
||||
Ce script génère et envoie automatiquement un récapitulatif hebdomadaire des nouveautés de votre serveur Plex sur Discord.
|
||||
|
||||
## Installation
|
||||
|
||||
Les dépendances Python (`requests` et `urllib3`) sont généralement déjà installées avec Python3. Si ce n'est pas le cas, installez-les :
|
||||
|
||||
```bash
|
||||
# Option 1 : Via apt (recommandé sur Debian/Ubuntu)
|
||||
apt install python3-pip
|
||||
pip3 install -r /opt/container/scripts/requirements.txt
|
||||
|
||||
# Option 2 : Vérifier si les modules sont déjà disponibles
|
||||
python3 -c "import requests, urllib3; print('Dépendances OK')"
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
1. **Créer un webhook Discord** :
|
||||
- Allez dans les paramètres de votre salon Discord
|
||||
- Intégrations > Webhooks > Nouveau Webhook
|
||||
- Copiez l'URL du webhook
|
||||
|
||||
2. **Configurer le fichier de configuration** :
|
||||
- Éditez `/opt/container/scripts/plex-recap-config.json`
|
||||
- Ajoutez l'URL du webhook Discord dans `discord.webhook_url`
|
||||
- Vérifiez que les URLs et clés API sont correctes
|
||||
|
||||
## Utilisation
|
||||
|
||||
Le script peut être utilisé de plusieurs façons pour envoyer des récapitulatifs séparés :
|
||||
|
||||
### Méthode 1 : Scripts wrapper (recommandé pour cronmaster)
|
||||
|
||||
Des scripts wrapper sont disponibles pour simplifier l'utilisation :
|
||||
|
||||
**Envoyer uniquement les films** :
|
||||
```bash
|
||||
/opt/container/scripts/plex-recap-movies.sh
|
||||
```
|
||||
|
||||
**Envoyer uniquement les séries** :
|
||||
```bash
|
||||
/opt/container/scripts/plex-recap-series.sh
|
||||
```
|
||||
|
||||
**Envoyer uniquement les demandes approuvées** :
|
||||
```bash
|
||||
/opt/container/scripts/plex-recap-requests.sh
|
||||
```
|
||||
|
||||
### Méthode 2 : Arguments en ligne de commande
|
||||
|
||||
**Envoyer uniquement les films** :
|
||||
```bash
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --movies
|
||||
```
|
||||
|
||||
**Envoyer uniquement les séries** :
|
||||
```bash
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --series
|
||||
```
|
||||
|
||||
**Envoyer uniquement les demandes approuvées** :
|
||||
```bash
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --requests
|
||||
```
|
||||
|
||||
**Envoyer tout (films, séries, demandes) - par défaut** :
|
||||
```bash
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --all
|
||||
# ou simplement
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py
|
||||
```
|
||||
|
||||
**Personnaliser le nombre de jours** :
|
||||
```bash
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --movies --days 14
|
||||
```
|
||||
|
||||
## Planification
|
||||
|
||||
### Option 1 : Via cronmaster (recommandé)
|
||||
|
||||
Vous pouvez créer plusieurs tâches séparées dans cronmaster :
|
||||
|
||||
**Films uniquement** (chaque dimanche à 18h00) :
|
||||
- **Commande** : `/opt/container/scripts/plex-recap-movies.sh` (ou `python3 /opt/container/scripts/plex-weekly-recap.py --movies`)
|
||||
- **Planification** : `0 18 * * 0`
|
||||
|
||||
**Séries uniquement** (chaque lundi à 18h00) :
|
||||
- **Commande** : `/opt/container/scripts/plex-recap-series.sh` (ou `python3 /opt/container/scripts/plex-weekly-recap.py --series`)
|
||||
- **Planification** : `0 18 * * 1`
|
||||
|
||||
**Demandes uniquement** (chaque mardi à 18h00) :
|
||||
- **Commande** : `/opt/container/scripts/plex-recap-requests.sh` (ou `python3 /opt/container/scripts/plex-weekly-recap.py --requests`)
|
||||
- **Planification** : `0 18 * * 2`
|
||||
|
||||
**Tout** (chaque dimanche à 19h00) :
|
||||
- **Commande** : `python3 /opt/container/scripts/plex-weekly-recap.py --all`
|
||||
- **Planification** : `0 19 * * 0`
|
||||
|
||||
### Option 2 : Via crontab système
|
||||
|
||||
Ajoutez ces lignes dans votre crontab (`crontab -e`) :
|
||||
```
|
||||
# Films chaque dimanche à 18h00
|
||||
0 18 * * 0 /opt/container/scripts/plex-recap-movies.sh
|
||||
|
||||
# Séries chaque lundi à 18h00
|
||||
0 18 * * 1 /opt/container/scripts/plex-recap-series.sh
|
||||
|
||||
# Demandes chaque mardi à 18h00
|
||||
0 18 * * 2 /opt/container/scripts/plex-recap-requests.sh
|
||||
```
|
||||
|
||||
### Option 3 : Test manuel
|
||||
|
||||
Pour tester le script manuellement :
|
||||
```bash
|
||||
# Tester les films
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --movies
|
||||
|
||||
# Tester les séries
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --series
|
||||
|
||||
# Tester les demandes
|
||||
python3 /opt/container/scripts/plex-weekly-recap.py --requests
|
||||
```
|
||||
|
||||
## Format du message Discord
|
||||
|
||||
Le message Discord contiendra :
|
||||
- 📺 **Nouveaux Films** : Liste des films ajoutés via Radarr
|
||||
- 📺 **Nouvelles Séries** : Liste des séries ajoutées via Sonarr
|
||||
- ✅ **Demandes approuvées** : Liste des demandes approuvées dans Jellyseerr
|
||||
|
||||
## Logs
|
||||
|
||||
Les logs sont écrits dans `/opt/container/scripts/plex-recap.log`
|
||||
|
||||
## Dépannage
|
||||
|
||||
- Vérifiez que les APIs de Jellyseerr, Radarr et Sonarr sont accessibles
|
||||
- Vérifiez que l'URL du webhook Discord est correcte
|
||||
- Consultez le fichier de log pour les erreurs détaillées
|
||||
Reference in New Issue
Block a user