Spaces:
Paused
Paused
Update start.sh
Browse files
start.sh
CHANGED
|
@@ -64,15 +64,21 @@ gosu 1000 /jellyfin/jellyfin \
|
|
| 64 |
--logdir="$LOG_DIR" \
|
| 65 |
--service &
|
| 66 |
|
| 67 |
-
# Attendre que Jellyfin soit prêt
|
| 68 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
|
| 70 |
# Proxy Python qui écoute sur le port 7860 et redirige vers localhost:8096
|
| 71 |
echo "Lancement du proxy sur le port 7860 → 8096…"
|
| 72 |
exec python3 -c "
|
| 73 |
import http.server
|
| 74 |
import urllib.request
|
| 75 |
-
import sys
|
| 76 |
|
| 77 |
class Proxy(http.server.SimpleHTTPRequestHandler):
|
| 78 |
def do_GET(self):
|
|
@@ -90,7 +96,8 @@ class Proxy(http.server.SimpleHTTPRequestHandler):
|
|
| 90 |
def proxy_request(self):
|
| 91 |
url = 'http://127.0.0.1:8096' + self.path
|
| 92 |
try:
|
| 93 |
-
|
|
|
|
| 94 |
resp = urllib.request.urlopen(req)
|
| 95 |
self.send_response(resp.status)
|
| 96 |
for k, v in resp.getheaders():
|
|
|
|
| 64 |
--logdir="$LOG_DIR" \
|
| 65 |
--service &
|
| 66 |
|
| 67 |
+
# Attendre que Jellyfin soit prêt (maximum 60 secondes)
|
| 68 |
+
echo "Attente de la disponibilité de Jellyfin…"
|
| 69 |
+
for i in $(seq 1 30); do
|
| 70 |
+
if curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:8096/web/ | grep -q 200; then
|
| 71 |
+
echo "Jellyfin est prêt."
|
| 72 |
+
break
|
| 73 |
+
fi
|
| 74 |
+
sleep 2
|
| 75 |
+
done
|
| 76 |
|
| 77 |
# Proxy Python qui écoute sur le port 7860 et redirige vers localhost:8096
|
| 78 |
echo "Lancement du proxy sur le port 7860 → 8096…"
|
| 79 |
exec python3 -c "
|
| 80 |
import http.server
|
| 81 |
import urllib.request
|
|
|
|
| 82 |
|
| 83 |
class Proxy(http.server.SimpleHTTPRequestHandler):
|
| 84 |
def do_GET(self):
|
|
|
|
| 96 |
def proxy_request(self):
|
| 97 |
url = 'http://127.0.0.1:8096' + self.path
|
| 98 |
try:
|
| 99 |
+
data = self.rfile.read(int(self.headers.get('Content-Length', 0))) if self.command in ['POST', 'PUT'] else None
|
| 100 |
+
req = urllib.request.Request(url, data=data, headers={k: v for k, v in self.headers.items()}, method=self.command)
|
| 101 |
resp = urllib.request.urlopen(req)
|
| 102 |
self.send_response(resp.status)
|
| 103 |
for k, v in resp.getheaders():
|