jellyfin-media/README.md

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