在 Synology NAS 上安裝 immich 相簿軟體

Synology的相簿軟體越作越難用,來安裝開源的相簿軟體 immich 試看看。immich 無法直接從套件中心裡面安裝,必須是以容器形式運行在NAS上。immich官方建議以docker-compose的方式進行安裝,以下文章參考 Synology [Community] 的步驟來進行。

前置作業

建立一個共用資料夾 immich-app 用來存放容器設定檔及環境變數

在這個共用資料夾下先建立immich資料夾後,再建立兩個子資料夾
postgres 用來存放 postgres 資料庫檔案
library immich 相關資料存放路徑(包含上傳照片的資料夾),結構如下所示

在immich-app共用資料夾中下載docker-compose.yml及example.env,然後存放到step1建立的共用資料夾中,example.env請更名為 .env。下圖我是使用ssh連進NAS主機,使用curl指令遠端下載。亦可使用其他方式下載後再放入NAS。

curl -o docker-compose.yml -L https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -o .env -L https://github.com/immich-app/immich/releases/latest/download/example.env

修改 .env 下列環境變數,尤其 postgres db 記得密碼預設值修改掉

UPLOAD_LOCATION=./immich/library
DB_DATA_LOCATION=./immich/postgres
TZ=Asia/Taipei
DB_PASSWORD=[YourOwnDBPassword]

修改docker-compose.yml
移除 database 區段中的 start_interval: 30

Container Manager 設定

打開 Container Manager,點進專案,新增一個專案
專案名稱可以自訂,設定路徑則選至Step 1建立的共用資料夾(也就是docker-compose.yml所在路徑)
設定精靈會自動找到docker-compose.yml,下方並顯示docker-compose.yml的內容

按了下一步就自動發現該目錄有docker-compose.yml

自動載入docker-compose.yml內容顯示,下一步

WebStation設定直接跳過忽略,下一步

設定一覽,按下完成

自動下載所需容器映象檔,並解開儲存

專案所需容器啟動成功

檢視所有使用容器狀態

immich 管理介面

連結 http://[NAS_IP]:2283,應該就可以看到immich的一朵花 LOGO,按下開始使用就可以進行初始化,這邊就不多加贅述。

添加immich外部相片圖庫

在.env中新增一個外部相簿庫的路徑變數EXTERNAL_LOCATION,路徑請指向自己欲添加外部相簿庫的最上層
請確認外部圖庫的儲存空間號碼,例如圖庫如果位於儲存空間1,對應的實際路徑就會是/volume1

EXTERNAL_LOCATION=/volume1/photo

同步在 docker-compose.yml 的immich-server區段中,volumes子區段中也新增對應的容器內外目錄的映射設定,並指向剛剛.env中新增的EXTERNAL_LOCATION變數

- ${EXTERNAL_LOCATION}:/usr/src/app/external

設定好應該是這個樣子

回到Container Manager,停止並清除Immich這一個專案的容器

重新建立Immich專案,用以重新載入剛剛在 docker-compose.yml 新增的外部圖庫設定

重新建立成功

回到immich Web管理介面,從右上角的「管理」中新增外部圖庫

輸入剛剛docker-compose.yml中新增容器內外目錄的映射設定中,內部目錄的路徑,也就是
/usr/src/app/external
如果有設定成功,前面應該會是一個綠色的勾勾,如果沒設定成功,則前面應該會是一個驚嘆號

此時就可以去掃描外部圖庫囉

透過HyperBackup進行備份

由於容器所有使用的docker-compose.yml/環境變數檔,資料庫檔案及相片資料皆已映射到Synology的共用資料夾中,所以只需要很簡單的備份immich-app這個共用資料夾及外部圖庫資料夾即可。

One thought on “在 Synology NAS 上安裝 immich 相簿軟體

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料