Immich 확장하기
Immich는 현대적인 배포 방식을 염두에 두고 설계되었으며, 백엔드는 여러 인스턴스를 병렬로 실행할 수 있도록 설계되었습니다. 이를 수행할 때 주의해야 할 유일한 요구 사항은 모든 인스턴스가 공유 인프라에 연결되어야 한다는 것입니다. 즉, 모든 인스턴스는 동일한 Postgres와 Redis 인스턴스에 접근할 수 있어야 하며, 동일한 파일이 컨테이너에 마운트되어야 합니다.
확장은 여러 이유로 유용할 수 있습니다. 예를 들어, 게이밍 PC를 사용하여 트랜스코딩과 썸네일 생성을 처리하거나, 강력한 서버 몇 개로 구성된 Kubernetes 클러스터를 사용하려 할 수 있습니다.
Immich를 실행할 단일 머신만 있다면, 여러 컨테이너로 확장해도 그다지 이점을 얻지 못할 가능성이 큽니다. Immich 컨테이너는 동시에 여러 백그라운드 작업을 실행하며, 관리 패널에서 작업 수를 늘릴 수 있습니다.
여러 머신에 걸친 확장의 방법은 환경에 따라 매우 다를 수 있으며, 이를 설정하려면 약간의 지식이 필요합니다. 따라서 이 가이드는 특정 지침을 제공하지 않습니다. 어떤 경우에는 Kubernetes 배포의 복제본 수를 증가시키는 것만큼 간단할 수 있지만, 다른 경우에는 네트워크 터널이나 NFS 마운트를 구성해야 할 수도 있습니다. 자세한 내용은 독자에게 맡깁니다 ;)
워커
기본적으로, 실행 중인 각 immich-server
컨테이너에는 여러 내부 워커가 포함되어 있습니다. 백그라운드 작업을 더 처리하기 위해 확장하려는 경우, API를 담당하는 워커를 비활성화하도록 선택할 수 있습니다. 자세한 내용은 workers를 참조하세요.
축소하기
여러 컨테이너로 확장할 수 있는 것과 동일한 방식으로, 축소를 선택할 수도 있습니다. 모든 상태는 Postgres, Redis 및 파일 시스템에 저장되므로 실행 중인 immich-server 컨테이너를 중지해도 전혀 위험이 없습니다. 예를 들어, GPU를 사용하여 게임을 하고 싶을 때 가능합니다. API 워커가 실행 중인 한 Immich를 계속 탐색할 수 있으며, 작업은 워커가 사용할 수 있을 때까지 처리를 기다리게 됩니다.