jellyfin-media/README.md

3.4 KiB

Media Server on Netcup RS 8000

A self-hosted media server stack running on Netcup RS 8000 with Jellyfin for streaming.

Architecture

┌─────────────────────────────────────────────────────────────┐
│                    Netcup RS 8000                           │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐         │
│  │  Jellyfin   │  │   Sonarr    │  │   Radarr    │         │
│  │  (Stream)   │  │    (TV)     │  │  (Movies)   │         │
│  └──────┬──────┘  └──────┬──────┘  └──────┬──────┘         │
│         │                │                │                 │
│         └────────────────┼────────────────┘                 │
│                          │                                  │
│                  ┌───────┴───────┐                          │
│                  │  Local NVMe   │                          │
│                  │   Storage     │                          │
│                  │    (3TB)      │                          │
│                  └───────────────┘                          │
└─────────────────────────────────────────────────────────────┘

Server Specs

  • Netcup RS 8000 G12 Pro: €45/month
  • 20 CPU cores for transcoding
  • 64GB RAM for caching
  • 3TB NVMe storage for media
  • 1Gbps bandwidth included

Quick Start

1. Clone and Configure

git clone https://gitea.jeffemmett.com/jeffemmett/plex-media.git
cd plex-media
cp .env.example .env

2. Deploy to Netcup

./scripts/deploy-to-netcup.sh

3. Upload Your Media

# Upload TV shows
./scripts/upload-to-netcup.sh /home/jeffe/Shows shows

# Upload movies
./scripts/upload-to-netcup.sh /path/to/movies movies

Services

Service Port Description
Jellyfin 8096 Media player
Sonarr 8989 TV show management
Radarr 7878 Movie management
Prowlarr 9696 Indexer management
Transmission 9091 Download client

Access

All services accessible via Cloudflare Tunnel:

Folder Structure

/opt/media-server/
├── media/
│   ├── movies/     # Movie files
│   └── shows/      # TV show files
├── config/
│   ├── jellyfin/   # Jellyfin config
│   ├── sonarr/     # Sonarr config
│   ├── radarr/     # Radarr config
│   └── prowlarr/   # Prowlarr config
└── downloads/
    └── complete/   # Completed downloads

Upload Script Usage

# From local machine
./scripts/upload-to-netcup.sh <local-path> <media-type>

# Examples:
./scripts/upload-to-netcup.sh /home/jeffe/Shows shows
./scripts/upload-to-netcup.sh /home/jeffe/Movies movies

The script uses rsync for efficient incremental uploads.

License

MIT