皮皮鲁

皮皮鲁

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

Dockerを使用してオープンソースの写真と動画の自動バックアップソフトウェアを構築する

ソフトウェア紹介

Immich は、ユーザーが自分の貴重な思い出を安全かつ効率的に管理するために必要な、自ホスト型の写真およびビデオバックアップソリューションです。

一。主な機能

  1. 自動バックアップ:Immich アプリケーションを開くと、自動的にユーザーの写真とビデオをバックアップし、手動操作は不要です。
  2. マルチプラットフォームサポート:Immich は Ubuntu、Debian、macOS などのさまざまなオペレーティングシステムをサポートし、ユーザーが異なるプラットフォームで同じサービスを享受できるようにします。
  3. マルチユーザーサポート:Immich は複数のユーザーが同時に使用できるため、家族のメンバーが写真を共有および管理するのに便利です。
  4. 共有アルバム:ユーザーは共有アルバムを作成し、友人や家族を招待して写真やビデオを楽しんだり共有したりできます。
  5. メタデータビュー:Immich は EXIF、地図などのメタデータビューを提供し、ユーザーが各写真の詳細情報をより深く理解できるようにします。

二。技術スタック

  1. バックエンドフレームワーク:NestJs が Immich に安定した効率的なサーバーサポートを提供します。
  2. ウェブフロントエンドフレームワーク: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. 検索機能:メタデータ、オブジェクト、画像タグによる検索をサポートし、ユーザーが必要な写真やビデオを迅速に見つけることができます。

詳細情報については、公式ウェブサイトを訪問するか、関連する技術文書を参照してください。

公式 GitHub https://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

このコンテナは、別の外部アプリケーションを別途実行する必要があります。#

デフォルトでは、データベースのポートが開かれていますので、デプロイ時には注意してください。#

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 にアクセスできます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。