關于immich?docker-compose.yml配置文件詳解
前言
Immich是一個自托管的照片和視頻備份解決方案,允許用戶在私有服務器上存儲、管理和分享他們的媒體文件。
這個項目旨在提供一個類似于Google照片或iCloud照片庫的體驗,但是用戶可以完全控制自己的數(shù)據(jù)。通過自托管,用戶不需要依賴第三方云服務提供商來存儲私人照片和視頻,這增加了隱私保護和數(shù)據(jù)所有權。
Immich的主要特點包括:
- 自托管:所有數(shù)據(jù)都存儲在用戶自己的服務器上。
- 照片和視頻備份:提供自動的媒體文件備份功能。
- 易于訪問:通過Web界面和移動應用,用戶可以輕松訪問、管理和分享他們的媒體庫。
- 數(shù)據(jù)控制:用戶完全擁有和控制自己的數(shù)據(jù),而不是存儲在第三方的云服務中。
- 隱私保護:由于是自托管解決方案,用戶的照片和視頻不會被未經(jīng)授權的第三方訪問。
Immich通常通過Docker容器化部署,使得安裝和維護變得簡單。項目在GitHub上開源,社區(qū)驅(qū)動,不斷更新和改進。
使用Immich,用戶需要具備一定的技術背景,特別是關于如何部署和維護自托管服務的知識。
但對于希望提高個人數(shù)據(jù)隱私和安全性的用戶來說,Immich提供了一個很好的解決方案。
docker-compose.yml 配置文件解釋
# 指定Docker Compose文件的版本為3.8 version: "3.8" # 定義項目的名稱為immich name: immich # 定義多個服務 services: # 定義一個服務名為immich-server immich-server: # 設置容器的名稱為immich_server container_name: immich_server # 從GitHub Container Registry拉取immich-server的鏡像,版本由IMMICH_VERSION環(huán)境變量指定,默認為release image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # 容器啟動后執(zhí)行的命令 command: [ "start.sh", "immich" ] # 指定掛載的卷 volumes: # 將宿主機的UPLOAD_LOCATION目錄掛載到容器的/usr/src/app/upload - ${UPLOAD_LOCATION}:/usr/src/app/upload # 將宿主機的/etc/localtime掛載到容器中,以只讀方式同步時間 - /etc/localtime:/etc/localtime:ro # 指定環(huán)境變量文件 env_file: # 使用當前目錄下的.env文件 - .env # 指定端口映射 ports: # 將容器的3001端口映射到宿主機的2283端口 - 2283:3001 # 定義服務依賴 depends_on: # immich-server依賴于redis和database服務 - redis - database # 設置容器的重啟策略為始終重啟 restart: always # 定義另一個服務名為immich-microservices immich-microservices: # 設置容器的名稱為immich_microservices container_name: immich_microservices # 使用相同的鏡像和版本控制策略 image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # 啟動微服務的命令 command: [ "start.sh", "microservices" ] # 同樣指定掛載的卷 volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro # 使用相同的環(huán)境變量文件 env_file: - .env # 同樣依賴于redis和database服務 depends_on: - redis - database # 也設置為始終重啟 restart: always # 以下是定義volumes的部分,用于指定所需的Docker卷 volumes: # 定義一個卷名為pgdata,用于持久化PostgreSQL數(shù)據(jù)庫數(shù)據(jù) pgdata: # 定義一個卷名為model-cache,用于緩存機器學習模型數(shù)據(jù) model-cache:
這個docker-compose.yml文件為Immich應用定義了一系列服務,包括主應用服務器、微服務、機器學習服務、Redis緩存和PostgreSQL數(shù)據(jù)庫服務。
通過這個配置文件,可以一次性啟動Immich應用的所有組成部分,實現(xiàn)服務之間的依賴管理和自動重啟策略等功能。
環(huán)境變量 .env文件解釋
# 你可以在這個URL找到所有支持的環(huán)境變量的文檔:https://immich.app/docs/install/environment-variables # 上面這一行是注釋,說明了如何找到關于所有支持的環(huán)境變量的官方文檔。 # 你上傳的文件將被存儲在這個位置 UPLOAD_LOCATION=./library # 設置`UPLOAD_LOCATION`環(huán)境變量,定義了上傳文件的存儲位置。這里設置為當前目錄下的`library`文件夾。 # 使用的Immich版本。你可以將其固定在特定版本,比如 "v1.71.0" IMMICH_VERSION=release # 設置`IMMICH_VERSION`環(huán)境變量,指定Immich使用的版本。這里設置為`release`,意味著將使用最新的發(fā)布版本。 # 用于Postgres的連接密碼。你應該將其更改為一個隨機密碼 DB_PASSWORD=postgres # 設置`DB_PASSWORD`環(huán)境變量,定義連接PostgreSQL數(shù)據(jù)庫的密碼。默認設置為`postgres`,建議更改為更安全的密碼。 # 以下這行不需要更改 ################################################################################### # 上面這行是注釋,表示以下的環(huán)境變量通常不需要修改。 DB_HOSTNAME=immich_postgres # 設置`DB_HOSTNAME`環(huán)境變量,指定PostgreSQL數(shù)據(jù)庫服務的主機名。這里使用的是`docker-compose.yml`文件中定義的服務名稱`immich_postgres`。 DB_USERNAME=postgres # 設置`DB_USERNAME`環(huán)境變量,定義連接PostgreSQL數(shù)據(jù)庫的用戶名。默認設置為`postgres`。 DB_DATABASE_NAME=immich # 設置`DB_DATABASE_NAME`環(huán)境變量,指定PostgreSQL數(shù)據(jù)庫的名稱。這里設置為`immich`。 REDIS_HOSTNAME=immich_redis # 設置`REDIS_HOSTNAME`環(huán)境變量,指定Redis服務的主機名。這里使用的是`docker-compose.yml`文件中定義的服務名稱`immich_redis`。
這個.env文件提供了Immich服務和它所依賴的數(shù)據(jù)庫(PostgreSQL)以及Redis服務的基本配置。
通過這些環(huán)境變量,Immich服務能夠正確地連接到數(shù)據(jù)庫和Redis,同時指定了文件上傳的位置。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- docker常用容器啟動docker-compose.yml配置文件使用
- 在docker-compose.yml文件中配置容器的環(huán)境變量方式
- docker-compose.yml參數(shù)的用法(配置文件)
- 使用docker?compose快速配置一組容器服務詳解
- Springboot使用docker-compose實現(xiàn)動態(tài)配置過程
- docker-compose配置并部署redis服務的實現(xiàn)
- 詳解Docker Compose配置文件參數(shù)
- Docker compose配置文件寫法及命令使用示例
- docker-compose安裝yml文件配置方式
- docker compose 一鍵部署分布式配置中心Apollo的過程詳解
- docker-compose部署配置jenkins的詳細教程
- Docker Compose 配置指南小結
相關文章
elasticsearch?組件基于單機的多實例集群部署方法
es 作為搜索引擎,應用場景不乏日志分析、網(wǎng)絡安全、搜索引擎等,有時也會用作日志數(shù)據(jù)庫使用,畢竟其出色的搜索查詢性能,不是同等量級 關系型數(shù)據(jù)庫可以比擬的,這篇文章主要介紹了elasticsearch?組件基于單機的多實例集群,需要的朋友可以參考下2024-03-03docker-compose網(wǎng)絡設置之networks的使用
本文詳細解釋了在使用 Docker Compose時如何配置網(wǎng)絡,包括創(chuàng)建、使用和問題解決等方面,介紹了如何通過docker-compose.yml文件快速編排和部署應用服務,同時解決網(wǎng)絡隔離問題,感興趣的可以了解一下2024-10-10Windows系統(tǒng)下裝Docker至D盤/其他盤最新方法(最準確,直接裝)
這篇文章主要介紹了Windows系統(tǒng)下裝Docker至D盤/其他盤的相關資料,為了避免C盤空間不足的問題,通過修改安裝路徑,可以將Docker的數(shù)據(jù)存儲在D盤的特定文件夾中,從而有效地管理磁盤空間,需要的朋友可以參考下2025-04-04