A docker server that crawls torrent sites for tv shows and movies that you add. The server will look every now and then if the show or movie is released and if so start to download it to your hard drive.
You can then use Jellyfin to watch the shows or movies. Just like Netflix.
Prerequisites
A server or machine with Docker and Portainer installed.
Portainer access (via web UI).
Basic understanding of Docker and file paths.
Step 1: Install Docker and Portainer
If Docker and Portainer are not already installed, follow these steps:
Install Docker:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER
Install Portainer:
docker volume create portainer_data docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
Access Portainer by navigating to
http://<your-server-ip>:9000in your browser and set up an admin account.
Step 2: Create a Stack in Portainer
Log in to Portainer and go to Stacks.
Click Add Stack.
Give your stack a name (e.g.,
media-stack).Paste the following Docker Compose YAML configuration into the Web editor:
version: '3.8' services: transmission: image: linuxserver/transmission container_name: transmission environment: - PUID=1000 - PGID=1000 - TZ=UTC volumes: - /path/to/transmission/config:/config - /path/to/downloads:/downloads - /path/to/watch:/watch ports: - 9091:9091 - 51413:51413 - 51413:51413/udp restart: unless-stopped sonarr: image: linuxserver/sonarr container_name: sonarr environment: - PUID=1000 - PGID=1000 - TZ=UTC volumes: - /path/to/sonarr/config:/config - /path/to/tvshows:/tv - /path/to/downloads:/downloads ports: - 8989:8989 restart: unless-stopped radarr: image: linuxserver/radarr container_name: radarr environment: - PUID=1000 - PGID=1000 - TZ=UTC volumes: - /path/to/radarr/config:/config - /path/to/movies:/movies - /path/to/downloads:/downloads ports: - 7878:7878 restart: unless-stopped jellyfin: image: jellyfin/jellyfin container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=UTC volumes: - /path/to/jellyfin/config:/config - /path/to/media:/media ports: - 8096:8096 - 8920:8920 restart: unless-stopped
Step 3: Configure the Stack
Replace
/path/to/...with the actual paths on your server where you want to store configuration files, media, and downloads.Example:
/mnt/media/config/transmission,/mnt/media/downloads, etc.
Set
PUIDandPGIDto the user and group IDs of your system (runid $USERto find these).Set
TZto your timezone (e.g.,America/New_York).
Step 4: Deploy the Stack
Scroll down and click Deploy the stack.
Portainer will pull the Docker images and start the containers.
Step 5: Access the Services
Once the stack is deployed, you can access the services via their respective ports:
Transmission:
http://<your-server-ip>:9091Sonarr:
http://<your-server-ip>:8989Radarr:
http://<your-server-ip>:7878Jellyfin:
http://<your-server-ip>:8096
Step 6: Configure the Applications
Transmission:
Set up download directories and configure the web interface.
Sonarr:
Add your TV show library and configure download clients (point to Transmission).
Radarr:
Add your movie library and configure download clients (point to Transmission).
Jellyfin:
Set up your media library and configure users.
That’s it! There some more option to configure the server for best performance. Comment if you need help or use the forum.
