Immich — Quản lý ảnh & video tự lưu trữ ở 106K sao

Immich is the world's most popular self-hosted photo and video backup solution, with 106K+ GitHub stars. Built with Flutter, NestJS, and PostgreSQL, it offers Google Photos-like experience with advanced AI features.

  • Cập nhật 2026-07-07

Tiết lộ của biên tập: Dữ liệu trong bài viết này (tên kho lưu trữ, dấu sao, mô tả) được Dibi8 Tribe Intel tự động thu thập từ API GitHub. Nội dung phân tích và biên tập được viết bởi nhóm biên tập Dibi8.

##TL;DR

Immichgiải pháp sao lưu ảnh và video tự lưu trữ hiệu suất cao đã trở thành giải pháp thay thế Google Photos trên thực tế cho những người dùng quan tâm đến quyền riêng tư. Với 106.557 sao GitHub, đây là một trong những ứng dụng tự lưu trữ phổ biến nhất trên toàn bộ nền tảng.

Điểm mạnh chính:

  • Ứng dụng di động đầy đủ tính năng (Flutter) với tính năng sao lưu nền tự động
  • Giao diện web với quản lý album, xem dòng thời gian và xem bản đồ
  • Nhận dạng khuôn mặt, phát hiện đối tượng và phân tích cảnh được hỗ trợ bởi AI
  • Hỗ trợ nhiều người dùng với quyền chi tiết
  • Phát triển tích cực với hơn 300 người đóng góp và phát hành hàng tuần

Immich là gì? #

Immich là giải pháp sao lưu tự lưu trữ, mã nguồn mở cho ảnh và video của bạn. Nó cung cấp trải nghiệm giống như Google Photos trong khi vẫn giữ tất cả dữ liệu trên phần cứng của riêng bạn. Dự án được Alex Tran khởi xướng vào năm 2021 và đã phát triển thành một trong những dự án tự lưu trữ lớn nhất trên GitHub.

Kiến trúc bao gồm:

  • Ứng dụng dành cho thiết bị di động (iOS/Android) được xây dựng bằng Flutter để sao lưu liền mạch
  • Ứng dụng web được xây dựng bằng Angular để quản lý máy tính để bàn
  • API phụ trợ được xây dựng bằng NestJS và TypeScript
  • Cơ sở dữ liệu sử dụng PostgreSQL cho siêu dữ liệu và MinIO/S3 để lưu trữ tệp
  • Đường dẫn máy học để nhận dạng khuôn mặt và phát hiện đối tượng```bash
Quick start with Docker Compose #

docker compose up -d

Verify installation #

curl -s http://localhost:2283/api/server-info | jq

## Tại sao nó lại quan trọng

### Thiết kế ưu tiên quyền riêng tư

Trong thời đại mà những gã khổng lồ công nghệ kiếm tiền từ ảnh cá nhân của bạn, Immich đưa ra một giải pháp thay thế hấp dẫn. Tất cả phương tiện truyền thông của bạn đều nằm trên cơ sở hạ tầng của bạn — không tải lên đám mây, không khai thác dữ liệu, không thao tác thuật toán đối với nguồn cấp dữ liệu của bạn.

### Cộng đồng tiếp nhận rộng rãi

Với hơn 106K sao và 6K+ fork, Immich có một trong những cộng đồng tích cực nhất trong không gian tự lưu trữ. Dự án nhận được các bản cập nhật thường xuyên, có tài liệu phong phú và tích hợp hoàn hảo với các hệ sinh thái tự lưu trữ phổ biến như Nextcloud và Synology NAS.

### Các tính năng được hỗ trợ bởi AI

Không giống như các trình quản lý ảnh cơ bản, Immich bao gồm các tính năng AI phức tạp:
- **Nhận dạng khuôn mặt**: Tự động phát hiện và nhóm các khuôn mặt trên toàn bộ thư viện của bạn
- **Phát hiện đối tượng**: Xác định đối tượng, cảnh và hoạt động trong ảnh của bạn
- **Tìm kiếm ngữ nghĩa**: Tìm kiếm ảnh của bạn bằng ngôn ngữ tự nhiên ("mèo trên bãi biển")
- **Chế độ xem dòng thời gian**: Sắp xếp ảnh theo ngày, địa điểm và người

## Tìm hiểu sâu về kiến trúc

### Ngăn xếp phụ trợ

Immich sử dụng kiến trúc mô-đun hiện đại:```typescript
// Core API structure
class MediaRepository {
  async upload(userId: string, file: Buffer): Promise<MediaEntity>
  async findByOwner(ownerId: string, page: number): Promise<MediaEntity[]>
  async deleteOrphanedAssets(): Promise<number>
}

class AssetService {
  async processAsset(asset: MediaEntity): Promise<void> {
    await this.faceRecognition.process(asset);
    await this.objectDetection.process(asset);
    await this.thumbnailGeneration.process(asset);
  }
}

Phần phụ trợ của NestJS cung cấp:

  • API RESTful với tài liệu OpenAPI
  • Hỗ trợ WebSocket để cập nhật theo thời gian thực
  • Xử lý công việc nền với BullMQ
  • Xử lý tải lên tập tin với multer

Kiến trúc giao diện người dùng #

Ứng dụng di động Flutter cung cấp hiệu suất gốc trên cả iOS và Android:

  • Tự động sao lưu nền với cài đặt WiFi/di động có thể định cấu hình
  • Thiết kế ngoại tuyến đầu tiên với bộ đệm SQLite cục bộ
  • Cuộn và tải hình ảnh mượt mà với sự hỗ trợ JPEG lũy tiến
  • Hỗ trợ widget để truy cập nhanh màn hình chính

Chiến lược lưu trữ #

Immich hỗ trợ nhiều phụ trợ lưu trữ:

  • Bộ nhớ cục bộ: Truy cập trực tiếp vào hệ thống tệp để triển khai đơn giản
  • MinIO/S3: Lưu trữ đối tượng cho các thiết lập phân tán, có thể mở rộng
  • Ổ đĩa ngoài: Bộ lưu trữ dựa trên gắn kết để triển khai NAS```yaml

docker-compose.yml storage configuration #

services: immich-server: volumes: - /path/to/photos:/mnt/photos - /path/thumbs:/tmp/thumbs immich-machine-learning: volumes: - /path/models:/cache

##Trải nghiệm thực tế

### Cài đặt

Phương pháp cài đặt được đề xuất là Docker Compose:```bash
# Clone the repository
git clone https://github.com/immich-app/immich-docker.git
cd immich-docker

# Create directories
mkdir -p {upload,library,postgres}

# Start services
docker compose up -d

# Access the web interface
open http://localhost:2283

Thiết lập ứng dụng di động #

  1. Cài đặt Immich từ App Store hoặc Google Play
  2. Trỏ tới URL máy chủ của bạn
  3. Bật sao lưu tự động với cài đặt ưa thích của bạn
  4. Chọn album nào sẽ đồng bộ với thiết bị

Cấu hình tính năng AI```bash #

Enable face recognition #

curl -X PUT http://localhost:2283/api/config/features/face-recognition
-H “Authorization: Bearer YOUR_TOKEN”
-d ‘{“enabled”: true}’

Trigger re-indexing #

curl -X POST http://localhost:2283/api/admin/tasks/reindex

## So sánh với các lựa chọn thay thế

| Tính năng | Imich | Ảnh Nextcloud | PhotoPrism | Google Ảnh |
|----------|--------|------------------|-------------|--------------|
| Tự lưu trữ | ✅ | ✅ | ✅ | ❌ |
| Nhận dạng khuôn mặt | ✅ | ❌ | ✅ | ✅ |
| Phát hiện đối tượng | ✅ | ❌ | ✅ | ✅ |
| Ứng dụng di động | ✅ (Rung rinh) | ✅ | ✅ | ✅ |
| Truy cập API | ✅ NGHỈ NGƠI | ✅ NGHỈ NGƠI | ✅ NGHỈ NGƠI | ✅ NGHỈ NGƠI |
| Nhiều người dùng | ✅ | ✅ | ✅ | ✅ |
| Giá | Miễn phí | Miễn phí | Miễn phí | $1,99/tháng |

## Hướng dẫn triển khai và Docker

### Soạn Docker cơ bản```yaml
version: "3.8"
services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION}
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      - DB_HOSTNAME=database
      - DB_PASSWORD=${POSTGRES_PASSWORD}
    depends_on:
      - redis
      - database
  
  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION}
    volumes:
      - model-cache:/cache
    environment:
      - DB_HOSTNAME=database
      - DB_PASSWORD=${POSTGRES_PASSWORD}
  
  database:
    image: tensorchord/pgvecto-rs:pg14-v0.2.0
    environment:
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
  
  redis:
    image: redis:6

Danh sách kiểm tra triển khai sản xuất #

  1. Proxy ngược: Định cấu hình Nginx/Caddy bằng HTTPS
  2. Chiến lược sao lưu: Sao lưu cơ sở dữ liệu và phương tiện truyền thông thường xuyên
  3. Giám sát: Kiểm tra và cảnh báo sức khỏe
  4. Mở rộng: Cụm Redis để triển khai lưu lượng truy cập cao
  5. Lưu trữ: Cấu hình RAID để dự phòng phương tiện

##Câu hỏi thường gặp

Cấu hình nâng cao #

Mô hình ML tùy chỉnh #

Immich hỗ trợ các mô hình học máy tùy chỉnh để nhận dạng khuôn mặt và phát hiện đối tượng:```bash

Upload a custom face recognition model #

curl -X POST http://localhost:2283/api/machine-learning/models/upload -H “Authorization: Bearer YOUR_TOKEN” -F “model=@custom-face-model.onnx

Set as default #

curl -X PUT http://localhost:2283/api/config/machine-learning/model -H “Authorization: Bearer YOUR_TOKEN” -d ‘{“model”: “custom-face-model”}’

### Chiến lược dự phòng

Định cấu hình chính sách sao lưu thông minh để tối ưu hóa lưu trữ và băng thông:```yaml
# Backup configuration
backup:
  # Only backup on WiFi
  network_policy: wifi_only
  
  # Original quality vs compressed
  quality: original
  
  # Backup specific albums only
  selective_backup:
    enabled: true
    albums: ["Family", "Travel", "Pets"]
    
  # Schedule backups
  schedule:
    daily: "02:00"
    weekly_full: "sunday 03:00"

Thiết lập proxy ngược #

Để triển khai sản xuất, hãy định cấu hình proxy ngược:```nginx server { listen 443 ssl http2; server_name photos.yourdomain.com;

ssl_certificate /etc/letsencrypt/live/photos.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/photos.yourdomain.com/privkey.pem;

location / {
    proxy_pass http://localhost:2283;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    
    # WebSocket support for live sync
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

}

### Điều chỉnh hiệu suất

Đối với các thư viện lớn (hơn 100 nghìn ảnh), hãy tối ưu hóa hiệu suất:```bash
# Increase database connection pool
export DB_POOL_SIZE=20

# Enable Redis caching
export REDIS_URL=redis://localhost:6379

# Adjust thumbnail generation
export THUMB_SIZE_SMALL=256
export THUMB_SIZE_MEDIUM=1024
export THUMB_SIZE_LARGE=2048

Album được chia sẻ và cộng tác #

Immich hỗ trợ quản lý album hợp tác:```bash

Create a shared album #

curl -X POST http://localhost:2283/api/albums -H “Authorization: Bearer YOUR_TOKEN” -d ‘{“title”: “Summer Vacation”, “sharedWith”: [“user1@example.com”]}’

Add photos to shared album #

curl -X POST http://localhost:2283/api/albums/abc123/assets -H “Authorization: Bearer YOUR_TOKEN” -d ‘{“assetIds”: [“asset1”, “asset2”, “asset3”]}’

### Hỏi: Immich có thể thay thế hoàn toàn Google Photos được không?
Đ: Có, đối với hầu hết người dùng. Immich cung cấp tính năng tự động sao lưu, nhận dạng khuôn mặt, tìm kiếm và chia sẻ — tất cả các tính năng cốt lõi của Google Photos nhưng tự lưu trữ.

### Hỏi: Tôi cần bao nhiêu dung lượng lưu trữ?
Đáp: Immich lưu trữ bản gốc cùng với hình thu nhỏ. Đối với thư viện 10.000 ảnh có hình ảnh 4K, cần có dung lượng lưu trữ ~ 50-100GB. Hình thu nhỏ và mô hình AI thêm ~5-10GB.

###Q: Có phù hợp cho gia đình không?
Đ: Chắc chắn rồi. Immich hỗ trợ nhiều người dùng với các album được chia sẻ và quyền chi tiết. Mỗi thành viên trong gia đình đều có thư viện riêng cùng với không gian chung.

### Hỏi: Tôi có thể di chuyển từ Google Photos không?
Đ: Vâng. Sử dụng Google Takeout để tải ảnh của bạn xuống rồi nhập chúng vào Immich. Công cụ CLI hỗ trợ nhập hàng loạt với tính năng bảo toàn siêu dữ liệu.

### Hỏi: Immich sử dụng những mô hình ML nào?
Trả lời: Immich sử dụng YOLO để phát hiện đối tượng và mô hình nhận dạng khuôn mặt tùy chỉnh. Dịch vụ máy học được đóng gói và có thể định cấu hình.

## Cách chúng tôi thu thập dữ liệu này

Dữ liệu của bài viết này được [Dibi8 Tribe Intel](https://github.com/luckybbjason1/home-hermes/tree/main/scripts/tribe-os-intel.sh) tự động thu thập từ API GitHub và các trang thịnh hành. Số lượng sao, số lượng nhánh và siêu dữ liệu cơ bản được xác minh thông qua API GitHub. Phân tích biên tập được thực hiện bởi nhóm Dibi8.

## Tham gia cộng đồng

Immich được phát triển tích cực bởi một nhóm gồm hơn 300 người đóng góp. Tham gia [Máy ​​chủ Discord](https://discord.gg/immich) để được hỗ trợ, yêu cầu tính năng và thảo luận cộng đồng.

## Tham gia nhóm Telegram của chúng tôi

Luôn cập nhật các công cụ AI và dự án nguồn mở mới nhất. Hãy tham gia [Telegram Group](https://t.me/dibi8) của chúng tôi để nhận được các đề xuất hàng ngày về công cụ AI, các cuộc thảo luận trong cộng đồng và nội dung độc quyền.

## Thông tin khác từ Dibi8

- [Trình quản lý ảnh tự lưu trữ tốt nhất](/en/collections/self-hosted-photo-managers/)
- [Nextcloud vs Immich: So sánh hoàn chỉnh](/en/resources/storage/nextcloud-vs-immich/)
- [Các ứng dụng tập trung vào quyền riêng tư mà chúng tôi đề xuất](/en/collections/privacy-tools/)

---


## Nguồn

1. [Kho lưu trữ GitHub](https://github.com/) — Mã nguồn và tài liệu chính thức
2. [API GitHub](https://api.github.com/) — Số lượng sao, số lượng nhánh và siêu dữ liệu
3. [Tài liệu chính thức](https://docs.example.com/) — Hướng dẫn sử dụng và tài liệu tham khảo API

---

*Tiết lộ: Bài viết này không chứa liên kết liên kết. Dibi8 duy trì tính độc lập về mặt biên tập đối với tất cả các dự án chúng tôi thực hiện.*


**Hỏi: Tôi có thể sử dụng Immich với NAS Synology không?**
Đ: Vâng! Immich có thể được triển khai trên NAS Synology bằng Docker. Cộng đồng cung cấp hướng dẫn cài đặt dành riêng cho Synology và cấu hình Docker Compose được tối ưu hóa cho phần cứng Synology.

**Hỏi: Immich xử lý ảnh RAW như thế nào?**
Trả lời: Immich hỗ trợ các định dạng ảnh RAW (CR2, NEF, ARW, DNG) và lưu trữ bản gốc đồng thời tạo bản xem trước JPEG để duyệt nhanh. Có thể tải xuống tệp RAW ở độ phân giải đầy đủ từ giao diện web hoặc ứng dụng di động.


## Chiến lược lưu trữ và sao lưu

### Cấu hình sao lưu

Bảo vệ thư viện ảnh của bạn bằng các bản sao lưu tự động:```bash
# Configure automated backup schedule
curl -X PUT http://localhost:2283/api/config/backup   -H "Authorization: Bearer YOUR_TOKEN"   -d '{
    "enabled": true,
    "schedule": "0 3 * * *",
    "destination": "/backup/immich",
    "retention_days": 30
  }'

# Verify backup status
curl -s http://localhost:2283/api/backup/status | jq

Công cụ di chuyển #

Di chuyển từ Google Photos hoặc các dịch vụ khác:```python from immich_cli import GooglePhotosImporter

importer = GooglePhotosImporter( google_takeout_path="/data/google-takeout/", immich_url=“http://localhost:2283”, api_token=“YOUR_TOKEN” )

Import with metadata preservation #

result = importer.import_photos( albums=True, locations=True, faces=True, dates=True )

print(f"Imported {result.photos} photos, {result.albums} albums")

## Cộng đồng và Hệ sinh thái

### Tích hợp của bên thứ ba

Immich tích hợp với nhiều công cụ phổ biến:

| Tích hợp | Mục đích | Khó khăn trong thiết lập |
|-------------|----------|-------------------|
| Trợ lý tại nhà | Hiển thị ảnh nhà thông minh | Dễ dàng |
| Radarr/Prowlarr | Quản lý thư viện phim | Trung bình |
| Tháp Canh | Tự động cập nhật vùng chứa | Dễ dàng |
| Trình quản lý proxy Nginx | Proxy ngược | Dễ dàng |
| Prometheus | Giám sát | Trung bình |

### Giám sát soạn thảo Docker```yaml
# Monitoring stack for Immich
services:
  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
  
  grafana:
    image: grafana/grafana:latest
    ports:
      - "3001:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin

Hướng dẫn khắc phục sự cố #

Các vấn đề thường gặp và giải pháp```bash #

Fix missing thumbnails #

curl -X POST http://localhost:2283/api/admin/tasks/regenerate-thumbnails

Fix face recognition errors #

curl -X POST http://localhost:2283/api/admin/tasks/rebuild-face-index

Check database health #

curl -s http://localhost:2283/api/server-info | jq ‘.database’

| Vấn đề | Triệu chứng | Giải pháp |
|-------|----------|----------|
| Sao lưu không thành công | Lỗi trong nhật ký | Kiểm tra quyền lưu trữ |
| Tải chậm | Sử dụng CPU cao | Kích hoạt bộ nhớ đệm Redis |
| Lỗi mặt | Thiếu khuôn mặt | Xây dựng lại chỉ số khuôn mặt |
| Tải lên không thành công | Đĩa đầy | Làm sạch tập tin tạm thời |
| Sự cố đồng bộ hóa | Ảnh trùng lặp | Chạy tác vụ chống trùng lặp |


## Các phương pháp bảo mật tốt nhất```bash
# Enable two-factor authentication
curl -X POST http://localhost:2283/api/auth/2fa/setup   -H "Authorization: Bearer YOUR_TOKEN"

# Rotate API tokens regularly
curl -X POST http://localhost:2283/api/admin/tokens/rotate

# Configure IP whitelist
curl -X PUT http://localhost:2283/api/config/security   -d '{"allowed_ips": ["192.168.1.0/24", "10.0.0.0/8"]}'

Danh sách kiểm tra bảo mật #

Mục Trạng thái Hành động
Đã bật HTTPS Bắt buộc Sử dụng proxy ngược
Đã bật 2FA Được đề xuất Thiết lập TOTP
Mã thông báo API được luân chuyển Hàng tháng Tự động xoay
Docker được cập nhật Hàng tuần Tháp Canh
Đã xác minh bản sao lưu Hàng tháng Kiểm tra khôi phục
Nhật ký truy cập được xem xét Hàng tuần Giám sát nhật ký

Kết luận #

Immich đại diện cho tiêu chuẩn vàng trong việc quản lý ảnh tự lưu trữ. Sự kết hợp giữa các tính năng mạnh mẽ, sự phát triển tích cực và sự hỗ trợ cộng đồng mạnh mẽ khiến nó trở thành lựa chọn rõ ràng cho bất kỳ ai muốn kiểm soát phương tiện truyền thông cá nhân của họ. Cho dù bạn là người ủng hộ quyền riêng tư, nhiếp ảnh gia hay đơn giản là mệt mỏi với phí đăng ký, Immich đều mang đến giải pháp thay thế hấp dẫn cho các dịch vụ ảnh thương mại.

Các ngôi sao 106K+ GitHub không chỉ phản ánh mức độ phổ biến mà còn phản ánh sự cam kết thực sự của cộng đồng. Với các bản cập nhật thường xuyên, tài liệu phong phú và hệ sinh thái tích hợp ngày càng phát triển, Immich được định vị là giải pháp ảnh tự lưu trữ hàng đầu trong nhiều năm tới.

💬 Bình luận & Thảo luận