需求#
實現家庭雲相冊,釋放手機儲存空間,避免照片隨著手機 GG 而 GG 的尷尬,並且自建雲相冊使得你的隱私掌握在自己手中,而不必擔心在公有雲中被掃描窺視外泄等不爽,並實現網速自由等。
經過 Google 之後,發現 Immich 開源項目非常受歡迎,並且其已有功能也符合上述需求,並且還超越了需求,擁有更多令人驚嘆的功能,比如支持多使用者相冊管理等。
安裝 & 運行#
通過官方詳盡且豐富的 安裝文件,相信在安裝和運行這塊,不會產生困擾,我使用的是 Docker Compose 的部署方式。
一旦運行成功,可以通過網頁和 APP 的方式來管理相冊,並且提供 CLI 批量上傳,也就是說支持三種不同形式的客戶端:
-
網頁通過訪問
http://[server_ip]:2283
-
APP 提供 Android/IOS:Mobile App | Immich 支持前台運行時和後台自動備份
如果 APP 無法登錄到伺服器,可能的原因有:
- 伺服器防火牆入站規則中沒有允許
2283
TCP 端口,當然你也可以直接禁用防火牆 - APP 版本太低了,伺服器版本太高,只需將 APP 升級至 latest
- 伺服器防火牆入站規則中沒有允許
-
CLI 批量上傳:Bulk Upload (Using the CLI) | Immich
當然這只是它提供的最基礎的功能,想了解更多功能,請參閱文件:immich.app/docs
數據遷移#
如果先前已經在某個 Immich 伺服器上傳了很多照片,但由於某些原因使得該伺服器必須下線,這時數據遷移變得至關重要,也就是將數據原封不動地移動到新的伺服器上面,官方提供了相應的文件,這分為兩個部分:
-
Postgres 數據庫的 Backup 和 Restore:Backup and Restore | Immich
如果你跟我一樣,是在 Windows 上運行 Docker Desktop,那麼可能需要將文件中的命令替換成如下所示:
-
Backup(當然需要將磁碟路徑替換為你自己的):
docker exec -t immich_postgres pg_dumpall -c -U postgres > "D:\dev\containers\immich\backup\dump.sql"
-
Restore:先按照文件所示,然後跳過
sleep 10
命令,因為 Windows 中沒有它啊(你可以通過docker logs -f immich_postgres
來判斷數據庫是否啟動成功),接著自行解壓 Backup 後的文件(如果備份是壓縮包形式),通過以下命令來還原數據庫(當然需要將磁碟路徑替換為你自己的):docker exec -i immich_postgres psql -U postgres -d immich < "D:\dev\containers\immich\backup\dump.sql"
-
-
照片文件本身的遷移(磁碟文件備份):Backup and Restore | Immich
其實很簡單,就是將磁碟目錄移動(下載)到新的伺服器上。
當你將以上兩個部分都遷移完畢後,記得在相應的位置運行 docker-compose up -d
命令來啟動全部的服務。