놀라울 만큼 튼튼한 내 사진 관리 시스템 (Immich 버전)
(jaisenmathai.com)Immich를 통해 앨범·설명·위치·날짜·즐겨찾기 등의 변경 사항을 사진 파일 자체의 EXIF에 저장하도록 만들어, 데이터베이스 없이도 Synology NAS + Dropbox로 자동 백업되는 매우 튼튼한 사진 관리 시스템을 구축했다.
핵심 철학 (3가지 우선순위)
- Preserve (보존): 수십 년 이상 미래에도 문제없이 유지될 수 있어야 함
- Unify (통합): 부부 여러 대의 폰 사진을 하나의 라이브러리로 모음
- Experience (경험): 사진·비디오를 통해 추억을 다시 생생하게 느낄 수 있어야 함
배경 및 과거 방식
- 20년 넘게 사진 관리 워크플로우를 발전시켜 옴
- 모든 메타데이터(앨범, 설명, 즐겨찾기 등)를 EXIF에만 저장 → 외부 DB 의존 X → 장기 보존에 최적
- 주 저장소: Synology NAS
- 조직화 도구: 본인이 10년 넘게 개발한 오픈소스 CLI 툴 Elodie (https://github.com/jmathai/elodie)
- 과거: Google Photos를 읽기 전용 뷰어로 활용 → 발견·검색·추억 재현 기능 좋았으나 2019년 정책 변경 + 프라이버시 문제로 포기
- Synology Photos는 기능이 너무 빈약해서 대체 필요
Immich 도입 (2025년 말 ~ 2026년)
- Immich의 외부 라이브러리(external library) 기능(읽기 전용 폴더 마운트 가능)이 결정적
- 처음엔 읽기 전용 뷰어로 시작 → 나중엔 조직화 도구로 완전 전환
- 문제점: Immich 기본 동작은 메타데이터를 Postgres DB나 XMP 사이드카에 저장 → 저자는 둘 다 거부
→ 모든 변경을 사진 파일의 EXIF에 직접 임베드하는 커스텀 방식 개발
주요 구현 방식
- Immich API 활용 → UI에서 앨범 추가·설명 작성·즐겨찾기 등 하면 → EXIF에 기록
- Elodie와의 연동: Elodie가 앨범 폴더로 파일 이동 + EXIF 업데이트 → Immich는 이를 파일 삭제+생성으로 인식 → 일시적 불일치 발생
→ 해결: eventually consistent (최종 일관성) 방식 채택 → 지연 반영 허용 - XMP 사이드카는 사용 안 함 (취약하다고 판단)
- 결과: Immich가 Google Photos 수준의 발견·검색·추억 재현 경험 제공 + EXIF만으로 모든 정보 보존
사용 도구 & 백업 전략
- Immich (외부 라이브러리 + API 활용)
- Elodie (파일 시스템 매핑 & 조직화 핵심 엔진)
- Synology NAS → 주 저장소
- Dropbox → 자동 백업 (EXIF 변경 → 파일 자체 변경 → 자동 동기화)
- 커스텀 플러그인: https://github.com/jmathai/immich-exif (간단 버전)
- 진행 상황 추적: https://github.com/jmathai/elodie/issues/496
장점
- 데이터베이스 없이 EXIF만으로 완벽 보존 → 10년, 20년 후에도 문제없음
- Google Photos 같은 풍부한 UI/발견 경험 복원
- 프라이버시·의존성 문제 해결
- NAS + Dropbox 이중 백업으로 안정성 극대화
단점 & 현실
- 설정 난이도 매우 높음 (저자도 2주 걸림, AI 도움 받아도 쉽지 않음)
- Immich 기본 설계와 충돌하는 부분 많아 커스텀 필수
- 실시간 반영이 아닌 지연 반영(eventually consistent) 방식이라 완벽한 실시간성은 아님
결론 느낌
저자는 오랜 세월 지켜온 “EXIF만 믿고 가자” 철학을 한 치도 포기하지 않으면서, Immich를 통해 읽기 전용 뷰어에서 완전한 조직화+발견 플랫폼으로 업그레이드하는 데 성공했다고 평가합니다.
상세 기술 구현은 별도 포스팅 예정이라고 하니, 관심 있으면 GitHub 이슈나 그의 블로그를 계속 주시하는 게 좋을 듯합니다.