Cách đây không lâu, tôi có viết một bài ngắn giới thiệu về Immich Sử dụng immich thay thế Google Photos lưu trữ hình ảnh và video, sau đó có gửi lên nhóm Cộng đồng Orange Pi Việt Nam một số ảnh cho thấy tôi lưu trữ hơn 11 nghìn ảnh trên điện thoại của tôi vào Immich một cách dê dàng, nhiều bạn cần bài hướng dẫn chi tiết hơn, do vậy tôi làm bài này và video để các bạn có thể tự làm tại nhà lưu trữ ảnh và video của các bạn một cách an toàn.
Sử dụng immich thay thế Google Photos lưu trữ hình ảnh và video
Như các bạn đã biết, lưu trên cloud thực chất là lưu trên máy chủ của nhà cung cấp, và đương nhiên ảnh và video nằm trên đó thì nhà cung cấp cũng có thể truy cập được. Hơn nữa, chẳng may bạn mất mật khẩu, thì bất cứ ai cũng có thể truy cập và lấy ra được. Cách an toàn nhất, mà trên thế giới đang là xu hướng, chính là lưu trữ tại nhà (hay còn gọi là selfhosted).
Xu hướng lưu trữ tại nhà (self-hosted) là gì?
Xu hướng lưu trữ tại nhà (self-hosted) đang ngày càng phổ biến nhờ khả năng kiểm soát hoàn toàn dữ liệu cá nhân. Người dùng có thể tự xây dựng hệ thống lưu trữ bằng cách sử dụng các thiết bị như NAS, máy chủ mini hoặc SBC (Single Board Computer) như Orange Pi. So với các dịch vụ đám mây thương mại, giải pháp này đảm bảo tính riêng tư cao hơn, giảm chi phí dài hạn và không phụ thuộc vào bên thứ ba. Các nền tảng mã nguồn mở như Nextcloud hay Immich hỗ trợ dễ dàng triển khai và quản lý.
Sử dụng lưu trữ tại nhà trên các SBC (Single Board Computer) mang lại nhiều lợi thế như:
- Chi phí thấp: SBC như Banana Pi, Orange Pi thường có giá rẻ hơn so với các máy chủ truyền thống hoặc NAS chuyên dụng.
- Tiết kiệm năng lượng: SBC tiêu thụ ít điện năng, phù hợp để chạy 24/7 mà không làm tăng đáng kể hóa đơn điện.
- Tính linh hoạt: Người dùng có thể cài đặt nhiều hệ điều hành và ứng dụng mã nguồn mở như Nextcloud, OpenMediaVault hoặc Plex để đáp ứng nhu cầu lưu trữ và giải trí.
- Kích thước nhỏ gọn: SBC có thiết kế nhỏ, dễ dàng đặt tại bất kỳ đâu trong nhà mà không chiếm nhiều không gian.
- Dễ tùy chỉnh và mở rộng: Người dùng có thể tự nâng cấp, thêm ổ cứng ngoài hoặc thiết lập RAID để tăng dung lượng và độ an toàn dữ liệu.
Tất nhiên, SBC cũng có giới hạn về hiệu năng, phù hợp hơn cho nhu cầu lưu trữ cá nhân gia đình hoặc doanh nghiệp nhỏ.
Hướng dẫn cài đặt Immich trên Orange Pi 5 MAX và ổ cứng NVME
Trước hết bạn cần:
- SBC Orange Pi 5, bạn có thể dùng Orange Pi 5 thường, 5 Plus hay 5 Max, tùy chọn. Tất cả có trong Orange Pi 5 Series
- Các phụ kiện như nguồn, thẻ nhớ, vỏ sắt, vỏ mica quạt, tản nhiệt v.v. các phụ kiện này giúp SBC hoạt động ổn định và lâu bền hơn
- Ổ cứng lưu trữ, vì Orange Pi hỗ trợ ổ cứng NVME lên tới 2TB, nên bạn có thể tùy chọn theo nhu cầu của bạn. Nếu bạn có nhiều video hơn hình ảnh, hãy cân nhắc ổ cứng dung lượng lớn để có thể lưu trữ không bị hạn chế.
Để quá trình cài đặt dễ dàng, tôi có tạo 1 github chứa các file docker-compose và .env trên mạng, bạn chỉ cần tải về là chạy được. Link: https://github.com/thanhtantran/docker-immich
Tất cả phần mềm giới thiệu đều là mã nguồn mở và miễn phí
Chi tiết hướng dẫn cách cài đặt, bạn có thể xem video bên dưới. Tôi sẽ nói qua một chút về các file trong github này
1. File .env
là phải chứa các biến môi trường, trong đó bạn chỉ cần chú ý 2 đường dẫn là
# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
2. File hwaccel.ml.yml
là file chứa các tham số bổ sung cho docker-compose.yml
, file này dùng để sử dụng ARMNN tăng tốc quá trình tìm kiếm sử dụng máy học (machine-learning) qua các bo mạch Orange Pi.
3. File hwaccel.transcoding.yml
cũng chứa các tham số bổ sung, nhưng là để dùng RKMMP (là phần mềm bổ sung giải mã hình ảnh và video trên SBC dùng Rockchip, tôi có giới thiệu ở đây khi cài Jellyfin trên Orange Pi 5) Tuy nhiên, file này tôi vẫn chưa cấu hình để hoạt động đúng cách được, có thể là do driver chưa đúng, tôi sẽ cập nhật tại github sau.
4. Cuối cùng là file docker-compose.yml
, file này chứa các lệnh tạo ra các container chính để cho Immich chạy, bao gồm 4 container: immich-server, immich-machine-learning, database và redis. Nếu bạn chưa học về docker, có thể để nguyên và chạy. Nhưng tôi nên bạn tìm hiểu thêm về docker, sau đó có thể tùy biến nó theo ý thích của bạn.
Ngoafi ra còn có 2 file để chạy immich-kiosk cũng qua docker, cái này tôi sẽ giới thiệu sau. Immich-kiosk giúp bạn hiển thị hiển thị ảnh/video của bạn trong một giao diện đơn giản, thường dùng để trình chiếu ảnh tại nhà giống như một khung ảnh tự động thông minh, tự cập nhật ảnh mới, tự hiển thị ảnh v.v. Cái này cũng khá hay.
Và đây là video hướng dẫn, chúc các bạn thành công