跳到主要内容

調整 Immich 的規模

Immich 是以現代部署實踐為基礎進行構建的,後端被設計成可以平行運行多個實例。當這樣做時,您需要注意的唯一要求是,每個實例都需要連接到共享的基礎設施。這意味著它們應該都能夠訪問相同的 Postgres 和 Redis 實例,並將相同的文件掛載到容器中。

調整規模對於很多原因可能是有用的。也許您有一台遊戲 PC,想要用它來進行轉碼和縮略圖生成,或者您運行了一個跨多台高性能伺服器的 Kubernetes 集群,並希望加以利用。

信息

如果您只有一台機器來運行 Immich,那麼擴展到多個容器可能不會提供任何好處。一個 Immich 容器可以同時運行多個後台任務,並且您可以從管理面板中增加其數量。

在多台機器上進行規模化的詳細過程會因不同環境而異,並需要具備一定的設置知識,因此本指南不提供具體的指導。在某些情況下,擴大規模可能像增加 Kubernetes 部署中的副本數量那麼簡單,在其他情況下可能需要您配置網路隧道或 NFS 掛載。此部分細節留給讀者自行完成 ;)

工作者

默認情況下,每個運行的 immich-server 容器都帶有多個內部工作者。如果您的規模化只是為了處理更多的後台任務,您可以選擇禁用負責 API 的工作者。詳情請參閱 工作者

縮小規模

和您可以擴展到多個容器一樣,您也可以選擇縮小規模。所有的狀態都存儲在 Postgres、Redis 和檔案系統中,因此停止運行中的 immich-server 容器沒有任何風險,例如當您想要使用 GPU 來玩遊戲時。只要有一個 API 工作者在運行,您仍然可以瀏覽 Immich,而任務會等待直到有可用的工作者來處理它們為止。