Prerequisites & VPS Requirements
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 -yFor CentOS/Rocky Linux
sudo yum update -y
sudo yum install curl wget git firewalld -y3
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 statusFor Jellyfin (UFW)
Allow Jellyfin Port
sudo ufw allow 8096/tcp
sudo ufw allow 22/tcp
sudo ufw enable
sudo ufw status6
Setup Reverse Proxy (Optional)
Use Nginx with SSL for secure access:
Install Nginx and Certbot
sudo apt install nginx certbot python3-certbot-nginx -yNginx 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.com7
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/media8
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 65536Transcoding 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 50Permission 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/mediaSecurity Best Practices
- Use strong passwords for admin accounts
- Enable 2FA where available
- Use SSL/TLS for remote connections
- Regular backups of server configuration
