Recently I have upgraded my good old Synology DS411slim to newer, bigger model - DS918+. I kinda started to run out of free space (1TB 2.5” x4) and decided to invest some money into new box and new drives.
There is an official guide how you can do migration with disk swipe, but as I wanted to move my data to new drives I just decided I would try to
rsync everything. And BTW there is a
screen command if you would like to run in the background that can be found on synocommunity.
Long story short I had poor experience with rsync - tweaking settings on both end (disabling compression, tinkering with used crypo algo and so on) yielded rather disappointing results - transfer up to 10MB/s and almost 100% CPU utilization on my old NAS.
Weirdly enough I had much better luck with simply mounting CIFS resources in my new nas from my old nas directly in DistStation File Manager (
Mount Remote Folder ->
CIFS shared folder). That doubled transfer speed and lowered CPU usage ~2x times. So far so good.
Aside from standard packages like PhotoStation (and btw if you move your
photos directory it should just work) I also had SickChill (previously SickRage and before that SickBeard as apparently there was some fight over the project) and transmission that I wanted to move.
My goto solution were packages from synocommunity, but I noticed my new box have great support for Docker - Synology provides official Docker package. So I decided to give it a try.
After some research I ended up with Medusa (as replacement for SickChill), Radarr (for managing movies collection), Jackett (that acts as proxy between medusa and radarr and various private torrent trackers) and rutorrent (as replacement for transmission as radarr don’t have unpack rar archives capabilities).
Hopefully for me there is a linuxserver community that released all the images that I needed, so basically half the work as done. Opensource ftw 💪.
I’m using three virtual volumes on my synology:
volume1for various stuff - there I will create a docker directory to keep all the configs, dbs and so on
volume2where I have my torrent (downloads) directory
volume3where I have my tv/movies collection
Sample docker compose will look something like this:
--- version: "2" services: radarr: image: linuxserver/radarr container_name: radarr environment: - PUID=1024 - PGID=100 - TZ=Europe/Warsaw # or whatever your timezone is volumes: - /volume1/docker/radarr:/config - /volume3/video/movies:/movies - /volume2/torrent:/downloads ports: - 7878:7878 links: - jackett - rutorrent mem_limit: 1g restart: unless-stopped jackett: image: linuxserver/jackett container_name: jackett environment: - PUID=1024 - PGID=100 - TZ=Europe/Warsaw volumes: - /volume1/docker/jackett:/config ports: - 9117:9117 mem_limit: 512mb restart: unless-stopped rutorrent: image: linuxserver/rutorrent container_name: rutorrent environment: - PUID=1024 - PGID=100 volumes: - /volume1/docker/rutorrent:/config - /volume2/torrent:/downloads ports: - 9091:80 # so you can access rutorrent on port 9091 on your synology - 5050:5000 - 51413:51413 - 6881:6881/udp mem_limit: 512mb restart: unless-stopped medusa: image: linuxserver/medusa container_name: medusa links: - jackett - rutorrent environment: - PUID=1024 - PGID=100 - TZ=Europe/Warsaw volumes: - /volume1/docker/medusa:/config - /volume2/torrent:/downloads - /volume3/video/tv:/tv ports: - 8081:8081 mem_limit: 1g restart: unless-stopped
PUIDis user ID and
PGIDis group ID from synology system (just ssh into you machine and check
idof your designated user), otherwise mounted directories will be owned by
rootand this is not what you usually want
if you notice
NotImplementedErrorerrors in logs in Medusa try to set schema (and optionally port) for rutorrent
synology docker package ships with
docker-compose(run it via
sudo) so you can simply use such yaml or go other way and eg. configure ansible (requires some extra configuration on client side, but nothing heavy effort-wise)