Quay lại danh sách
Tin tức công nghệ

Tự host Immich trên VPS gắn Object Storage Cloudflare R2: Giải pháp lưu trữ ảnh gia đình không giới hạn thay thế Google Photos

29 tháng 5, 2026

Đặt vấn đề: Khi Google Photos không còn là 'kho báu' miễn phí

Trong kỷ nguyên số, dữ liệu hình ảnh và video gia đình là những tài sản vô giá. Nhiều năm qua, Google Photos đã trở thành lựa chọn mặc định nhờ tính tiện lợi và thuật toán thông minh. Tuy nhiên, kể từ khi chính sách lưu trữ miễn phí không giới hạn bị khai tử, người dùng đối mặt với bài toán chi phí tăng dần theo năm tháng. Đối với các hộ gia đình có nhu cầu lưu trữ lớn hoặc các doanh nghiệp muốn quản lý tài nguyên truyền thông nội bộ, việc nâng cấp các gói Google One dung lượng cao (2TB, 5TB hoặc hơn) trở thành một gánh nặng tài chính phân bổ dài hạn.

Bên cạnh chi phí, vấn đề quyền riêng tư và kiểm soát dữ liệu cũng là một dấu hỏi lớn. Dữ liệu cá nhân của bạn được quét bởi các thuật toán AI của các tập đoàn công nghệ lớn phục vụ cho mục đích tối ưu hóa quảng cáo hoặc huấn luyện mô hình. Chính vì vậy, xu hướng Self-hosting (tự vận hành hệ thống lưu trữ) đang bùng nổ mạnh mẽ hơn bao giờ hết.

Immich là gì? Tại sao đây là ứng dụng thay thế Google Photos hoàn hảo nhất?

Trong số các ứng dụng mã nguồn mở quản lý hình ảnh hiện nay, Immich nổi lên như một hiện tượng nhờ tốc độ phát triển thần tốc và giao diện được thiết kế giống Google Photos đến 99%. Hệ thống này sở hữu những tính năng vượt trội bao gồm:

  • Sao lưu tự động sao chép hoàn hảo: Ứng dụng di động trên cả iOS và Android hoạt động mượt mà, chạy ngầm và tự động tải ảnh lên ngay khi bạn chụp.
  • Nhận diện khuôn mặt và vật thể bằng AI: Immich tích hợp sẵn các mô hình học máy (Machine Learning) chạy trực tiếp trên server của bạn để phân loại album theo người, địa điểm và đồ vật mà không gửi bất kỳ dữ liệu nào ra bên ngoài.
  • Tìm kiếm ngữ nghĩa (Semantic Search): Bạn có thể tìm kiếm bằng các câu lệnh tự nhiên như 'đứa trẻ mặc áo màu đỏ trên bãi biển' nhờ mô hình CLIP tích hợp.
  • Hiệu năng tối ưu: Hỗ trợ hiển thị mượt mà hàng trăm nghìn bức ảnh thông qua cơ chế tạo ảnh thu nhỏ (thumbnails) và nén video thông minh.

Kiến trúc tối ưu: VPS kết hợp Cloudflare R2 Object Storage

Mô hình tự host truyền thống thường gặp trở ngại lớn: Dung lượng ổ cứng (SSD/NVMe) trên các VPS thông thường rất đắt đỏ và bị giới hạn. Nếu bạn thuê một VPS có 1TB dung lượng để lưu ảnh, chi phí hàng tháng có thể lên tới $50 - $100.

Để giải quyết triệt để bài toán chi phí này, giải pháp kiến trúc tối ưu nhất hiện nay là: Sử dụng một VPS cấu hình vừa phải làm cổng xử lý (Compute) và gắn (mount) Object Storage làm kho lưu trữ dữ liệu gốc (Storage). Trong đó, Cloudflare R2 nổi lên là lựa chọn số một nhờ chính sách Zero Egress Fees (miễn phí hoàn toàn băng thông tải xuống). Bạn chỉ trả tiền cho dung lượng lưu trữ thực tế với mức giá cực kỳ cạnh tranh (khoảng $0.015/GB/tháng), rẻ hơn gấp nhiều lần so với ổ cứng gắn liền của VPS.

Hướng dẫn triển khai chi tiết từng bước

Bước 1: Chuẩn bị hạ tầng

Để bắt đầu triển khai, bạn cần chuẩn bị các thành phần sau:

  1. VPS: Cấu hình tối thiểu khuyên dùng là 2 vCPU và 4GB RAM (để chạy mượt mà các tiến trình AI nhận diện khuôn mặt). Hệ điều hành khuyên dùng là Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS.
  2. Tài khoản Cloudflare: Đã kích hoạt tính năng R2 Storage và tạo sẵn một Bucket (ví dụ tên là: immich-family-photos).
  3. Tên miền (Domain): Một tên miền được trỏ về IP của VPS để thiết lập chứng chỉ SSL truy cập an toàn từ xa.

Bước 2: Cài đặt Rclone và Mount Cloudflare R2 vào VPS

Rclone là công cụ mạnh mẽ giúp đồng bộ và gắn các dịch vụ lưu trữ đám mây thành một ổ đĩa cục bộ trên Linux. Trước tiên, hãy tiến hành cài đặt Rclone thông qua lệnh:

sudo -v && curl https://rclone.org/install.sh | sudo bash

Tiếp theo, chạy lệnh rclone config để cấu hình kết nối tới Cloudflare R2. Bạn cần lấy thông tin Access Key ID, Secret Access Key và Endpoint URL từ trang quản trị Cloudflare R2. Điền thông tin theo các tùy chọn S3 tương thích.

Sau khi cấu hình xong, tiến hành tạo thư mục và mount Bucket vào hệ thống:

mkdir -p /mnt/immich-r2
rclone mount r2-remote:immich-family-photos /mnt/immich-r2 --allow-other --vfs-cache-mode writes --daemon

Để đảm bảo ổ đĩa tự động mount lại mỗi khi VPS khởi động lại, bạn nên cấu hình lệnh này vào hệ thống systemd của Ubuntu.

Bước 3: Triển khai Immich bằng Docker Compose

Immich được khuyến khích triển khai thông qua Docker Compose để đảm bảo tính nhất quán của môi trường. Tạo một thư mục riêng cho Immich:

mkdir -p ~/immich-app && cd ~/immich-app

Tải file cấu hình chính thức từ kho mã nguồn của Immich:

wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget https://github.com/immich-app/immich/releases/latest/download/.env

Mở file .env lên và chỉnh sửa biến môi trường quan trọng nhất là UPLOAD_LOCATION. Điểm mấu chốt ở đây là chúng ta trỏ đường dẫn lưu trữ về thư mục đã mount Cloudflare R2:

UPLOAD_LOCATION=/mnt/immich-r2

Tiếp theo, tạo một mã khóa ngẫu nhiên cho cơ sở dữ liệu và điền vào biến DB_PASSWORD. Sau khi hoàn tất cấu hình, khởi chạy hệ thống bằng lệnh:

docker compose up -d

Bước 4: Cấu hình Reverse Proxy và SSL với Nginx Proxy Manager

Để truy cập Immich một cách an toàn qua giao thức HTTPS từ điện thoại di động, bạn cần cấu hình một Reverse Proxy. Bạn có thể sử dụng Nginx Proxy Manager hoặc Caddy để tự động cấp phát chứng chỉ SSL Let's Encrypt miễn phí. Trỏ tên miền của bạn (ví dụ: photos.giadinhban.com) về cổng 2283 (cổng mặc định của Immich).

Đánh giá chi phí và hiệu năng thực tế

Hãy cùng làm một phép toán so sánh chi phí khi lưu trữ 1TB dữ liệu ảnh và video:

  • Google One (1TB - thực tế phải mua gói 2TB): Khoảng 225.000 VNĐ/tháng ($9.99/tháng).
  • Giải pháp Tự host (VPS 4GB RAM + 1TB Cloudflare R2): VPS giá rẻ tại các nhà cung cấp như Hetzner hoặc Crunchbits khoảng $5/tháng. Dung lượng 1TB trên R2 tốn khoảng $15/tháng. Tổng cộng khoảng $20/tháng.

Mặc dù chi phí ban đầu của tự host có thể nhỉnh hơn gói cơ bản của Google, nhưng khoản đầu tư này mang lại giá trị gia tăng không giới hạn. Khi dung lượng tăng lên 5TB hay 10TB, chi phí của Google sẽ tăng theo lũy tiến rất nặng, trong khi với R2, bạn chỉ trả đúng $15 cho mỗi TB tăng thêm và VPS hoàn toàn không cần nâng cấp ổ cứng. Hơn thế nữa, bạn có toàn quyền kiểm soát tuyệt đối dữ liệu cá nhân của gia đình mình.

Về mặt hiệu năng, do cấu hình Immich tạo ra hệ thống ảnh thu nhỏ (thumbnails) lưu cục bộ trên ổ cứng tốc độ cao của VPS, việc lướt xem ảnh trên ứng dụng điện thoại diễn ra cực kỳ mượt mà, phản hồi ngay lập tức, không hề có cảm giác trễ do dữ liệu gốc nằm trên Object Storage đám mây.

Lời kết

Tự host Immich trên VPS gắn Cloudflare R2 không chỉ là một giải pháp kỹ thuật, mà là một bước đi chiến lược giúp bạn làm chủ hoàn toàn tài sản số của gia đình. Với giao diện hiện đại, tính năng thông minh không thua kém Google Photos cùng độ ổn định và bảo mật cao, đây chắc chắn là dự án tự vận hành đáng giá nhất mà bạn nên triển khai ngay hôm nay.

Tự host Immich trên VPS gắn Object Storage Cloudflare R2: Giải pháp lưu trữ ảnh gia đình không giới hạn thay thế Google Photos | DPTCloud