feat: update Jellyfin background with ultra-dark cinematic studio backdrop

This commit is contained in:
eldov
2026-08-30 17:54:19 +02:00
parent 2c39bc9cf4
commit 8fb02fc994
3 changed files with 63 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
# Jellyfin Theme – Aurora Noir
Custom Cinematic Theme für Jellyfin ([stream.free-warez.win](https://stream.free-warez.win)).
---
## 📁 Struktur
- `web-assets/aurora_noir.css`: Quelldatei für das vollständige CSS-Theme (MUI Overrides, Glows, Glassmorphism).
- `web-assets/custom_bg.webp`: Hintergrundgrafik (1920x1080).
- `web-assets/custom_favicon.ico`: Benutzerdefiniertes Favicon.
- `branding.xml`: Jellyfin Server-Konfiguration mit eingebettetem XML-escaped CSS.
- `THEME-README.md`: Detaillierte Architektur & Historie (Traefik rewritebody Injection etc.).
- `deploy.sh`: Synchronisiert die Assets zum VPS, konvertiert CSS -> XML und startet den Jellyfin Container neu.
## 🚀 Deployment
```bash
./deploy.sh
```
Executable
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env bash
# deploy.sh - Deploy Jellyfin Custom Theme (Aurora Noir)
# Domain: stream.free-warez.win
# Target Host: free-warez.win -> /opt/containers/jellyfin
set -euo pipefail
TARGET_HOST="free-warez.win"
TARGET_DIR="/opt/containers/jellyfin"
LOCAL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "🚀 Deploying Jellyfin Theme (Aurora Noir)"
echo " Target: $TARGET_HOST:$TARGET_DIR"
echo "==============================================="
# 1. Check SSH connection
echo "📡 Checking SSH connection to $TARGET_HOST..."
if ! ssh -q -o BatchMode=yes -o ConnectTimeout=5 "$TARGET_HOST" exit; then
echo "❌ Cannot connect to $TARGET_HOST via SSH."
exit 1
fi
# 2. Sync web-assets
echo "🔄 Syncing theme assets to VPS..."
rsync -avz \
"$LOCAL_DIR/web-assets/" "$TARGET_HOST:$TARGET_DIR/web-assets/"
# 3. Regenerate branding.xml & restart container
echo "🔄 Regenerating branding.xml from aurora_noir.css..."
ssh "$TARGET_HOST" "python3 - <<'PYEOF'
import xml.sax.saxutils as sx
css = open('/opt/containers/jellyfin/web-assets/aurora_noir.css').read()
out = ('<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<BrandingOptions>\n'
' <LoginDisclaimer>Private media cloud. Authorized access only.</LoginDisclaimer>\n'
' <CustomCss>%s</CustomCss>\n'
' <SplashscreenEnabled>false</SplashscreenEnabled>\n'
'</BrandingOptions>\n') % sx.escape(css)
open('/opt/containers/jellyfin/library/branding.xml', 'w').write(out)
print('branding.xml updated with', len(out), 'bytes')
PYEOF
docker restart jellyfin
"
echo "✅ Jellyfin container restarted with updated theme!"
echo "✨ Deployment complete!"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 36 KiB