Bỏ qua để đến nội dung

Cập nhật

Mới làm quen

HolyArrs báo cho bạn khi có phiên bản mới và không bao giờ tự cài. Bạn kéo image mới về khi thấy tiện.

  1. Mở trang Status (Trạng thái) (http://your-server:6262/health).
  2. Đọc mục Updates (cập nhật). Bạn sẽ thấy một trong các thông báo sau:
Thông báo Ý nghĩa
“HolyArrs 1.2.0 is out, newer than this one.” Cập nhật khi bạn sẵn sàng
“This is the newest version.” Không cần làm gì
“No HolyArrs release is published yet.” Feed đang trống. Không có gì sai
“The last check did not work: …” Không kết nối được feed, thường là do không có internet
“The update check is off: …” Đã tắt trong Cài đặt
  1. Để hỏi ngay, nhấn Check now (kiểm tra ngay) (hoặc Check again, kiểm tra lại). Bạn cần quyền Change settings (đổi cài đặt).

Phiên bản mới hơn cũng hiện như một lưu ý về tình trạng. Lần kiểm tra bị lỗi chỉ hiện trong mục Updates.

  1. Kéo image mới về rồi khởi động lại: docker compose pull, sau đó docker compose up -d.
  2. HolyArrs khởi động. Nếu phiên bản mới thay đổi cách lưu dữ liệu, nó sao lưu trước, rồi mới cập nhật dữ liệu. Bạn sẽ thấy ứng dụng mở lên ở phiên bản mới.

HolyArrs không tự đổi được image của mình, nên bạn chạy image cũ và HolyArrs phục hồi dữ liệu cũ.

  1. Đổi tag của image trong tệp compose (hoặc docker run) sang bản cũ, ví dụ holyarrs/holyarrs:<older version>.
  2. Chạy docker compose up -d.
  3. Nếu bản cập nhật không đổi dữ liệu, phiên bản cũ sẽ khởi động. Vậy là xong.
  4. Nếu không, phiên bản cũ hiện một trang thay cho ứng dụng. Chọn Put back the data from before the update (phục hồi dữ liệu từ trước khi cập nhật).
  5. Nhập mã dùng một lần. Tìm mã bằng docker logs <container>; tìm dòng có “one-time code”.
  6. HolyArrs kiểm tra bản sao lưu, đặt nó vào chỗ cũ rồi dừng. Bạn sẽ thấy container khởi động lại trên dữ liệu đó nhờ chính sách khởi động lại. Nếu không có chính sách này, hãy tự khởi động.

Không dùng trang: docker exec <container> /holyarrs restore --pre-update, sau đó docker restart <container>. Không dùng Docker: dừng HolyArrs, chạy holyarrs restore --pre-update, rồi khởi động lại.

Không có gì bị xóa. Dữ liệu mới hơn được chuyển sang backups/before-restore-<time>/, nên bạn có thể hoàn tác. Nếu quay lại hơn một phiên bản, HolyArrs chọn bản sao lưu trước khi cập nhật mới nhất mà phiên bản đó đọc được.

Tất cả nằm trong Settings > Health checks. Ba tùy chọn cuối nằm ở phần nâng cao của thẻ.

Tùy chọn Mặc định Đổi khi
Check for a newer HolyArrs (kiểm tra HolyArrs mới hơn) On Bạn không muốn có bất kỳ yêu cầu nào ra ngoài
Check for updates every (kiểm tra cập nhật mỗi) ngày Bạn muốn kiểm tra ít hơn: 3, 7, 14 hoặc 30 ngày
Release feed (feed phiên bản) Trống (các phiên bản HolyArrs) Bạn tự dựng feed riêng
Feed may be on the local network (feed có thể nằm trong mạng nội bộ) Off Feed của bạn nằm trong mạng riêng của bạn
Include test versions (like 1.2.0-rc1) (gồm cả bản thử nghiệm) Off Bạn muốn nhận thông báo về bản thử nghiệm

Triệu chứng: “The last check did not work.” Nguyên nhân: máy chủ không có internet, hoặc feed riêng của bạn nằm trong mạng nội bộ. Cách khắc phục: kiểm tra kết nối internet, hoặc bật Feed may be on the local network.

Triệu chứng: không lưu được feed phiên bản. Nguyên nhân: địa chỉ có tên người dùng, mật khẩu, ?query hoặc #fragment, hoặc không bắt đầu bằng http:// hay https://. Cách khắc phục: bỏ các phần đó đi.

Triệu chứng: quá trình cập nhật dừng vì hết dung lượng ổ đĩa. Nguyên nhân: không đủ chỗ cho bản sao và bản cập nhật. Cách khắc phục: giải phóng dung lượng ở nơi đặt thư mục cấu hình, rồi khởi động lại.

Triệu chứng: trang quay lại phiên bản cũ từ chối mã của bạn. Nguyên nhân: mã cũ, hoặc đã nhập sai 10 lần kể từ lần khởi động gần nhất. Cách khắc phục: sao chép mã từ dòng nhật ký mới nhất. Sau 10 lần sai, khởi động lại container và dùng mã mới.

Một số tính năng bị tắt mặc định trong phiên bản này. Bật chúng thì tự chịu rủi ro. Khi chưa mở, trang và mục menu của chúng bị ẩn, các route API trả “not found” và các tác vụ của chúng không chạy. Dữ liệu bạn đã lưu cho chúng vẫn còn.

Để bật một tính năng, thêm công tắc của nó vào HOLYARRS_FLAGS, cách nhau bằng dấu phẩy, rồi khởi động lại container:

environment:
HOLYARRS_FLAGS: "subtitle_sites,alert_channels_more"

Bỏ tên đó đi và khởi động lại để tắt. Các tùy chọn bị ẩn sẽ trở lại khi bạn bật lại.

Công tắc Tính năng
row_title_stats Thống kê mục của các hàng Khám phá trong Appearance
trakt_lists Khóa Trakt, danh sách Trakt và đánh giá Trakt. Danh sách TMDB vẫn bật
alert_channels_more Cảnh báo qua Telegram, ntfy, Gotify, Pushover và webhook. Discord và email vẫn bật
subtitle_sites Trang phụ đề và tìm phụ đề. Ngôn ngữ phụ đề của bạn vẫn bật
emby_signin Đăng nhập bằng Emby. Làm mới thư viện Emby vẫn dùng được
go_back Bảng Go back trên trang Trạng thái. Các bước trong Quay lại phiên bản cũ vẫn chạy được khi không có nó

Thêm công tắc rồi mà không thấy gì đổi? Kiểm tra chính tả (chữ thường, dấu gạch dưới) và khởi động lại container, không chỉ tải lại trang.

Lần kiểm tra gửi gì đi

Một yêu cầu đến api.github.com để lấy phiên bản mới nhất, chỉ kèm User-Agent: HolyArrs/<version>. Không có tài khoản, khóa hay danh sách media. Khi tắt kiểm tra, không có yêu cầu nào cả.

Câu trả lời gần nhất được lưu lại, nên khởi động lại sẽ không kiểm tra trước giờ hẹn. Mỗi lần kiểm tra chờ tối đa 15 giây, đọc tối đa 512 KB và theo tối đa 3 lần chuyển hướng, không bao giờ chuyển qua lại giữa http và https. Liên kết ghi chú phát hành chỉ hiện khi nó trỏ đến các trang phiên bản của HolyArrs trên GitHub; nếu không, phiên bản hiện dưới dạng văn bản thường.

Release feed chấp nhận câu trả lời phiên bản theo kiểu GitHub, một danh sách các phiên bản, bất kỳ JSON nào có version, hoặc văn bản thường chứa số phiên bản. Các địa chỉ metadata của đám mây luôn bị từ chối. Bản thử nghiệm được tính là cũ hơn bản chính thức cùng số.

Bản sao lưu trước khi cập nhật

Trước khi đổi dữ liệu đã lưu, HolyArrs:

  1. Kiểm tra có đủ chỗ cho một bản sao và bản cập nhật. Nếu không, không có gì thay đổi. Bỏ qua bằng HOLYARRS_SKIP_SPACE_CHECK=yes.
  2. Sao từng cơ sở dữ liệu vào backups, kiểm tra bản sao và ghi một tệp sha256 bên cạnh. Sau 3 lần sao lỗi, không có gì thay đổi.
  3. Chạy từng bước cập nhật riêng và kiểm tra nó. Bước lỗi được hoàn tác; các bước đã xong vẫn giữ. Khởi động lại cùng phiên bản đó để làm tiếp từ bước lỗi với cùng bản sao.

Sau lần khởi động tốt đầu tiên, bản sao trở thành holyarrs-backup-pre-update-<time>.zip, được mô tả kiểu “before updating from 1.1.0 to 1.2.0”. Nó hiện trong Settings > Backups và holyarrs restore --list. 3 bản mới nhất được giữ lại; lịch sao lưu không bao giờ xóa chúng. Cài mới hoàn toàn, hoặc bản cập nhật không đụng đến dữ liệu, thì không tạo bản nào.

Xác minh image

Từ 1.0.3 trở đi, mọi image trên Docker Hub đều được ký bởi lượt chạy phát hành trên GitHub. Không có khóa nào để tải về. Kiểm tra image bằng cosign. Điền phiên bản bạn đang chạy, như 1.0.3, vào chỗ có <version>:

Terminal window
cosign verify holyarrs/holyarrs:<version> \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/HolyArrs/HolyArrs/\.github/workflows/sign\.yml@refs/(tags/[0-9.]+|heads/main)$'

Bạn sẽ thấy The cosign claims were validated. Bất kỳ kết quả nào khác nghĩa là image không đến từ lượt chạy phát hành của HolyArrs: đừng chạy nó.

Image cũng kèm một bản ghi về cách nó được build và danh sách những gì bên trong (SBOM). Kiểm tra chúng bằng GitHub CLI:

Terminal window
gh attestation verify oci://docker.io/holyarrs/holyarrs:<version> --repo HolyArrs/HolyArrs

Các tệp tương tự có trên mỗi bản phát hành GitHub: .sigstore.json (chữ ký), .intoto.jsonl (bản ghi build) và .sbom.spdx.json (nội dung).

HolyArrs miễn phí. Nếu nó giúp bạn tiết kiệm thời gian, hãy gắn sao trên GitHub, tài trợ dự án hoặc mời tôi một ly cà phê.