Confirmation of settings for Docker running Sonarr/Radarr/etc. on Synology w/external USB Drive.

Currently reading
Confirmation of settings for Docker running Sonarr/Radarr/etc. on Synology w/external USB Drive.

250
15
Operating system
  1. macOS
Mobile operating system
  1. iOS
BACKGROUND
Given I am not command line/console guy (and probably not you either or you'd be reading elsewhere,) 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. A special thank you to @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
1630246188429.png
Notice no IP nor published port to any service, all directed to gluetun.

sonarr settings, scroll to bottom
1630246704941.png

transmission settings, scroll to bottom
1630246763102.png

1630249416986.png


1630249440875.png

1630247183463.png

Note ~ awaiting confirmation. Preferred network may actually be needed here as custom instead of bridge.



Sonarr (follow same for other media services)
Sonar > System > Status​
1630247183463.png


Transmission
1630246521744.png

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.
 
Note ~ awaiting confirmation. Preferred network may actually be needed here as custom instead of bridge.
In general you'd prefere a user defined network per stack because of its service-disovery capabability. In this situation every other container hooks into the network interface of gluetun, which kind of makes it irrelevant wether you use the default bridge or a user defined network for gluetun - every other container's service is available on localhost and service-discovery is irrelvant in this scenario.
 
Think what is written will do the job. My headspace might muddy the waters, and many others more advanced and skilled in this subject matter. The key points are commented in the compose.
 
@pixelrogue
It is preferred to publish tutorials or guides under Resources:

Thank you.
Right - I’ll move it over. Thank you
I was refering to this response, not the general write up. This was your answer to what I wrote about networks - I just couldn't allign it with the topic, that's all. general write up seems great to get others started on the subject :)
away from the computer so no screen shots atm. Repeat error flag by:
Portainer > Containers > Select Sonarr > scroll to way bottom under network section> see pull down saying something to the effect select a network.

Every option chosen (even none) flags the same error, can not select.
 
If a stack is created using a compose file, changes should be applied to the compose file, then the compose file should be deployed. You never know when you start to hit the limitations of portainer... afterall you are in an edge case.

In the enterprise world, companies don't use vpn containers (or macvlan)... but then again they also don't use docker-compose at all to run their productive workload. In the enterprise world, containers are run with kubernetes (which is a whole different universe of complexities compared to "plain" docker).
 
Right - I’ll move it over. Thank you

away from the computer so no screen shots atm. Repeat error flag by:
Portainer > Containers > Select Sonarr > scroll to way bottom under network section> see pull down saying something to the effect select a network.

Every option chosen (even none) flags the same error, can not select.


@Rusty Rusty - time expired on editing post. Possible to move the Confirmation post to the Tutorials or other appropriate location? Also one-eyed-king was ok w/his name included so long as it was only published here...and I can no longer edit post to include.
 
Curious if the following was a solution or a fluke that didn’t generate errors .

I created a new network, which is assigned as a bridge. Then inside the compose file within gluetun I changed the network assigned in gluetun section from bridge to new network name. For all intensive purposes it appeared to work. No errors, no red flags, network shows in Valori’s pull downs, and in viewing the containers gleutun displays the freshly made network
 

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

Doesn't work out. Just shows gibberish. For the time being I'll just stick with saving screenshots.
Replies
2
Views
952
Replies
8
Views
1,615

Welcome to SynoForum.com!

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

Registration is free, easy and fast!

Trending threads

Back
Top