皮皮鲁

皮皮鲁

采用区块链技术建立的个人博客

Docker搭建一款開源的照片和視頻自動備份軟體

軟體介紹

Immich 是一個功能強大、易於使用的自托管照片和視頻備份解決方案,適合需要安全、有效地管理自己珍貴記憶的用戶。

一。主要功能

  1. 自動備份:當打開 Immich 應用程式時,它會自動備份用戶的照片和視頻,無需手動操作。
  2. 多平台支持:Immich 支持多種操作系統,如 Ubuntu、Debian、macOS 等,確保用戶在不同平台上都能享受到同樣的服務。
  3. 多用戶支持:Immich 支持多用戶同時使用,方便家庭成員共享和管理照片。
  4. 共享相冊:用戶可以創建共享相冊,邀請親朋好友一起欣賞和分享照片和視頻。
  5. 元數據視圖:Immich 提供 EXIF、地圖等元數據視圖,讓用戶更深入地了解每張照片的詳細信息。

二。技術棧

  1. 後端框架:NestJs,為 Immich 提供穩定、高效的服務端支持。
  2. Web 前端框架:SvelteKit,以其輕量級和高效性為應用程式提供流暢的用戶體驗。
  3. 資料庫:PostgreSQL 作為主資料庫,確保應用程式的資料安全。
  4. 快取和消息處理:Redis 被用作 docker 實例和後台任務消息隊列之間的共享 websocket 實例。
  5. 負載均衡和檔案上傳:Nginx 在 Immich 中擔任此角色,確保應用程式的穩定性和性能。
  6. 圖像處理能力:TensorFlow 用於物件檢測和圖像分類。

三。系統要求

  1. 操作系統:首選 Ubuntu、Debian、macOS 等。
  2. 記憶體:至少 2GB,首選 4GB。
  3. 處理器:至少 2 個核心,首選 4 個核心。

四。特點和優勢

  1. 安全性:作為自托管解決方案,用戶完全掌控自己的資料,無需擔心第三方訪問或資料洩露。
  2. 彈性:用戶可以根據自己的需求進行定制和擴展,滿足不同的儲存和管理需求。
  3. 易用性:介面設計簡潔直觀,易於上手和使用。

五。其他功能

  1. 管理功能:包括用戶管理、後台備份等,方便用戶進行系統的維護和管理。
  2. 搜尋功能:支持按元數據、物件和圖像標籤進行搜尋,方便用戶快速找到所需的照片和視頻。

如需了解更多信息,可以訪問其官方網站或查閱相關的技術文檔。

官方 GitHubhttps://github.com/immich-app/immich

官方 API 文檔https://immich.app/docs/overview/introduction

第三方自建 Docker 部署https://github.com/imagegenius/docker-immich

搭建教程

本文通過 Docker 的方式來部署,採用第三方自建 Docker 部署,以 Ubuntu 為例,操作步驟:安裝 Docker、創建 docker-compose.yml、啟動容器運行映像。

| 第一步安裝 docker

sudo apt update
sudo apt install -y docker.io docker-compose

| 第二步創建 docker-compose.yml

在 Home 目錄創建 docker-compose.yml,編寫以下配置並保存:
version: '3'
services:
immich:
image: ghcr.io/imagegenius/immich
container_name: immich
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DB_HOSTNAME=192.168.1.x
- DB_USERNAME=postgres
- DB_PASSWORD=postgres
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=192.168.1.x
- DB_PORT=5432 #optional
- REDIS_PORT=6379 #optional
- REDIS_PASSWORD= #optional
- MACHINE_LEARNING_GPU_ACCELERATION= #optional
- MACHINE_LEARNING_HOST=0.0.0.0 #optional
- MACHINE_LEARNING_PORT=3003 #optional
- MACHINE_LEARNING_WORKERS=1 #optional
- MACHINE_LEARNING_WORKER_TIMEOUT=120 #optional
volumes:
- /home/appdata:/config
- /home/photos:/photos
- /home/imports:/import #optional
ports:
- 8080:8080
restart: unless-stopped

This container requires an external application to be run separately.#

By default, ports for the databases are opened, be careful when deploying it#

Redis:#

redis:
image: redis
ports:
- 6379:6379
container_name: redis

PostgreSQL 14:#

postgres14:
image: tensorchord/pgvecto-rs.2.0
ports:
- 5432:5432
container_name: postgres14
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: immich
volumes:
- /home/postgres:/var/lib/postgresql/data

| 第三步啟動容器運行映像

sudo docker-compose up -d

上述指令執行完成後,在瀏覽器訪問 IP:8080 即可。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。