106 lines
3.4 KiB
Markdown
106 lines
3.4 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
git clone https://gitea.jeffemmett.com/jeffemmett/plex-media.git
|
|
cd plex-media
|
|
cp .env.example .env
|
|
```
|
|
|
|
### 2. Deploy to Netcup
|
|
|
|
```bash
|
|
./scripts/deploy-to-netcup.sh
|
|
```
|
|
|
|
### 3. Upload Your Media
|
|
|
|
```bash
|
|
# 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:
|
|
- **Jellyfin**: https://movies.jeffemmett.com
|
|
|
|
## 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
|
|
|
|
```bash
|
|
# 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
|