다른 HDD 또는 SSD에 이미 사진이 있고 이를 Immich의 일반 업로드 라이브러리로 옮기지 않은 채 ZimaOS의 Immich에서 색인하려면 외부 라이브러리를 사용하세요. 2024년 10월 커뮤니티 스레드에서는 다음 작업 흐름을 확인했습니다. 먼저 ZimaOS 호스트 폴더를 immich-server 컨테이너에 노출한 다음 Immich 관리 화면에서 해당 컨테이너 측 경로를 추가합니다.
이는 Immich의 기본 업로드 저장소를 변경하는 것과 다릅니다. 같은 스레드의 후속 답변에서는 외부 디스크를 향후 모든 Immich 업로드의 유일한 위치로 사용할 수 있는지 물었지만, 원문 스레드에서는 이 질문이 해결되지 않았습니다. 현재 Immich 문서에서는 이를 두 가지 별도 작업 흐름으로 다룹니다. 기존 파일에는 외부 라이브러리를 사용하고, UPLOAD_LOCATIONImmich가 관리하는 업로드를 위한 사용자 지정 저장소 경로.
원문 스레드에서 실제로 해결된 문제
원문 작성자는 Immich가 기본 위치 외부에 저장된 사진을 인식하기를 원했습니다. 이후 다음 순서로 성공했다고 보고했습니다.
- ZimaOS에서 Immich 설정을 여세요.
- immich-server 서비스를 여세요.
- ZimaOS 호스트 폴더를 Docker 볼륨으로 추가하세요.
- 다음과 같은 컨테이너 측 경로를 사용하세요.
/home/user/photos1. - Immich 관리 화면을 여세요.
- 외부 라이브러리를 생성하고 동일한 컨테이너 측 경로를 추가하세요.
이후 다른 사용자가 이 해결 방법이 자신에게도 작동했다고 명시적으로 확인했습니다.
호스트 경로와 Immich 경로는 서로 다릅니다
Docker 매핑 개념은 다음과 같습니다.
ZimaOS 호스트 폴더 → Immich 컨테이너 폴더
예를 들면 다음과 같습니다.
/media/Photos:/home/user/photos1:ro
Immich는 ZimaOS 호스트 경로를 직접 스캔하지 않습니다. 컨테이너 내부에서 표시되는 경로만 스캔할 수 있습니다.
/home/user/photos1
기존 사진 아카이브에는 읽기 전용 모드 사용
원래 커뮤니티 해결 방법에서는 다음을 사용했습니다. :ro. Immich가 파일을 색인만 해야 하는 경우 현재 Immich 문서에서도 읽기 전용 마운트를 권장합니다.
/media/Photos:/home/user/photos1:ro
읽기 전용 모드를 사용하면 Immich가 소스 폴더의 파일을 삭제하거나 사이드카 메타데이터를 작성할 수 없습니다.
Immich에서 외부 라이브러리 생성
마운트가 생성되면 관리자 계정으로 Immich를 열고 외부 라이브러리 섹션으로 이동하세요. 라이브러리를 생성하고 소유자를 선택한 다음 컨테이너 경로를 추가하세요.
/home/user/photos1
그런 다음 스캔을 실행하세요. Immich가 사진 색인 생성과 썸네일 및 메타데이터 작업 생성을 시작합니다.
컨테이너 내부에 경로가 존재하는지 확인
Immich에서 라이브러리 경로를 거부하면 다음에서 마운트가 표시되는지 확인하세요. immich-server. 원문 스레드의 핵심 문제는 단순히 Immich UI에서 폴더를 선택하는 것이 아니었습니다. 먼저 Docker가 해당 폴더를 컨테이너 내부에 노출해야 했습니다.
현재 Immich 문서에는 동일한 요구 사항이 명시되어 있습니다. 외부 라이브러리로 추가하기 전에 마운트된 경로가 컨테이너 내부에 존재해야 합니다.
과거의 Database 탭 단계를 무작정 따라 하지 마세요
2024년 원문 게시물에서는 Immich Database 탭에도 동일한 경로를 추가하라고 했습니다. 현재는 이 지침을 신중하게 적용해야 합니다.
현재 Immich의 업스트림 버전은 다음을 분리합니다.
-
사진/동영상 저장소(
UPLOAD_LOCATION) 또는 외부 라이브러리 바인드 마운트를 통해 -
PostgreSQL 데이터베이스 저장소(
DB_DATA_LOCATION)를 사용합니다.
데이터베이스 위치는 사진 라이브러리 위치와 다릅니다. 이전 ZimaOS 패키지에 데이터베이스 서비스 탭이 있었다고 해서 임의의 사진 폴더를 PostgreSQL에 마운트하지 마세요.
외부 라이브러리와 Immich 기본 저장소 비교
| 목표 | 다음을 사용하세요. |
|---|---|
| 다른 위치에 이미 저장된 사진 색인하기 | 외부 라이브러리 |
| 향후 Immich 업로드를 다른 드라이브에 저장하기 | Immich 업로드/저장 위치 변경 |
원본 스레드에서 확인한 것은 첫 번째 경우이지 두 번째 경우가 아닙니다.
외부 드라이브를 Immich의 기본 저장소로 사용하려는 경우
현재 Immich Docker Compose는 다음을 사용합니다.
UPLOAD_LOCATION=./library
그리고 해당 호스트 경로를 다음 위치에 마운트합니다. /data 내부에 immich-server현재 사용자 지정 위치 문서에서는 예상되는 컨테이너 경로를 유지하면서 Immich가 관리하는 데이터를 다른 호스트 저장 위치로 옮기는 방법을 설명합니다.
Immich에 이미 중요한 사진이 있다면 기본 저장 위치를 변경하기 전에 데이터베이스와 파일 시스템을 모두 백업하세요.
데이터베이스 요구 사항을 별도로 관리하세요.
PostgreSQL 데이터베이스는 사진 파일과 저장소 요구 사항이 다릅니다. 현재 Immich 문서에 따르면 네트워크 공유는 데이터베이스 경로에서 지원되지 않으며, 데이터베이스는 적절한 로컬 파일 시스템을 사용해야 합니다.
외부 사진 라이브러리를 추가한다고 해서 PostgreSQL을 옮기지 마세요.
외부 라이브러리에도 별도의 백업이 필요합니다.
Immich는 외부 라이브러리의 원본 에셋을 일반적인 관리 저장소로 복사하지 않습니다. 원본은 외부 디스크에 그대로 남습니다. 디스크에서 해당 파일이 제거되면 Immich는 다시 스캔한 후 파일을 누락된 것으로 표시하거나 활성 라이브러리에서 제거할 수 있습니다.
원본 드라이브를 독립적으로 백업하세요. Immich의 데이터베이스 메타데이터는 파일 시스템 백업을 대신할 수 없습니다.
ZimaOS의 Immich 외부 라이브러리 체크리스트
- 사진이 들어 있는 기존 ZimaOS 호스트 폴더를 확인하세요.
- 현재 Immich 앱/컨테이너 설정을 여세요.
- 호스트 폴더를 다음 위치에 마운트하세요.
immich-server. - 다음을 권장합니다.
:roImmich에서 수정하지 않아야 하는 보관용 폴더에 사용합니다. - 다음과 같이 명확한 컨테이너 경로를 사용하세요.
/home/user/photos1또는/mnt/media/photos. - Immich 관리 → 외부 라이브러리를 여세요.
- 컨테이너 측의 정확한 경로를 추가하세요.
- 라이브러리 스캔을 실행하세요.
- Immich의 기본 저장소를 옮기는 것과 혼동하지 마세요.
UPLOAD_LOCATION. - 외부 드라이브는 별도로 백업하세요.
Immich 외부 저장소 FAQ
원래 해결 방법이 작동했나요?
예. 원 작성자가 성공했다고 보고했으며, 이후 다른 사용자가 같은 작업 흐름이 자신에게도 정상적으로 작동했다고 확인했습니다.
외부 라이브러리를 추가하면 외부 드라이브가 Immich의 기본 업로드 위치가 되나요?
아니요. 외부 라이브러리는 Immich가 관리하는 업로드 저장소 외부에 이미 존재하는 파일을 색인합니다.
Immich에 어떤 경로를 입력해야 하나요?
Docker 마운트의 컨테이너 측 경로를 사용하세요. ZimaOS 호스트 경로가 아닙니다.
:ro를 사용해야 하나요?
예. 외부 폴더가 Immich에서 읽기만 해야 하는 보관용 폴더라면 사용하세요. Immich에서 해당 파일을 수정하거나 삭제하려는 경우에만 읽기 전용 모드를 제거하세요.
