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.
Mục Lục
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
Bạn nào xài Ubuntu / Debian thì tham khảo cái này
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
└── tv
Truy 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 arr
Code language: Nginx (nginx)
II. Cài đặt Torrent client
Mình cài đặt qBittorrent + Flood theo hướng dẫn đã chia sẻ ở đây.
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=1026
thay 1026 thành số uid đã được tìm thấy ở bước I.3PGID=1000
thay 1000 thành số gid đã được tìm thấy ở bước I.3- thay
/volumeUSB3/usbshare
thà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=123456
networks:
default:
name: arr
external: true
Code language: YAML (yaml)
sau đó 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/
Code language: Bash (bash)
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: true
Code language: YAML (yaml)
Tạo thêm file .env
COMPOSE_PROJECT_NAME=servarr
DOCKERCONFDIR=/volume1/docker/servarr
DOCKERSTORAGEDIR=/volumeUSB3/usbshare
PUID=1026
PGID=100
TZ=Asia/Ho_Chi_Minh
DOCKERLOGGING_MAXFILE=10
DOCKERLOGGING_MAXSIZE=200k
Code language: JavaScript (javascript)
Bạ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)
Code language: Markdown (markdown)
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/docker
Code language: Nginx (nginx)
sudo chmod -R a=,a+rX,u+w,g+w /volumeUSB3/usbshare /volume1/docker
Code language: Nginx (nginx)
4. Kích hoạt Arr suite
Kích hoạt Arr suite
docker-compose up -d
IV. 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/
Cài qua docker được cái là bản mới nhất nhưng cấu hình ổ đĩa hơi phức tạp nếu gắn thêm. Mặc định trong package của synology nó có full bộ này trên comunity rồi, cài vào cũng lẹ mà ạ
Mục đích của bài này là hướng dẫn cài bằng Docker. Mình làm demo trên XPEnology để ai xài DSM có thể làm được luôn.
bác hướng dẫn thêm tích hợp bộ này với plex đi bác
bác hướng dẫn nốt Bazarr cấu hình như nào đi bác