basic structure

This commit is contained in:
2025-08-04 23:11:16 +02:00
parent 794f63358e
commit 41adec1bf7
34 changed files with 717 additions and 569 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

View File

View File

@@ -0,0 +1,101 @@
# Introduction
This documentation describes a self-hosted, Docker-based media automation stack that handles everything from user requests to content playback, fully integrated with Jellyfin as the central media server.
The stack includes download automation (Usenet), metadata scraping, transcoding, user interface for media requests, monitoring, and search. Everything is containerized and orchestrated with Docker Compose.
---
## 1. Prerequisites
Before continuing, make sure Docker and Docker Compose are installed on your system.
You can follow the installation guide here:
👉 [Install Docker on Debian/Ubuntu](../../knowhow/docker/)
---
## 2. Stack Overview
The following diagram illustrates how the various components in the media stack interact:
![Media Stack Architecture](../img/mediastack-diagram.png)
**Legend / Component Highlights:**
- **Jellyfin**: the main media server for playback and library management
- **Jellyseerr**: user-facing request portal
- **Radarr/Sonarr**: automation for movies and series
- **Prowlarr**: indexer aggregator for both Radarr and Sonarr
- **SABnzbd**: Usenet downloader
- **Tdarr**: automated transcoding engine
- **Meilisearch**: search backend for metadata (used by Scraparr/Suggestarr)
- **Wizarr**: user invite and account management
- **Trailarr & Huntarr**: UI enhancements and support tooling
- **Scraparr & Suggestarr**: metadata and suggestion automation
---
## 3. Directory Structure
Your directory tree is organized to clearly separate persistent data and component configuration:
```
/mediastack
├── 4k-radarr # Radarr instance for 4K content
├── jellyfin # Config/data for Jellyfin
├── jellyseerr # Request frontend
├── radarr # Main movie automation
├── sonarr # Series automation
├── sabnzbd # Usenet download client
├── tdarr # Transcoding
├── prowlarr # Indexer management
├── wizarr # Invite portal
├── postgres # Database service
├── huntarr, trailarr* # Visual/UX enhancements
├── scraparr, suggestarr # Metadata and recommendation tooling
├── cache/
│ ├── jellyfin
│ ├── sabnzbd
│ ├── tdarr
│ └── meilisearch
├── media/
│ ├── 4k-filme
│ ├── anime_filme
│ ├── animes
│ ├── filme
│ ├── serien
│ └── posters
```
> All services are managed using Docker Compose with volume mounts mapped into the above directories.
---
## 4. Benefits
- 🧩 Modular: You can scale or swap components easily
- 🐳 Containerized: Consistent and portable deployments
- 🧠 Automated: Minimal manual work once configured
- 📦 Composable: All services communicate via APIs or shared volumes
- 🔐 Local-first & private
---
## 5. Next Steps
- Set up Docker and Docker Compose if you haven't yet
- Start configuring the services one by one (see individual `.md` files)
- Secure access via reverse proxy (e.g., Traefik or Nginx)
- Enjoy your fully automated media center 🎬
---
## Links
- Jellyfin: https://jellyfin.org
- Jellyseerr: https://github.com/Fallenbagel/jellyseerr
- Tdarr: https://github.com/HaveAGitGat/Tdarr
- SABnzbd: https://sabnzbd.org
- Radarr: https://radarr.video
- Sonarr: https://sonarr.tv
- Prowlarr: https://github.com/Prowlarr/Prowlarr

View File

@@ -0,0 +1,82 @@
# Installation
This guide shows you how to install [Jellyfin](https://jellyfin.org/) via Docker Compose. Make sure Docker Engine is already installed on your system.
## Prerequisites
- Docker Engine installed (follow the official guide linked above)
- Docker Compose available
- Linux host system
---
## 1. Create a project directory
```bash
mkdir jellyfin
cd jellyfin
```
---
## 2. Create `docker-compose.yml`
```yaml
version: "3"
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: uid:gid # replace uid:gid with your actual user ID and group ID
network_mode: "host" # optional: needed for DLNA and certain integrations
volumes:
- ./config:/config
- ./cache:/cache
- /path/to/media:/media
# Add more media folders if needed
restart: unless-stopped
environment:
- JELLYFIN_PublishedServerUrl=http://your-domain-or-ip
extra_hosts:
- "host.docker.internal:host-gateway"
```
---
## 3. Start Jellyfin
```bash
docker compose up -d
```
---
## 4. Access Jellyfin
Open a browser and navigate to `http://<your-host-ip>:8096` to begin setup via the web UI.
---
## 5. (Optional) Manage updates
When a new version is available:
```bash
docker compose pull
docker compose up -d
```
---
## Notes
- Ensure user ID (`uid`) and group ID (`gid`) match your Linux user to prevent permissions issues.
- Host network mode is required for DLNA and some integrations only; you can remove it if not needed.
- This setup uses bind-mounted folders (`./config`, `./cache`, `/path/to/media`) for persistent data.
---
## References
- Official Docker installation guide: https://docs.docker.com/engine/install/
- Jellyfin Docker Compose instructions

View File

@@ -0,0 +1,60 @@
# Introduction
**Jellyfin** is a free, open-source media server software that lets you collect, manage, and stream your personal media—such as movies, TV shows, music, and photos—across devices. It is a community-driven alternative to proprietary platforms like Plex and Emby.
---
## Key Features
- 🆓 **Completely Free**: No paid licenses, subscriptions, or locked features.
- 🛡️ **Privacy-Focused**: No telemetry, no third-party tracking.
- 📺 **Streaming**: Access your media from web browsers, smart TVs, mobile apps, or Kodi.
- 🧠 **Metadata Management**: Automatic retrieval of posters, fanart, episode guides, and more.
- 🎚️ **Transcoding**: On-the-fly conversion for devices with limited format support.
- 🎛️ **Plugin System**: Extend functionality with community-made plugins.
---
## Supported Platforms
- **Server**: Windows, Linux, macOS, Docker, and more
- **Clients**:
- Web browser
- Android / iOS apps
- Smart TVs (via apps or DLNA)
- Kodi (via Jellyfin add-on)
- Chromecast
---
## Ideal Use Cases
- Home media streaming over LAN or internet
- Centralized media hub for a household
- Replacement for paid services (e.g., Plex, Netflix for local content)
---
## Comparison to Plex & Emby
| Feature | Jellyfin | Plex | Emby |
|--------------------|-----------------|------------------|------------------|
| Open Source | ✅ Yes | ❌ No | ⚠️ Partial |
| Free Features | ✅ All | ❌ Some Locked | ⚠️ Limited |
| No Account Needed | ✅ Yes | ❌ No | ⚠️ Mostly |
| Community-Driven | ✅ 100% | ❌ | ⚠️ Limited |
---
## Quick Start
If you havent installed Jellyfin yet, check the [Docker Compose installation guide](./jellyfin-docker-compose.md) or visit the [official documentation](https://jellyfin.org/docs/).
---
## Links
- 🌐 Website: https://jellyfin.org
- 📘 Docs: https://jellyfin.org/docs/
- 🐙 GitHub: https://github.com/jellyfin/jellyfin
- 💬 Community: https://matrix.to/#/#jellyfin:matrix.org

View File

@@ -0,0 +1,95 @@
# Installation
[Jellyseerr](https://github.com/Fallenbagel/jellyseerr) is a free and open-source request management and media discovery tool for Jellyfin. It allows users to search for and request media directly from your Jellyfin library or through external indexers.
---
## Prerequisites
- Docker and Docker Compose installed
- A running Jellyfin instance (optional but recommended)
- Optional: Sonarr, Radarr, and download clients for full automation
---
## 1. Create Project Directory
```bash
mkdir jellyseerr
cd jellyseerr
```
---
## 2. Create `docker-compose.yml`
```yaml
version: "3"
services:
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
restart: unless-stopped
ports:
- "5055:5055"
environment:
- LOG_LEVEL=info
volumes:
- ./config:/app/config
```
---
## 3. Start Jellyseerr
```bash
docker compose up -d
```
---
## 4. Access Web UI
Open your browser and go to:
```
http://<your-server-ip>:5055
```
You'll be guided through the setup process:
- Create admin account
- Connect Jellyfin server
- (Optional) Connect Sonarr, Radarr, etc.
---
## 5. Update Instructions
To update Jellyseerr:
```bash
docker compose pull
docker compose up -d
```
---
## 6. Optional: Enable Reverse Proxy
To expose Jellyseerr via a domain name (e.g. `requests.example.com`), set up a reverse proxy using [Traefik](https://doc.traefik.io/traefik/), Nginx, or Caddy. A basic Traefik label example:
```yaml
labels:
- "traefik.enable=true"
- "traefik.http.routers.jellyseerr.rule=Host(`requests.example.com`)"
- "traefik.http.routers.jellyseerr.entrypoints=websecure"
- "traefik.http.routers.jellyseerr.tls.certresolver=myresolver"
```
---
## References
- Jellyseerr GitHub: https://github.com/Fallenbagel/jellyseerr
- Docker Hub: https://hub.docker.com/r/fallenbagel/jellyseerr
- Official Documentation: https://docs.jellyseerr.com

View File

@@ -0,0 +1,61 @@
# Introduction
[**Jellyseerr**](https://docs.jellyseerr.dev/) is a free and open-source media request and discovery platform designed specifically for [**Jellyfin**](https://jellyfin.org). It provides a user-friendly interface for browsing, searching, and requesting movies and TV shows, bridging the gap between your users and your media automation stack (e.g., Jellyfin + Sonarr/Radarr).
---
## Key Features
- 🔎 **Search & Discover**: Browse and search for movies and series from TMDB.
- 🎯 **Direct Requests**: Request content directly from the UI, linked to Sonarr and Radarr.
- 🔐 **User Management**: Role-based permissions and Jellyfin authentication.
- 📅 **Release Tracking**: View upcoming or recently added media.
- 💬 **Request Comments**: Users can comment and track the status of their requests.
- 🌍 **Multi-language** support with a responsive web UI.
---
## Target Audience
- Jellyfin server admins who want to delegate content requests to users
- Home media server users looking to streamline their request workflow
- Those looking for a self-hosted alternative to Overseerr (Plex-only)
---
## Jellyseerr vs Overseerr
| Feature | Jellyseerr | Overseerr |
|-----------------------------|------------------|---------------|
| Media Server Integration | ✅ Jellyfin only | ❌ Plex only |
| Open Source | ✅ Yes | ✅ Yes |
| Actively Maintained | ✅ Yes | ✅ Yes |
| UI and Features | ⭐ Comparable | ⭐ Comparable |
| Login with Media Server | ✅ Jellyfin SSO | ✅ Plex OAuth |
---
## How It Works
1. **User logs in** (via Jellyfin)
2. **Searches for media** via TMDB integration
3. **Requests are submitted** through the UI
4. **Sonarr/Radarr handle automation** (optional)
5. **Jellyfin picks up downloaded content automatically**
---
## Requirements
- Jellyfin server
- Docker or Node.js environment
- (Optional) Sonarr, Radarr, and download clients (e.g., qBittorrent, NZBGet)
---
## Links
- 🌐 Project: https://github.com/Fallenbagel/jellyseerr
- 📘 Docs: https://docs.jellyseerr.com
- 🐳 Docker Hub: https://hub.docker.com/r/fallenbagel/jellyseerr
- 💬 Community: https://discord.gg/mVJcS4tq3q