madiba-elate commited on
Commit
2922daf
·
verified ·
1 Parent(s): 08e7d7d

Create start.sh

Browse files
Files changed (1) hide show
  1. start.sh +43 -0
start.sh ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ LIBRARY_FILE=/defaults/library.json
5
+ MEDIA_DIR=/data/media/movies
6
+ TV_DIR=/data/media/tvshows
7
+ CONFIG_DIR=/data/config
8
+
9
+ # Création des dossiers nécessaires
10
+ mkdir -p "$MEDIA_DIR" "$TV_DIR" "$CONFIG_DIR"
11
+
12
+ # Téléchargement des médias si absents
13
+ if [ -f "$LIBRARY_FILE" ]; then
14
+ python3 -c "
15
+ import json, os, subprocess
16
+
17
+ with open('$LIBRARY_FILE') as f:
18
+ data = json.load(f)
19
+
20
+ for name, url in data.items():
21
+ # On stocke les films dans movies/
22
+ dest = os.path.join('$MEDIA_DIR', name + '.' + url.split('.')[-1])
23
+ if os.path.exists(dest):
24
+ print(f'{name} déjà présent, ignoré.')
25
+ continue
26
+ print(f'Téléchargement de {name}…')
27
+ ret = subprocess.run(['wget', '--tries=3', '--retry-connrefused', '-c', '-O', dest, url]).returncode
28
+ if ret == 0:
29
+ print(f'{name} téléchargé avec succès.')
30
+ else:
31
+ print(f'Échec du téléchargement de {name}')
32
+ "
33
+ else
34
+ echo "library.json introuvable, aucun média téléchargé automatiquement."
35
+ fi
36
+
37
+ # Ajustement des droits pour l'utilisateur jellyfin (UID 1000 dans l'image officielle)
38
+ chown -R 1000:1000 /data
39
+
40
+ # Lancement de Jellyfin sur le port 7860
41
+ exec jellyfin --webdir=/jellyfin/web --ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg \
42
+ --datadir=/data/config --cachedir=/data/cache --logdir=/data/log \
43
+ --port 7860