Trong hướng dẫn bên dưới, mình sẽ cài đặt trọn bộ ăn chơi Arr suite (Sonarr, Radarr, Prowlarr, Bazarr) trên XPEnology. Tất cả ứng dụng được thiết lập thông qua Docker nên bạn có thể áp dụng được trên bất kỳ hệ điều hành nào khác hỗ trợ Docker.
I. Chuẩn bị hệ thống
1. Cài đặt Docker
Tham khảo hướng dẫn cài đặt Docker lên Synology / XPEnology ở đây
https://thuanbui.me/docker-synology/#3-kich-hoat-docker-tu-file-composeyml-co-san
Bạn nào xài Ubuntu / Debian thì tham khảo cái này
https://thuanbui.me/huong-dan-cai-dat-docker-docker-compose-tren-ubuntu-20-04/
2. Kích hoạt tính năng SSH
Bạn cần mở tính năng SSH Service trên Synology để có thể truy cập vào bằng SSH để thao tác bằng dòng lệnh.
Đăng nhập vào giao diện web của DSM, truy cập vào phần Control Panel > Terminal & SNMP > Enable SSH service. Tích chọn vào mục Enable SSH service và bấm Apply.

Sau đó dùng Terminal / Putty để đăng nhập SSH vào Synology / XPEnology.
3. Tìm uid, gid
Xác định uid, gid của tài khoản đang dùng bằng lệnh id
Kết quả sẽ trả về bên dưới:
uid=1026(thuanbui) gid=100(users) groups=100(users),101(administrators),65536(docker)uid=1026 và gid=100. Mình sẽ dùng các thông số này để cài đặt các ứng dụng ở các bước sau.
4. Tạo hệ thống thư mục
Để trọn bộ arr suites hoạt động trơn tru, chúng ta cần phải tạo hệ thống thư mục tiêu chuẩn như bên dưới. Trong đó thư mục media sẽ là nơi lưu trữ phim / tv shows / nhạc còn thư mục torrents sẽ là nơi để tải file.
├── media│ ├── movies│ ├── music│ └── tv└── torrents ├── movies ├── music └── tvTruy cập vào thư mục lưu trữ trên Synology vào tạo thêm các thư mục cần thiết. Ví dụ mình sẽ lưu tất cả trên ổ cứng gắn ngoài volumeUSB3, tạo thư mục bằng lệnh sau
mkdir -p /volumeUSB3/usbshare/{torrents/{tv,movies,music},media/{tv,movies,music}}5. Tạo Docker network
Mình tạo sẵn 1 Docker network với tên gọi arr để kết nối tất cả các docker container liên quan vào cùng network này.
docker network create arrII. Cài đặt Torrent client
Mình cài đặt qBittorrent + Flood theo hướng dẫn đã chia sẻ ở đây.
https://thuanbui.me/qbittorrent-flood-web-ui-docker/
1. Cập nhật thông số
Sau khi cài thành công, cần phải sửa lại file compose.yml đôi chút ở phần khải báo environment, volumes và networks để có thể kết nối với ứng dụng arr suites.
-
PUID=1026thay 1026 thành số uid đã được tìm thấy ở bước I.3 -
PGID=1000thay 1000 thành số gid đã được tìm thấy ở bước I.3 -
thay
/volumeUSB3/usbsharethành đường dẫn thư mục bạn sử dụng ở bước I.4
File compose.yml sau khi cập nhật sẽ như bên dưới
services: qbittorrent: container_name: qbittorrent image: ghcr.io/hotio/qbittorrent ports: - 8090:8090 environment: - PUID=1026 - PGID=1000 - UMASK=002 - WEBUI_PORTS=8090/tcp,8090/udp volumes: - ./config:/config - /volumeUSB3/usbshare:/data flood: image: jesec/flood:latest container_name: flood restart: always depends_on: - qbittorrent volumes: - ./flood_config:/config - /volumeUSB3/usbshare:/data - /etc/localtime:/etc/localtime:ro ports: - 3000:3000 command: - --auth=none - --qburl=http://qbittorrent:8090 - --qbuser=admin - --qbpass=123456networks: default: name: arr external: truesau đó cho kích hoạt lại ứng dụng
3. Cập nhật thư mục lưu trữ
Truy cập vào Floor ở địa chỉ http://<IP>:3000, vào phần Setting > Resources và cập nhật lại thư mục Default Download Directory thành /data/torrents

III. Cài đặt Arr Suite
1. Tạo thư mục
Do Docker trên Synology không tự động tạo các thư mục khi kích hoạt Docker nên mình cần tạo sẵn các thư mục cần thiết cho Arr suite.
mkdir -p /volume1/docker/servarr/{radarr,sonarr,bazarr,plex,prowlarr}2. Tạo file compose.yml và .env
Truy cập vào thư mục servarr
cd /volume1/docker/servarr/và tạo file compose.yml với nội dung sau
version: "3.2"services: # Radarr - https://hotio.dev/containers/radarr/ # mkdir /volume1/docker/servarr/radarr radarr: container_name: radarr image: ghcr.io/hotio/radarr:latest restart: unless-stopped logging: driver: json-file options: max-file: ${DOCKERLOGGING_MAXFILE} max-size: ${DOCKERLOGGING_MAXSIZE} ports: - 7878:7878 environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - UMASK=002 volumes: - /etc/localtime:/etc/localtime:ro - ${DOCKERCONFDIR}/radarr:/config - ${DOCKERSTORAGEDIR}:/data
# Sonarr - https://hotio.dev/containers/sonarr/ # mkdir /volume1/docker/servarr/sonarr sonarr: container_name: sonarr image: ghcr.io/hotio/sonarr:release restart: unless-stopped logging: driver: json-file options: max-file: ${DOCKERLOGGING_MAXFILE} max-size: ${DOCKERLOGGING_MAXSIZE} ports: - 8989:8989 environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - UMASK=002 volumes: - /etc/localtime:/etc/localtime:ro - ${DOCKERCONFDIR}/sonarr:/config - ${DOCKERSTORAGEDIR}:/data
# Bazarr - https://hotio.dev/containers/bazarr/ # mkdir /volume1/docker/servarr/bazarr bazarr: container_name: bazarr image: ghcr.io/hotio/bazarr restart: unless-stopped logging: driver: json-file options: max-file: ${DOCKERLOGGING_MAXFILE} max-size: ${DOCKERLOGGING_MAXSIZE} ports: - 6767:6767 environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - UMASK=002 volumes: - /etc/localtime:/etc/localtime:ro - ${DOCKERCONFDIR}/bazarr:/config - ${DOCKERSTORAGEDIR}/media:/data/media
# Prowlarr - https://hotio.dev/containers/prowlarr/ prowlarr: container_name: prowlarr image: hotio/prowlarr restart: unless-stopped logging: driver: json-file options: max-file: ${DOCKERLOGGING_MAXFILE} max-size: ${DOCKERLOGGING_MAXSIZE} ports: - 9696:9696 environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TZ} - UMASK=002 - ARGS= volumes: - ${DOCKERCONFDIR}/prowlarr:/config:rw
networks: default: name: arr external: trueTạo thêm file .env
COMPOSE_PROJECT_NAME=servarrDOCKERCONFDIR=/volume1/docker/servarrDOCKERSTORAGEDIR=/volumeUSB3/usbsharePUID=1026PGID=100TZ=Asia/Ho_Chi_MinhDOCKERLOGGING_MAXFILE=10DOCKERLOGGING_MAXSIZE=200kBạn cần thay đổi các thông số DOCKERSTORAGEDIR, PUID, PGID, TZ cho tương ứng với hệ thống của mình.
Bộ Arr suite này bao gồm 4 ứng dụng
- Radarr (Quản lý phim lẻ)- Sonarr (Quản lý phim bộ)- Bazarr (Quản lý phụ đề)- Prowlarr (Quản lý indexer/tracker)Ngoài các ứng dụng này ra, còn có thêm Whisparr, Tidarr, Readarr phục vụ các món ăn chơi khác. Bạn nào quan tâm có thể nghiên cứu thêm.
3. Cấu hình quyền truy cập
Trước khi kích hoạt, mình cần thiết lập quyền truy cập cho các thư mục đã tạo để tránh bị lỗi permission denied. Nhớ thay thế /volumeUSB3/usbshare bằng đường dẫn thư mục của bạn và thuanbui:users thành tên user:group tương ứng.
sudo chown -R thuanbui:users /volumeUSB3/usbshare /volume1/dockersudo chmod -R a=,a+rX,u+w,g+w /volumeUSB3/usbshare /volume1/docker4. Kích hoạt Arr suite
Kích hoạt Arr suite
docker-compose up -dIV. Cấu hình Radarr
Radarr là ứng dụng quản lý phim lẻ trong bộ Arr suite. Mình chỉ hướng dẫn cách cách cấu hình Radarr, bên Sonarr thao tác gần như y hệt nhé.
Truy cập vào Radarr ở địa chỉ http://<IP>:7878
1. Cấu hình đăng nhập
Ở lần truy cập đầu tiên, Radarr sẽ yêu cầu cấu hình bảo mật. Mình chọn cách đăng nhập bằng Login Page sau đó bấm Save.

Sau khi đăng nhập, hệ thống sẽ báo lỗi chưa có Indexer, chưa có trình tải file (download client) như hình bên dưới

2. Cấu hình Download Clients
Truy cập vào phần Settings > Download Clients, bấm vào dấu + để thêm mới

Mình chọn Flood vì thích quản lý torren với nó

Do các container đều kết nối chung với Docker network arr nên có thể truy cập trực tiếp bằng tên của service. Phần Host nhập flood, Port: 3000. Sau đó bấm Test để kiểm tra thử kết nối. OK thì bấm Save

3. Cấu hình Root Folders
Truy cập vào mục Setings > Media Management, kéo xuống dưới cùng, bấm Add Root Folder và thêm vào thư mục /data/meda/movies

V. Cấu hình Prowlarr
Prowlarr đóng vai trò làm người trung gian, chuyển các yêu cầu tìm kiếm từ Radarr / Sonarr lên các Tracker để tìm kiếm thông tin, sau đó trả về kết quả về ngược lại các ứng dụng này.
Đăng nhập vào Prowlarr theo đường dẫn http:\\<IP>:9696, rồi cấu hình đăng nhập y hệt như bước đã làm cho Radarr
1. Thêm Inderxers
Indexers có thể hiểu là các trang tìm kiếm như Google / Bing, nó sẽ trả về kết quả là các đường dẫn / file torrent để tải dữ liệu
Truy cập vào mục Inderxers, bấm Add Indexers để thêm Indexer. Phần này hơi nhảy nhạy cảm, mọi người vui lòng tự mò.

2. Kết nối với Radarr / Sonarr
Truy cập vào Settings > Apps, bấm vào dấu + để thêm kết nối

Chọn ứng dụng tương ứng. Mình chọn Radarr

Quay lại Radarr, truy cập vào mục Settings > General và kéo đến mục API Key để copy sẵn key này.

Nhập vào các thông tin sau
-
Prowlarr Server:
https://prowlarr:9696 -
Radarr Server:
http://radarr:7878 -
API Key: Nhập vào API Key vừa mới lấy bên Radarr
Bấm Test để kiểm tra kết nối và sau đó Save.

Nếu kết nối thành công, quay lại vào mục Indexers của Radarr, bạn sẽ thấy nó tự thêm vào 1 mục mới như bên dưới

VI. Quản lý phim trên Radarr
1. Thêm phim mới
Vào mục Add New trên Radarr để tìm tên phim, ví dụ Oppenheimer

Bấm vào tên phim, thiết lập các thông số cần thiết rồi bấm Add Movie.

Radarr sẽ tự động tải các thôgn tin liên quan đến phim từ các cơ sở dữ liệu trên mạng.
2. Tải phim
Bạn có thểm bấm vào nút Interactive Search để tìm link tải phim

Chờ 1-2 phút, kết quả sẽ trả về danh sách file có thể tải. Danh sách này sẽ tùy thuộc vào Inderxers bạn đã cầu hình bên Prowlarr. Bấm vào nút Download để tải về máy.

Nếu hệ thống hoạt động thông suốt, Radarr sẽ tự động gửi yêu cầu qua Flood để tải phim. Sau khi tải xong, nó sẽ tự động tạo hardlink cho phim vừa tải và lưu vào thư mục /data/media/movies/<tên phim>
Bên Sonarr, Whisparr, Readarr, Lidarr thao tác gần như tương tự như Radarr nên mình không cần hướng dẫn nhé. Chúc bạn mò vui với bộ Arr suite!
Nguồn tham khảo: https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/, https://wiki.servarr.com/