Jellyfin media server for Netcup RS 8000
Go to file
Jeff Emmett a04f5d0111 Remove R2 storage configs, use local NVMe storage
- Remove r2-mount, r2-sync, cost-monitor services from docker-compose
- Delete old docker-compose.yml (R2 version)
- Remove services/cost-monitor directory
- Update deploy script to remove FUSE/rclone setup
- Add music support to upload script
- All media now stored on Netcup RS 8000 local NVMe (3TB)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 21:25:43 -08:00
scripts Remove R2 storage configs, use local NVMe storage 2025-11-27 21:25:43 -08:00
.env.example Jellyfin media server for Netcup RS 8000 2025-11-26 20:04:14 -08:00
.gitignore Remove R2 storage configs, use local NVMe storage 2025-11-27 21:25:43 -08:00
README.md Remove R2 storage configs, use local NVMe storage 2025-11-27 21:25:43 -08:00
docker-compose-server.yml Remove R2 storage configs, use local NVMe storage 2025-11-27 21:25:43 -08:00

README.md

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
│   └── music/      # Music 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
./scripts/upload-to-netcup.sh /home/jeffe/Music music

The script uses rsync for efficient incremental uploads.

License

MIT