Cài đặt Radarr trên Ubuntu 20.04

Radarr là trình quản lý bộ sưu tập phim cho người dùng Usenet và BitTorrent. Nó có thể giám sát nhiều nguồn cấp RSS cho các bộ phim mới và sẽ giao tiếp với client và người lập chỉ mục để lấy, sắp xếp và đổi tên. Nó cũng có thể được cấu hình để tự động nâng cấp chất lượng của các tệp hiện có trong thư viện khi có định dạng chất lượng tốt hơn.

Trước khi cài đặt Radarr trên Ubuntu

Cài đặt bản phân phối Linux dựa trên Debian, tốt nhất là Ubuntu 20.04 để cài đặt Radarr.

Bước 1 - Cài đặt Mono

Mono là một framework C# .NET mã nguồn mở, được nhắm mục tiêu ban đầu cho Linux. Chúng tôi sẽ cài đặt nó vì Radarr được viết bằng C# và cần môi trường chạy Mono.

sudo apt install mono-devel

Cài đặt các gói cần thiết

Để cài đặt gói chính thức của mono, trước tiên cài đặt phần mềm gnupg ca-certificate. gnupg  là bảo vệ quyền riêng tư GNU, được phát triển tại tổ chức GNU và được sử dụng để đảm bảo an toàn cho truyền thông mạng và lưu trữ dữ liệu bằng cách mã hóa dữ liệu bằng chữ ký số. ca-certificate cung cấp các tổ chức phát hành chứng chỉ cấp chữ ký số (tổ chức phát hành chứng chỉ), vì vậy người ta có thể kiểm tra xem dữ liệu có được truyền xác thực thông qua giao thức HTTPS hay không.

sudo apt install gnupg ca-certificates

Nếu bạn thấy kết quả tương tự như sau, điều đó cho biết rằng hai phần mềm đã được cài đặt. Trên máy của tôi, hai gói này đã được cài đặt trên máy Ubuntu 20.04 của tôi, nhưng sẽ an toàn hơn khi chạy chúng để tránh sự cố trong các bước sau nếu chưa cài đặt chúng.

Thêm Mono’s official key

Với các công cụ cần thiết đã được cài đặt, bây giờ chúng ta sẽ sử dụng apt-key để thêm khóa công khai 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF thuộc sở hữu của Xamarin, công ty đang phát triển Mono. Chúng tôi sử dụng tham số adv ở đây để chuyển các tham số nâng cao cho apt-key như máy chủ khóa và chuỗi khóa. Với khóa Mono này được cài đặt, các gói liên quan đến mono được ký bởi khóa này sẽ được xác thực và được coi là đáng tin cậy.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

Output sẽ như sau. Bạn có thể thấy chủ sở hữu khóa là Xamarin Public Jenkins (auto-signing) và email được liên kết (desng@xamarin.com). Jenkins là một máy chủ tự động hóa để xây dựng, thử nghiệm và triển khai phần mềm.

Thêm Mono’s Ubuntu 20.04 repository

Bây giờ thêm kho lưu trữ Ubuntu 20.04 chính thức của dự án Mono (nguồn dữ liệu APT) vào tệp mono-official-stable.list trong thư mục /etc/apt/sources.list.d/. Nếu bạn thấy đầu ra deb https://download.mono-project.com/repo/ubuntu stable-focus main, repo đã được thêm thành công.

echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

Bây giờ chạy sudo apt update để nhận tất cả thông tin về các gói từ kho của Mono. Về mặt kỹ thuật, chúng tôi đồng bộ hóa lại các chỉ mục gói. Bạn sẽ thấy đầu ra trong ảnh chụp màn hình sau. Lưu ý rằng bạn sẽ nhận được cảnh báo về việc repo không hỗ trợ kiến trúc i386, hãy bỏ qua nó một cách an toàn vì có thể đang chạy trên máy 64 bit.

Cài đặt gói mono-devel

sudo apt install mono-devel

Để xác minh điều đó, hãy kiểm tra phiên bản Mono. Bạn sẽ thấy đầu ra tương tự như ảnh chụp màn hình sau. Trong trường hợp của tôi, trình biên dịch Mono JIT phiên bản 6.8.0.123 đã được cài đặt.

Bước 2 - Cài đặt các dependencies cho Radarr

Với cài đặt mono, cài đặt curl mediainfo trên Hệ điều hành Linux Ubuntu 20.04 của bạn, theo đề xuất của hướng dẫn cài đặt Radarr chính thức.

sudo apt install curl mediainfo

Nó sẽ hiển thị ra một cái gì đó như sau. Ở đây tôi đã tải xuống tất cả các phụ thuộc cho Radarr. Nếu nó hỏi một câu hỏi, bạn có thể nhấn Enter để tiếp tục.

Bước 3 - Cài đặt bản phát hành Radarr mới nhất trên Ubuntu 20.04

Đầu tiên, chạy lệnh sau, curl, để tải xuống bản lưu trữ phát hành mới nhất ở định dạng .tar.gz, tương tự như định dạng zip phổ biến.

curl -L -O $(curl -s https://api.github.com/repos/Radarr/Radarr/releases | grep linux.tar.gz | grep browser_download_url | head -1 | cut -d \" -f 4)

Để giải nén Radarr trên Ubuntu 20.04: tar -xvzf Radarr.*.linux.tar.gz
Sau đó, bạn sẽ thấy một danh sách dài tất cả các tệp trong thư mục Radarr:
Hướng dẫn cài đặt Radarr chính thức gợi ý chúng ta di chuyển thư mục Radarr sang thư mục /opt bằng cách chạy lệnh sau. Thư mục /opt được sử dụng cho các gói của bên thứ ba không có trong hệ thống đóng gói của Ubuntu, vì vậy việc thiết lập các tệp Radarr ở đó là hoàn toàn hợp lý.

Tuy nhiên, thư mục /opt thuộc sở hữu của người dùng root và nếu bạn chỉ thiết lập cho mục đích sử dụng cá nhân, bạn không cần phải tuân theo tất cả các quy tắc để tránh các vấn đề về quyền không mong muốn. Dù sao nó cũng là máy của bạn. Về mặt lý thuyết, bạn nên thiết lập một người dùng được gọi là radarr để chạy Radarr để người dùng không được phép ghi bất kỳ tệp cá nhân nào của bạn nhưng nó không được phép như thế này.

Khởi động Radarr

Để kiểm tra xem Radarr đã được cài đặt trên máy Ubuntu 20.04 của bạn hay chưa, hãy bắt đầu Radarr bằng mono. Lưu ý ở phần sau, không sử dụng --debug, bằng cách này, không thấy quá nhiều thông báo cho mục đích gỡ lỗi.

mono ~/Radarr/Radarr.exe

Mở Radarr trong trình duyệt với cổng mặc định 7878

Cổng Radarr mặc định là 7878, đó là lý do tại sao bạn thấy “Đang lắng nghe các URL sau: http:// *:7878/”. Điều này có nghĩa là chúng ta có thể mở Radarr bằng cách truy cập http://localhost:7878/. Bây giờ hãy nhấp chuột phải vào URL này để mở nó và bạn sẽ thấy giao diện web của Radarr.

Tự động khởi động Radarr với dịch vụ systemd

Cho đến bước cuối cùng, nếu bạn khởi động lại máy tính hoặc gặp sự cố mất điện, bạn sẽ phải khởi động lại Radarr để sử dụng. Ở đây sử dụng một phần mềm có tên là systemd để tự động khởi động Radarr cho bạn khi khởi động. Những gì chúng ta sẽ sử dụng tiếp theo được gọi là dịch vụ systemd.

Tạo dịch vụ hệ thống Radarr

Tạo một tệp dịch vụ có tên là radarr.service trong thư mục /etc/systemd/system/. Ở đây sử dụng trình soạn thảo vim. Nếu bạn chưa quen với Ubuntu, bạn cũng có thể sử dụng trình soạn thảo nano.

sudo vim /etc/systemd/system/radarr.service

[Unit]
Description=Radarr Daemon
After=syslog.target network.target

[Service]
# Change and/or create the required user and group.
User=vh
Group=vh

Type=simple

# Change the path to Radarr or mono here if it is in a different location for you.
ExecStart=/usr/bin/mono --debug /home/vh/Radarr/Radarr.exe -nobrowser
TimeoutStopSec=20
KillMode=process
Restart=on-failure

# These lines optionally isolate (sandbox) Radarr from the rest of the system.
# Make sure to add any paths it might use to the list below (space-separated).
#ReadWritePaths=/opt/Radarr /path/to/movies/folder
#ProtectSystem=strict
#PrivateDevices=true
#ProtectHome=true

[Install]
WantedBy=multi-user.target
Thêm vào nội dung trên vào tệp radarr.service. Đây là một tệp dịch vụ systemd mẫu. Bạn sẽ cần thay đổi user group trong phần service. Đây là người dùng được sử dụng để chạy Radarr trên Ubuntu. Tìm kiếm vh và thay đổi nó thành người dùng hiện tại của bạn. Group có thể giống với tên người dùng của bạn. Nếu bạn là một người dùng Linux có kinh nghiệm, bạn có thể tạo một người dùng có tên là radarr nhưng nó không cần thiết cho mục đích cá nhân của Radarr.
Đối với các giá trị khác, syslog.target có nghĩa là Radarr sẽ chỉ được khởi động khi syslog đã sẵn sàng.
Network.target có nghĩa là chúng tôi chỉ khởi động Radarr sau khi tất cả network stack đã hoàn tất, điều này là hợp lý vì chúng tôi sẽ liên kết một cổng mạng.
Restart =on-fail được chỉ định vì chúng tôi chỉ muốn khởi động lại Radarr khi nó không thành công.

Bật/khởi động dịch vụ hệ thống Radarr

Bây giờ chúng ta sẽ kích hoạt dịch vụ Radarr bằng cách sử dụng systemctrl, như tên cho thấy, được sử dụng để điều khiển các dịch vụ systemd. Thật vậy, bạn không cần phải bật nó ngay bây giờ, nó sẽ tự động được bật sau khi bạn khởi động lại Ubuntu.

sudo systemctl enable --now radarr.service

Để xác minh Radarr được khởi động thành công, hãy chạy sudo systemctl status radarr.service. Bạn sẽ thấy đầu ra tương tự như ảnh chụp màn hình. Nó đang nghe http:// *:7878/ (vâng, bạn có thể mở http://localhost:7878/ hoặc thay localhost bằng địa chỉ IP của bạn) và được lưu trữ 2 cơ sở dữ liệu trong /home/vh/.config/NzbDrone/ mà thực sự là ~ /.config /NzbDrone/ trong thư mục chính.

Dừng/khởi động lại dịch vụ hệ thống radarr

Dịch vụ systemd cho phép chúng tôi tự động khởi động một dịch vụ như Radarr, bạn cũng có thể sử dụng các lệnh sau để dừng hoặc khởi động lại Radarr bất kỳ lúc nào, đặc biệt nếu có sự cố.
Để dừng dịch vụ radarr systemd, hãy chạy sudo systemctl stop radarr.service. Để khởi động lại radarr, hãy chạy sudo systemctl restart radarr.service.

Cách gỡ cài đặt Radarr

Để loại bỏ Radarr, trước tiên, chúng tôi vô hiệu hóa dịch vụ Radarr: 

sudo systemctl disable radarr.service

Sau đó, chúng tôi xóa tệp radarr.service mà chúng tôi đã thêm:

sudo remove /etc/systemd/system/radarr.service

Cuối cùng, xóa thư mục Radarr đã tải xuống.

rm -rf ~/Radarr/