navilg / media-stack

A stack of self-hosted tools to manage and stream media. Sonarr + Radarr + qBitTorrent + Prowlarr + Jellyfin + VPN

docker selfhosted homelab vpn opensource prowlarr radarr sonarr jackett jellyfin linux-shots media media-stack mediaserver transmission

Media Stack

This docker compose stack is a combination of self-hosted tools that will allow you to manage and stream media. With this setup, you will have the ability to easily automate the download of TV shows and movies, manage your torrent downloads, and stream your media through a user-friendly web interface.

Components

The stack consists of the following components:

  • Sonarr: A PVR for Usenet and BitTorrent that automates the download of TV shows.
  • Radarr: A PVR for Usenet and BitTorrent that automates the download of movies.
  • qBitTorrent: A free and open-source BitTorrent client.
  • Prowlarr: An indexer aggregator that allows you to search for torrents from multiple indexers at once.
  • Jellyfin: A free and open-source media server that allows you to stream your media to any device.
  • VPN: A virtual private network that allows you to encrypt your internet traffic and protect your privacy.

Features

The stack offers the following features:

  • Automated download of TV shows and movies
  • Management of torrent downloads
  • Streaming of media to any device
  • Encryption of internet traffic

Requirements

The stack requires the following:

  • A server running Docker
  • A domain name
  • A valid SSL certificate
  • A VPN provider

Installation

To install the stack, follow these steps:

  1. Clone the repository:
git clone https://github.com/media-stack/media-stack.git
  1. Create a .env file in the project directory:
cp .env.example .env
  1. Edit the .env file and set the following variables:
  • DOMAIN_NAME: The domain name for your jellyfin server
  • SSL_CERT: The path to your SSL certificate
  • SSL_KEY: The path to your SSL key
  • VPN_PROVIDER: The name of your VPN provider
  • VPN_USERNAME: Your VPN username
  • VPN_PASSWORD: Your VPN password
  1. Build the stack:
docker-compose build
  1. Run the stack:
docker-compose up -d

Usage

Once the stack is up and running, you can access the jellyfin web interface at https://yourdomainname.com. You can log in to jellyfin using the username and password you set during the installation process.

Troubleshooting

If you have any problems with the stack, please consult the troubleshooting guide.

Contributing

Contributions are welcome! Please read the contributing guidelines before submitting a pull request.