mirror of
https://github.com/acedanger/docker.git
synced 2025-12-06 00:00:13 -08:00
added jellyfin
This commit is contained in:
101
jellyfin/migrate.sh
Executable file
101
jellyfin/migrate.sh
Executable file
@@ -0,0 +1,101 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Jellyfin Docker Migrationif ! docker compose version &> /dev/null; then
|
||||
echo "❌ Docker Compose not found. Please install Docker Compose first."
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ Docker and Docker Compose are available"pt
|
||||
# This script helps migrate your bare metal Jellyfin installation to Docker
|
||||
|
||||
echo "=== Jellyfin Docker Migration Assistant ==="
|
||||
echo
|
||||
|
||||
# Check if Jellyfin service is running
|
||||
if systemctl is-active --quiet jellyfin; then
|
||||
echo "⚠️ Jellyfin service is currently running. Please stop it before migration:"
|
||||
echo " sudo systemctl stop jellyfin"
|
||||
echo " sudo systemctl disable jellyfin"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check for NVIDIA drivers and container toolkit
|
||||
echo "🔍 Checking NVIDIA GPU support..."
|
||||
if command -v nvidia-smi &> /dev/null; then
|
||||
echo "✅ NVIDIA drivers detected"
|
||||
if command -v nvidia-container-runtime &> /dev/null; then
|
||||
echo "✅ NVIDIA Container Toolkit detected"
|
||||
echo " You can uncomment the NVIDIA GPU sections in docker compose.yml"
|
||||
else
|
||||
echo "⚠️ NVIDIA Container Toolkit not found. Install it for GPU transcoding:"
|
||||
echo " https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html"
|
||||
fi
|
||||
else
|
||||
echo "ℹ️ NVIDIA drivers not detected. GPU transcoding will not be available."
|
||||
fi
|
||||
echo
|
||||
|
||||
# Check Docker and Docker Compose
|
||||
echo "🔍 Checking Docker installation..."
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "❌ Docker not found. Please install Docker first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v docker compose &> /dev/null && ! docker compose version &> /dev/null; then
|
||||
echo "❌ Docker Compose not found. Please install Docker Compose first."
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ Docker and Docker Compose are available"
|
||||
echo
|
||||
|
||||
# Migration steps
|
||||
echo "📋 Migration Steps:"
|
||||
echo "1. Copy your existing Jellyfin data to Docker volumes"
|
||||
echo "2. Update media paths in docker compose.yml"
|
||||
echo "3. Configure GPU transcoding (if applicable)"
|
||||
echo "4. Start the container"
|
||||
echo
|
||||
|
||||
# Offer to copy existing data
|
||||
read -p "Do you want to copy existing Jellyfin data? (y/n): " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
echo "🔄 Creating Docker volumes and copying data..."
|
||||
|
||||
# Create the container to create volumes
|
||||
docker compose up --no-start
|
||||
|
||||
# Copy configuration data
|
||||
if [ -d "/var/lib/jellyfin" ]; then
|
||||
echo "📁 Copying Jellyfin data directory..."
|
||||
sudo docker cp /var/lib/jellyfin/. jellyfin:/config/
|
||||
fi
|
||||
|
||||
# Copy cache if it exists
|
||||
if [ -d "/var/cache/jellyfin" ]; then
|
||||
echo "📁 Copying Jellyfin cache directory..."
|
||||
sudo docker cp /var/cache/jellyfin/. jellyfin:/cache/
|
||||
fi
|
||||
|
||||
echo "✅ Data migration completed"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "🎬 Next steps:"
|
||||
echo "1. Edit docker compose.yml and update the media volume paths:"
|
||||
echo " - Replace '/path/to/your/movies' with your actual movie directory"
|
||||
echo " - Replace '/path/to/your/tv' with your actual TV shows directory"
|
||||
echo " - Replace '/path/to/your/music' with your actual music directory"
|
||||
echo
|
||||
echo "2. If you have NVIDIA GPU and drivers installed:"
|
||||
echo " - Uncomment the NVIDIA GPU sections in docker compose.yml"
|
||||
echo
|
||||
echo "3. Start Jellyfin:"
|
||||
echo " docker compose up -d"
|
||||
echo
|
||||
echo "4. Access Jellyfin at: http://localhost:8096"
|
||||
echo
|
||||
echo "5. Optional: Stop and disable the systemd service:"
|
||||
echo " sudo systemctl stop jellyfin"
|
||||
echo " sudo systemctl disable jellyfin"
|
||||
Reference in New Issue
Block a user