Hướng dẫn cài đặt Immich bằng Docker Compose — Alternative xuất sắc nhất cho Google Photos
Khi dung lượng Google Photos hết hạn và chính sách thu phí ngày càng thắt chặt, Immich nổi lên như một giải pháp self-hosted hoàn hảo nhất hiện nay. Được thiết kế với giao diện hiện đại giống 99% Google Photos, Immich tích hợp sẵn tính năng tự động sao lưu ứng dụng di động (iOS/Android), công nghệ Machine Learning nhận diện khuôn mặt, vật thể và tìm kiếm ngữ nghĩa siêu tốc nhờ PostgreSQL + pgvector.

1. Các tính năng nổi bật của Immich
- Tự động Sync Ảnh & Video: Ứng dụng di động tự động chạy ngầm sao lưu ảnh full resolution không bị nén.
- Machine Learning & AI: Tự động phát hiện khuôn mặt, nhóm người, địa điểm và nhận diện vật thể offline ngay trên server.
- Multi-user Support: Hỗ trợ phân quyền nhiều tài khoản người dùng riêng biệt cho các thành viên trong gia đình.
- Tìm kiếm thông minh (Semantic Search): Tìm kiếm bức ảnh bằng từ khóa mô tả (ví dụ: "chó chạy trên bãi biển").
2. File Docker Compose chuẩn production cho Immich
Tạo thư mục làm việc:
mkdir -p ~/homelab/immich && cd ~/homelab/immich
Tạo file docker-compose.yml:
version: "3.8"
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
volumes:
- /opt/immich/upload:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- "2283:2283"
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: valkey/valkey:8-alpine
restart: always
database:
container_name: immich_postgres
image: tensorchord/pgvecto-rs:pg16-v0.2.0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- /opt/immich/postgres:/var/lib/postgresql/data
restart: always
volumes:
model-cache:
Tạo file môi trường .env:
UPLOAD_LOCATION=/opt/immich/upload
DB_PASSWORD=KeoQuyImmichSecurePass2026
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
Chạy hệ thống Immich:
docker compose up -d
Truy cập giao diện Web tại http://your-server-ip:2283 để tạo tài khoản Admin đầu tiên!