Tự host

Các bài kiểm tra tự lưu trữ Immich cho thấy nhu cầu RAM cao và yêu cầu sao lưu quan trọng

Một phân tích kỹ thuật chuyên sâu về Immich cho thấy giải pháp thay thế Google Photos này đòi hỏi hơn 4 GB RAM, các bản sao lưu cơ sở dữ liệu nghiêm ngặt và cấu hình mạng cẩn thận để truy cập di động an toàn.

Giá đỡ máy chủ với đèn cảnh báo và các biểu tượng ảnh nổi tượng trưng cho việc lưu trữ Immich
Ảnh minh họa tạo riêng cho bài viết

Bài được dịch tự động từ bản gốc tiếng Anh.

Những người đam mê tự lưu trữ (self-hosting) muốn thay thế Google Photos bằng Immich đang phải đối mặt với những đánh đổi đáng kể về phần cứng và vận hành, theo một phân tích triển khai gần đây được công bố vào ngày 30 tháng 10 năm 2026. Bài đánh giá nhấn mạnh rằng mặc dù nền tảng mã nguồn mở cung cấp các tính năng học máy (machine-learning) mạnh mẽ, nó đòi hỏi nhiều tài nguyên hệ thống hơn đáng kể so với các ứng dụng tự lưu trữ nhẹ thông thường. Người dùng cần chuẩn bị cho một quá trình thiết lập phức tạp liên quan đến nhiều container, chính sách mật khẩu nghiêm ngặt và quy trình sao lưu khắt khe để tránh mất dữ liệu.

Chuyện gì đã xảy ra

Tác giả đã triển khai Immich phiên bản 3 trên một máy trạm trang bị bộ xử lý Intel Core Ultra 7 255H, 30 GB RAM và bộ nhớ NVMe chạy Ubuntu 24.04.5 LTS. Mục tiêu là đo lường mức tiêu thụ tài nguyên thực tế của stack, bao gồm máy chủ chính, dịch vụ học máy, VectorChord cho Postgres và Valkey. Khác với các công cụ đơn giản hơn như Vaultwarden hoặc Uptime Kuma, vốn hoạt động trong phạm vi vài megabyte bộ nhớ, Immich chứng tỏ là một ứng dụng nặng. Tập làm việc (working set) đo được ổn định ở khoảng 2,4 GB RAM, với những đợt tăng vọt rõ rệt trong các tác vụ xử lý học máy như tạo hình thu nhỏ và tạo embedding.

Ngoài việc sử dụng tài nguyên thô, quá trình triển khai còn tiết lộ một số cạm bẫy vận hành có thể làm hỏng cài đặt hoặc gây tổn hại bảo mật. Tác giả lưu ý rằng tệp Docker Compose thay đổi thường xuyên giữa các bản phát hành do chu kỳ phát triển nhanh chóng của dự án. Chỉ kéo (pull) các image mới mà không cập nhật cấu hình Compose có thể dẫn đến lỗi. Ngoài ra, thành phần cơ sở dữ liệu không phải là thứ có thể bỏ đi; nó lưu trữ tất cả siêu dữ liệu, album, dữ liệu nhận diện khuôn mặt và lịch sử chỉnh sửa. Điều này khiến việc sao lưu định kỳ cả thư viện ảnh và bản dump Postgres trở nên thiết yếu trước khi nhập các bộ sưu tập ảnh lớn.

Chi tiết chính

  • Yêu cầu bộ nhớ: Stack cần ít nhất 4 GB RAM nhàn rỗi để hoạt động tin cậy, với mức sử dụng cơ bản khoảng 2,4 GB và các đợt tăng vọt cao hơn trong các tác vụ ML.
  • Phức tạp của cơ sở dữ liệu: Postgres lưu trữ siêu dữ liệu quan trọng và không thể được coi là tạm thời; người dùng phải sao lưu cả bản dump cơ sở dữ liệu và thư viện ảnh.
  • Hạn chế mật khẩu: Các ký tự đặc biệt trong biến môi trường DB_PASSWORD làm hỏng chuỗi kết nối, đòi hỏi mật khẩu chỉ chứa chữ và số bất chấp các cảnh báo tiêu chuẩn.
  • Biến động cấu hình: Tệp Docker Compose chính thức được cập nhật thường xuyên, đòi hỏi phải tải xuống mới mỗi lần nâng cấp thay vì chỉ kéo các image container mới.
  • Bảo mật mạng: Chức năng sao lưu di động yêu cầu HTTPS thông qua proxy ngược hoặc đường hầm bảo mật như Tailscale, vì việc phơi bày trực tiếp dịch vụ ra internet là không an toàn.
  • Dịch vụ tùy chọn: Dịch vụ học máy có thể bị loại bỏ cho phần cứng yếu hơn, mặc dù điều này sẽ vô hiệu hóa các tính năng tìm kiếm thông minh và nhận diện khuôn mặt.

Bối cảnh

Immich đã trở nên phổ biến như một giải pháp tự lưu trữ thay thế cho Google Photos, với hơn 115.000 ngôi sao trên GitHub. Nó cung cấp các ứng dụng di động với khả năng sao lưu tự động và sử dụng học máy để cho phép tìm kiếm bằng ngôn ngữ tự nhiên, chẳng hạn như tìm ảnh bằng cách mô tả "hoàng hôn trên mặt nước". Chức năng này phụ thuộc vào việc tạo embedding cho hình ảnh, một quy trình tốn kém tài nguyên tính toán so với lưu trữ tệp đơn giản. Trong khi nhiều công cụ tự lưu trữ được thiết kế để chạy trên các máy chủ ảo riêng (VPS) tối thiểu, kiến trúc của Immich phản ánh bản chất ngốn tài nguyên của các dịch vụ đám mây thương mại, chuyển chi phí từ phí đăng ký sang năng lực phần cứng cục bộ.

Sự khác biệt giữa một trình xem thư viện và một giải pháp sao lưu đầy đủ là rất quan trọng trong bối cảnh này. Google Photos cung cấp độ bền và dự phòng ngoài trang web, trong khi một instance Immich tự lưu trữ đại diện cho một điểm thất bại duy nhất trừ khi được sao lưu đúng cách. Quy tắc sao lưu "3-2-1"—giữ ba bản sao dữ liệu, trên hai phương tiện khác nhau, với một bản ngoài trang web—áp dụng nghiêm ngặt ở đây. Nếu không có bản sao lưu ngoài trang web cho cơ sở dữ liệu và thư viện, máy chủ chỉ đơn thuần là bản sao thứ hai của dữ liệu trên phần cứng do người dùng quản lý, chứ không phải là một lưới an toàn thực sự chống lại lỗi phần cứng hoặc ransomware.

Tại sao điều này quan trọng

Đối với các trưởng nhóm IT và nhà phát triển quản lý cơ sở hạ tầng quy mô nhỏ, việc hiểu rõ chi phí thực sự của tự lưu trữ các ứng dụng phức tạp là rất quan trọng. Immich chứng minh rằng phần mềm "miễn phí" thường kèm theo các chi phí ẩn dưới dạng thông số phần cứng và gánh nặng bảo trì. Một VPS tiêu chuẩn 1 GB hoặc tùy chọn PaaS miễn phí là không đủ cho khối lượng công việc này. Các đội ngũ cân nhắc những cuộc di cư như vậy phải đánh giá xem phần cứng hiện tại của họ, chẳng hạn như một VM miễn phí của Oracle với 12 GB RAM, có thể chịu tải liên tục của quá trình xử lý ML nền và các thao tác cơ sở dữ liệu hay không.

Hơn nữa, kỷ luật vận hành cần thiết cho Immich vượt xa so với các ứng dụng stateless đơn giản hơn. Nhu cầu quản lý schema cơ sở dữ liệu, xử lý các thay đổi phá vỡ (breaking changes) trong tệp cấu hình và bảo mật các kênh truy cập từ xa làm tăng thêm gánh nặng quản trị. Đối với các tổ chức hoặc cá nhân có phòng thí nghiệm gia đình (home lab) không luôn sẵn sàng, rủi ro thất bại đồng bộ hóa dữ liệu tăng lên. Nếu máy chủ ngoại tuyến khi các thiết bị di động cố gắng đồng bộ, tiện ích sao lưu sẽ bị vô hiệu hóa. Điều này khiến Immich chỉ phù hợp với các môi trường luôn bật (always-on) với kết nối điện và mạng mạnh mẽ.

Bạn có thể làm gì

  • Kiểm toán tài nguyên phần cứng: Đảm bảo máy chủ của bạn có ít nhất 4 GB RAM nhàn rỗi và dung lượng lưu trữ NVMe đủ trước khi bắt đầu triển khai.
  • Thực hiện sao lưu nghiêm ngặt: Cấu hình các script tự động để thực hiện cả thao tác pg_dump và sao lưu cấp tệp của thư viện ảnh đến một vị trí ngoài trang web.
  • Bảo mật truy cập từ xa: Sử dụng proxy ngược với chứng chỉ TLS hợp lệ hoặc công cụ mạng lưới như Tailscale để kích hoạt sao lưu di động mà không phơi bày cổng ra internet công cộng.
  • Tuân thủ giao thức nâng cấp: Luôn tải xuống tệp Docker Compose chính thức mới nhất từ thẻ phát hành cụ thể khi nâng cấp, thay vì dựa vào các cấu hình đã được cache.
  • Xác thực thông tin đăng nhập: Chỉ sử dụng các ký tự chữ và số cho mật khẩu cơ sở dữ liệu để tránh lỗi phân tích cú pháp chuỗi kết nối trong quá trình thiết lập ban đầu.
  • Cân nhắc giảm quy mô: Nếu chạy trên phần cứng hạn chế, hãy tắt dịch vụ học máy để giảm mức sử dụng RAM, chấp nhận mất đi các khả năng tìm kiếm thông minh.

Tin khác

Tất cả tin