Media Server Guide

    Plex / Jellyfin Media Server

    Stream your personal media collection anywhere with self-hosted Plex or Jellyfin on RamNode VPS. Full control, no monthly fees, and complete privacy.

    Ubuntu/Debian
    Plex & Jellyfin
    ⏱️ 25-35 minutes

    Prerequisites & VPS Requirements

    Starter

    • • 2GB RAM minimum
    • • 2 vCPU Cores
    • • Direct play only

    Recommended

    • • 4GB RAM
    • • 4 vCPU Cores
    • • Transcoding support

    Large Library

    • • 4GB+ RAM
    • • 500GB+ Storage
    • • Extensive media
    2

    Initial Server Setup

    Update your RamNode VPS:

    For Ubuntu/Debian
    sudo apt update && sudo apt upgrade -y
    sudo apt install curl wget git ufw -y
    For CentOS/Rocky Linux
    sudo yum update -y
    sudo yum install curl wget git firewalld -y
    3

    Install Plex Media Server

    Install Plex on Ubuntu/Debian:

    Ubuntu/Debian Installation
    # Add Plex repository
    echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
    
    # Add GPG key
    curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
    
    # Install Plex
    sudo apt update
    sudo apt install plexmediaserver -y
    
    # Start and enable
    sudo systemctl start plexmediaserver
    sudo systemctl enable plexmediaserver

    💡 Initial Setup: Create SSH tunnel: ssh -L 8888:localhost:32400 root@your-ip
    Then visit: http://localhost:8888/web

    4

    Install Jellyfin Media Server

    Install Jellyfin on Ubuntu/Debian:

    Ubuntu/Debian Installation
    # Install dependencies
    sudo apt install apt-transport-https -y
    
    # Add Jellyfin repository
    curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/jellyfin.gpg
    
    # Install Jellyfin
    sudo apt update
    sudo apt install jellyfin -y
    
    # Start and enable
    sudo systemctl start jellyfin
    sudo systemctl enable jellyfin

    ✅ Access Jellyfin at: http://your-ip:8096

    5

    Configure Firewall

    For Plex (UFW)

    Allow Plex Port
    sudo ufw allow 32400/tcp
    sudo ufw allow 22/tcp
    sudo ufw enable
    sudo ufw status

    For Jellyfin (UFW)

    Allow Jellyfin Port
    sudo ufw allow 8096/tcp
    sudo ufw allow 22/tcp
    sudo ufw enable
    sudo ufw status
    6

    Setup Reverse Proxy (Optional)

    Use Nginx with SSL for secure access:

    Install Nginx and Certbot
    sudo apt install nginx certbot python3-certbot-nginx -y
    Nginx Config for Plex
    server {
        listen 80;
        server_name plex.yourdomain.com;
        
        location / {
            proxy_pass http://localhost:32400;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            
            # WebSocket support
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }
    Enable Site & Get SSL
    sudo ln -s /etc/nginx/sites-available/plex /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx
    sudo certbot --nginx -d plex.yourdomain.com
    7

    Mount Additional Storage

    Add extra storage for your media:

    Mount Block Storage
    # Find your disk
    lsblk
    
    # Format and mount
    sudo mkfs.ext4 /dev/sdb
    sudo mkdir -p /mnt/media
    sudo mount /dev/sdb /mnt/media
    
    # Make permanent
    echo '/dev/sdb /mnt/media ext4 defaults 0 0' | sudo tee -a /etc/fstab
    
    # Set permissions
    sudo chown -R plex:plex /mnt/media
    # OR for Jellyfin
    sudo chown -R jellyfin:jellyfin /mnt/media
    8

    Optimization Tips

    Increase File Limits

    Edit /etc/security/limits.conf:

    File Limits
    plex soft nofile 65536
    plex hard nofile 65536
    jellyfin soft nofile 65536
    jellyfin hard nofile 65536

    Transcoding Optimization

    • • Hardware acceleration (Plex Pass required for Plex)
    • • Lower quality for remote streams
    • • Use H.264 for compatibility
    • • Pre-optimize media to reduce transcoding

    Troubleshooting

    Service Won't Start

    Check Logs
    # For Plex
    sudo systemctl status plexmediaserver
    sudo journalctl -u plexmediaserver -n 50
    
    # For Jellyfin
    sudo systemctl status jellyfin
    sudo journalctl -u jellyfin -n 50

    Permission Issues

    Fix Permissions
    # For Plex
    sudo chown -R plex:plex /var/lib/plexmediaserver
    sudo chown -R plex:plex /mnt/media
    
    # For Jellyfin
    sudo chown -R jellyfin:jellyfin /var/lib/jellyfin
    sudo chown -R jellyfin:jellyfin /mnt/media

    Security Best Practices

    • Use strong passwords for admin accounts
    • Enable 2FA where available
    • Use SSL/TLS for remote connections
    • Regular backups of server configuration