Bữa thấy các bác bên voz cài mà không biết dùng như nào. Nay mò được bài hướng dẫn của thuanbui,
nên muốn viết lại cho cá nhân mình dùng để sau setup lại chỉ việc vào copy.
Đầu tiên phải tìm id, chạy lênh sau:
id
nếu mà không có thì cài coreutils xong đó chạy lại id:
sudo apt update
sudo apt install coreutils
id
chạy xong nó ra như này
uid=1001(cee) gid=1001(cee) groups=1001(cee),100(users),989(docker)
uid=1001 và gid=1001. 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.
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
có thể tạo bằng tay hoặc dùng lệnh sau:
cd /mnt/nvme0n1p1/pnas
mkdir -p ./{torrents/{tv,movies,music},media/{tv,movies,music}}
lệnh trên là mình muốn lưu trữ ở ổ nvme0n1p1 ( nó là ổ cứng ssd gắn ngoài của mình ), các bạn có thể thay đổi đường dẫn tùy ý.
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
Cài đặt docker compose
Trên con PI mình tạo folder docker docker/servarr (/home/cee/docker/servarr) để làm nơi chứa file docker-compose.yml và file .env
(lưu ý đường dẫn này bạn có thể thay đổi của riêng bạn)
file docker-compose.yml
docker-compose.yml
version: "3.2"
services:
qbittorrent:
container_name: qbittorrent
image: ghcr.io/hotio/qbittorrent
restart: unless-stopped
ports:
- 8090:8090
environment:
- PUID=${PUID}
- PGID=${PGID}
- UMASK=002
- WEBUI_PORTS=8090/tcp,8090/udp
volumes:
- ${DOCKERCONFDIR}/config:/config
- ${DOCKERSTORAGEDIR}:/data
flood:
image: jesec/flood:latest
container_name: flood
restart: always
depends_on:
- qbittorrent
volumes:
- ${DOCKERCONFDIR}/flood_config:/config
- ${DOCKERSTORAGEDIR}:/data
- /etc/localtime:/etc/localtime:ro
ports:
- 4000:3000
command:
- --auth=none
- --qburl=http://qbittorrent:8090
- --qbuser=admin
- --qbpass=123456
# 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
và file .env
.env
COMPOSE_PROJECT_NAME=servarr
DOCKERCONFDIR=/home/cee/docker/servarr
DOCKERSTORAGEDIR=/mnt/nvme0n1p1/pnas
PUID=1001
PGID=1001
TZ=Asia/Ho_Chi_Minh
DOCKERLOGGING_MAXFILE=10
DOCKERLOGGING_MAXSIZE=200k2 file này đều nằm trong thư mục docker/servarr
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)
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.
bên voz có bác làm như này, có thể tham khảo thêm https://pastebin.com/NhkyeHJW (https://voz.vn/t/xin-huong-dan-tao-sever-plex-tu-a-z.674478/post-28985727)
Chạy docker compose
docker-compose up -d
Cài đặt Torrent client
Như bài post của bác thuanbui thì bác ấy tách riêng ra 1 docker compose, nhưng mình thích gộp chung.
Cái Floot khi chạy nó sẽ yêu cầu đăng nhập account của thằng qbittorrent, mà ở file docker compose của thằng flood mình đã
set sẵn account password cho nó là admin/123456. mà password của thằng qbittorrent được sinh ra ngẫu nhiên.
Nên sau khi chạy docker compose xong mình cần xem password của thằng qbittorrent rồi login vào và đổi mật khẩu
chạy lệnh
docker logs qbittorrent
nó sẽ show ra như sau:
******** Information ********
To control qBittorrent, access the WebUI at: http://localhost:8090
The WebUI administrator username is: admin
The WebUI administrator password was not set. A temporary password is provided for this session: ItRmQy2Ar
Mở trình duyệt, gõ vào địa chỉ IP của server với port 8090 để truy cập WebUI của qBittorrrent.
Đăng nhập bằng tài khoản admin vừa mới lấy ở bước trên. Sau khi đăng nhập thành công vào các bước sau để đổi mk:
To change the password in qBitTorrent:
Log into the qBitTorrent app.
vào Tools → Options .
Click vào tab Web UI.
trong mục Authentication, set password là 123456 (password mình đã set ở file docker compose của flood)
Kéo xuống dưới cùng và click vào Save.
Sau khi đổi mật khẩu xong, bạn có thể vào flood để xem trạng thái của qbittorrent.
gõ vào địa chỉ IP của server với port 4000 để truy cập WebUI để xem trạng thái của flood
Lúc đầu sẽ sẽ báo lỗi Cannot connect to the client.` ở giữa màn hình.
Lỗi này là lỗi xuất hiện khi giao diện web Flood không thể kết nối được với qBittorrent.
Vì lần đầu chạy docker compose thì password set bị sai và sau đó mình đã đổi lại
Nên lúc này cần chạy lại service Flood để nó cập nhật lại password mới.
docker-compose restart flood
nếu không được thì chạy lệnh tạo mới lại flood
docker-compose up -d flood
Note: Docker Compose tự động tạo một mạng nội bộ, trong đó các container có thể giao tiếp qua tên container,
nên có thể để tên container ở cái dòng --qburl=http://qbittorrent:8090
Trường hợp mà sửa mãi nó vẫn lỗi Cannot connect to the client thì bạn có thể xem xét tách riêng docker compose của 2 thằng này ra
Sau khi chạy xong, bạn có thể vào flood (id của bạn:4000) để xem trạng thái của nó, nó sẽ hiển thị No torrents to display. như sau
Thế là nó đã connect được đến qbittorrent rồi, giờ vào vào phần Setting > Resources
và cập nhật lại thư mục Default Download Directory thành /data/torrents
Lý do data/torrents là vì mình đã set path ${DOCKERSTORAGEDIR}:/data trong file docker-compose.yml
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
để sửa cái này thì bạn cần vào Setting > Download Client 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
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
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
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.
Cái này mình không biết cái nào ngon nữa, nên đang add bừa vài cái như sau:
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
Cấu hình bazarr
Sau khi cài xong Bazarr, bạn cần phải cấu hình nó. Vào ip:6767
Vào tab Radarr để setup key cho thằng bazarr này nó connect tới radarr
sau khi bỏ key của thằng rardar vào đây rồi thì ấn nút Test để kiểm tra kết nối, nó hiển thị ra được version của radarr là ok.
xong ấn Save ở trên cùng. Nếu có sonarr thì làm tương tự.
Setup language và provider cho bazarr
Thêm languge vietnamese vào profile
Tiếp đó add subtitle provider, đầu tiên vào các trang subtitle để đăng ký tài khoản.
Đăng ký xong vào đây add, trang nào yêu cầu account thì thêm account vào
Quản lý phim trên Radarr
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ông tin liên quan đến phim từ các cơ sở dữ liệu trên mạng.
Tải phim
Ấn vào phim, xong nó sẽ ra trang mới, 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. Radarr cũng tự động gửi yêu cầu đến bazarr để tải phụ đề.
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>
tham khảo copy và chỉnh sửa từ https://thuanbui.me/cai-dat-arr-suite-sonarr-radarr-prowlarr-bazarr/
https://trash-guides.info/Hardlinks/How-to-setup-for/Synology/, https://wiki.servarr.com/