Confirmation data points for a Synology / Docker / Sonarr/Radarr/etc Media Center

Currently reading
Confirmation data points for a Synology / Docker / Sonarr/Radarr/etc Media Center

248
15
Operating system
  1. macOS
Mobile operating system
  1. iOS
BACKGROUND
I am not a command line/console guy, and there are times where one needs to jump in and figure things out to achieve the end goals such as getting non-home devices talking to Siri or for a more advanced multi-media system.

While there are a million blogs, tutorials, instructional on Docker and related media services there are even more variations and variables and small data points could be missed, or a key component to your solution/environment may not have been fully covered or explained in way you might understand.

Below is how I achieved getting the media services running on Synology through Docker and behind a VPN.
None of this would have been possible if it were not for three individuals. @Rusty from SynoForum, awaiting ok to assign name of the second individual from this forum, and a third (who prefers to not be mentioned) from Sonarr forums. It is my hope the information shared below will be helpful to others seeking similar setups for their servers.


HARDWARE / SOFTWARE ENVIRONMENT
• MacMini (intel)
• Synology DS220+ DSM7
• USB Drive attached to DS220+ (specifically for media)
• Docker (via Synology Package Center)
• Portainer-ce (via Docker Registry)


SERVICES
• Gluetun (to configure open vpn)
• Jackett
• Jellyfin
• Lidarr
• Radarr
• Sonarr
• Transmission


DIRECTORY SETUP

docker #hosted on synology
--#recylce
--#homebridge​
--#media-center-config​
----gluetun​
----jackett​
----jellyfin​
----lidarr​
----radarr​
----sonarr​
----transmission

media-store #hosted on external usb plugged into synology
----#recycle
----jackett​
----jellyfin​
----lidarr​
----radarr​
----raw #personal preference for name of download folder


DOCKER COMPOSE
Code:
version: "2.4"
services:

  sonarr:
    image: linuxserver/sonarr:latest
    network_mode: service:gluetun
    restart: always
    container_name: sonarr
    environment:
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    volumes:
      - /volumeUSB1/usbshare:/usb #this was an unknown and key to get the usb to show as a directory to set up services. Once this was in place, everything go much easier.
      - /volumeUSB1/usbshare/raw:/downloads:rw
      - /volume1/docker/media-center-config/sonarr:/config:rw

  radarr:
    image: linuxserver/radarr:latest
    network_mode: service:gluetun
    restart: always
    container_name: radarr
    environment:
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    volumes:
      - /volumeUSB1/usbshare:/usb
      - /volumeUSB1/usbshare/raw:/downloads:rw
      - /volume1/docker/media-center-config/radarr:/config:rw

  jackett:
    image: linuxserver/jackett:latest
    network_mode: service:gluetun
    restart: always
    container_name: jackett
    environment:
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    volumes:
      - /volumeUSB1/usbshare/jackett:/media-store/jackett:rw
      - /volume1/docker/media-center-config/jackett:/config:rw

  lidarr:
    image: linuxserver/lidarr:latest
    network_mode: service:gluetun  
    restart: always
    container_name: lidarr
    environment:
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    volumes:
      - /volumeUSB1/usbshare:/usb
      - /volumeUSB1/usbshare/raw:/downloads:rw
      - /volume1/docker/media-center-config/lidarr:/config:rw
      
  jellyfin:
    image: linuxserver/jellyfin:latest
    network_mode: service:gluetun
    restart: always
    container_name: jellyfin
    environment:
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    volumes:
      - /volumeUSB1/usbshare/raw:/media-store/raw:rw
      - /volume1/docker/media-center-config/jellyfin:/config:rw

  transmission:
    image: linuxserver/transmission:latest
    network_mode: service:gluetun
    restart: always
    container_name: transmission
    environment:
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    volumes:
      - /volumeUSB1/usbshare/raw:/downloads:rw
      - /volumeUSB1/usbshare/raw/watch:/watch:rw
      - /volume1/docker/media-center-config/transmission:/config:rw

  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    network_mode: bridge
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
      - 8000:8000/tcp # Built-in HTTP control server
      - 9091:9091 #transmission
      - 51413:51413/tcp #transmission
      - 51413:51413/udp #transmission
      - 8686:8686 #lidarr 
      - 9117:9117 #jackett
      - 7878:7878 #radarr
      - 8989:8989 #sonarr 
    volumes:
      - /volume1/docker/media-center-config/gluetun:/gluetun:rw
    environment:
      - OPENVPN_USER=YOUR INFO HERE
      - OPENVPN_PASSWORD=YOUR INFO HERE
      - VPNSP=YOUR INFO HERE
      - VPN_TYPE=YOUR INFO HERE
      - PGID=YOUR INFO HERE
      - PUID=YOUR INFO HERE
      - TZ=YOUR INFO HERE
    restart: always

IMAGES
Found it helpful to get images to match as sometimes what you one might not see in code shows up as a flag elsewhere w/o having to start hunting logs.
Look to get your configurations matching below (w/exception to unique configurations employed.)

Docker/Portainer
Notice no IP nor published port to any service, all directed to gluetun.

sonarr settings, scroll to bottom
View attachment 4377

transmission settings, scroll to bottom
View attachment 4378



Sonarr (follow same for other media services)
Sonar > System > Status
View attachment 4379

Transmission
View attachment 4376

RESOURCES


SIDE NOTES
  • Portainer allows you to use Portainer to delete itself and w/o as much as a simple flag to warn. This can be a pain to recover, so be careful when deleting containers and try to only delete from the stack itself or pay attention to each portainer selected.
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

Similar threads

Curious if the following was a solution or a fluke that didn’t generate errors . I created a new network...
Replies
11
Views
7,471
I have completed the process, it does work! i don't know how syno does it but also the folders get the...
Replies
13
Views
452
Welcome to the forum! No, this is not supported. DSM might detect the drives but it will not mount the...
Replies
1
Views
605
I tried the data recovery method described in this article, and everything worked out for me. The proposed...
Replies
4
Views
909
Just stop where you are if you "tons of space". Don't even consider a hot spare (search my post history...
Replies
9
Views
1,937
  • Question
As far as I tested it, this no longer works under DSM7 so careful with it.
Replies
5
Views
2,173
  • Question
Ofc it will. I have a similar setup where content is on remote devices
Replies
5
Views
1,430

Welcome to SynoForum.com!

SynoForum.com is an unofficial Synology forum for NAS owners and enthusiasts.

Registration is free, easy and fast!

Back
Top