- 233
- 14
- Operating system
- macOS
- Mobile operating system
- 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
DOCKER COMPOSE
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.)
Sonarr (follow same for other media services)
Sonar > System > Status
View attachment 4379
RESOURCES
SIDE NOTES
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
--#homebridge
--#media-center-config
----gluetun
----jackett
----jellyfin
----lidarr
----radarr
----sonarr
----transmission
media-store #hosted on external usb plugged into synology
media-store #hosted on external usb plugged into synology
----#recycle
----jackett
----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
sonarr settings, scroll to bottom
View attachment 4377
Sonarr (follow same for other media services)
Sonar > System > Status
View attachment 4379
Transmission
View attachment 4376
View attachment 4376
RESOURCES
- https://wiki.servarr.com/docker-guide
- https://gist.github.com/TRaSH-/1648a937f9c1c7b45e0f379142694892
- https://trash-guides.info/Sonarr/
- Sonarr in Docker on a Synology NAS – Dr_Frankenstein's Tech Stuff
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.