Immich 웹사이트의 Cursed Knowledge 코너가 정말 흥미로움 Cursed Knowledge 페이지를 보면 Immich 개발하면서 알게 된, 원래는 몰랐으면 했던 기술적인 '저주받은 지식'을 솔직하게 공유함
읽다 보면 이런 내용이 있음
“50개의 추가 패키지가 저주받은 패키지임
JavaScript 커뮤니티 내에 호환성 유지를 이유로 각종 프로젝트에 본인이 유지보수하는 50개의 추가 패키지를 끼워넣는 사용자가 있음”
여기서 언급된 사용자는 Jordan Harband라는 분임
이 '저주받은 지식'이 정확히 무슨 의미인지, 또 Jordan이 자랑하는 'backwards compatibility'가 뭘 실제로 뜻하는지 아는 사람이 있을지 궁금함
모든 프로젝트가 Cursed Knowledge 같이 이런 섹션을 가지고 있었으면 좋겠음
“setTimeout is cursed”라는 결론에 대해선 허점이 있는 것 같음
JavaScript에서 setTimeout이 아주 작은 값을 넣을 경우 제대로 기다리지 않을 수 있다는 주장인데, 내 생각엔 performance.now() 함수 자체가 밀리초 단위로 반환되고 반올림 현상이 있어서 1ms 정도는 오차 범위 내 허용임
관련 논의: 풀 리퀘스트
Postgres가 2의 16승(65536) 제한 때문에 저주받았다는 언급도 있음
SQL Server는 약 2000개의 파라미터 제한이 있음
그래도 제한이 낮으니 빨리 문제를 발견할 수 있다는 점에는 장점이 있음
Cursed Knowledge 콘텐츠가 너무 좋아서 내 일상 메모 루틴에 바로 추가했음
Immich 팀의 유쾌한 개성이 느껴져서 파일 구조가 즐거워짐
Immich를 정말 좋게 쓰고 있음
내가 써 본 셀프 호스팅 앱 중 최고임
Immich CLI와 Immich-go 도구를 써서 사진 가져오기가 정말 수월했음
폴더별로 앨범 지정해서 정리했는데, 지금은 폴더/파일 정리만 남음
팁을 하나 공유하자면, ZFS(혹은 스냅샷 기능 있는 파일 시스템)로 변경 전 스냅샷을 만들어두면 완전 안전하고, 대량 임포트시 실패해도 쉽게 복구할 수 있음
예전 코어i3 서버가 며칠 동안 팬을 돌릴 정도로 부하가 걸린 에피소드도 있음
얼굴 인식은 꽤 뛰어나지만, 강아지 인식 등은 부족함
그래도 기능에서 타협하지 않고 셀프 호스팅이 가능하니 감사한 마음임
조만간 아무 기능도 추가되지 않는 '서포트 패키지'도 구매할 예정임
추후 무중단/암호화 백업 방법도 지원될 예정이라 기대하고 있음
Immich CLI: 문서
Immich-go: GitHub
외부 폴더 추가해서 모든 사진을 그쪽에 복사해 넣음
Immich의 자체 사진 폴더는 날짜별로 디렉토리를 만드는데, 외부 폴더는 어떤 파일이 들어와도 신경 쓰지 않고, 심지어 파일이 사라져도 전혀 까다롭지 않음
Immich가 개인적으로는 괜찮았지만 아주 뛰어난 수준은 아니었음
다음클라우드(Nextcloud) Photos를 써야 공유나 파일 관리 같은 작업이 수월함
모든 이미지를 라이브러리에 넣고 파일 구조로 정리하지 않는다는 게 잘 이해가 가지 않음
Immich가 외부 라이브러리와 연동할 수는 있지만, 실제로 뭔가 조작할 순 없음
예를 들어 iPhone 사진을 가져온 뒤 폴더 구조에 안전하고 오래 보관하기 위해 분류/이동하는 작업이 불가함
Immich가 좋은 점은 알겠지만, 언제까지 지속될지 확신이 없으니, 언젠가는 이동이 불가능한 또 다른 사진 데이터베이스만 쌓이는 걸 우려함
모든 이미지를 파일 구조가 아닌 라이브러리에만 넣는 것에 대해 이해가 안 간다고 했는데,
Immich는 원하는 파일 구조로 사진 저장이 가능함
EXIF 메타데이터 기반으로 파일 자체를 디스크에서 재구성도 할 수 있음
iPhone 사진을 가져와서 분류 후 폴더로 이동시키는 기능도 확실히 지원함
자세한 건 스토리지 템플릿 문서 참조
구조화와 태깅과 관련해서, 굳이 데이터베이스가 필요하냐고 질문하는데
파일 시스템과 배치 처리 툴, EXIF 툴만으로도 충분히 가능함
Immich는 이미지 전시와 얼굴 인식처럼 부가 메타데이터 취합에 더 어울림
본인은 재미있게도 Nextcloud로 먼저 사진을 업로드하고, 그 외부 폴더를 Immich에서 뷰어로 지정해서 씀
우연히 Nextcloud를 먼저 깔았고, 이 방법 덕분에 Immich의 이점과 파일 구조 유지 둘 다 가져감
Immich는 FOSS(오픈 소스)로 3년쯤 됐기 때문에 어쩌면 아직 오래된 소프트웨어는 아님
하지만 이미 꽤 빠르고, 안정적이며, 여러 번 릴리즈를 반복하는 점은 앞으로의 유지 가능성을 보여줌
대략 7명 정도의 주요 개발자가 있고, 대부분 FUTO에서 활동/후원받는 것 같음 기여자 그래프, FUTO 소개
FUTO는 집중화와 업계 독점을 저지하는 기술 개발에 몰두하는 단체임
참고로, FUTO는 설립자 Eron Wolf의 단독 투자를 통해 자금이 조달되어 왔다고 함
Eron Wolf에 대해선 더 알아볼 필요가 있음
참고 정보: HN 토론, Eron Wolf의 오픈소스 생각
FUTOs 장기적 지속 가능성은 아직 미지수임
Immich는 정말 환상적임
지금까지 써본 다른 셀프 호스팅 대안들은 항상 아쉬운 점이 있었는데, Immich는 사용 자체가 즐거움
빠르고 기능 많고, 셋업도 쉬움
너무 좋아서 100달러를 후원했을 정도임
예전엔 사진 관리가 너무 번거로워 사진 찍기를 아예 멈췄었는데, Immich 덕분에 다시 찍기 시작함
오랜 기간 중단했던 이유에 공감함
나도 Google Photos를 쓰다가, 개인정보 심사에 불안감을 느꼈던 적이 있음
예전에 아이 사진을 병원에 보내주려고 찍었다가 계정 정지가 된 사례도 있음
내년에는 Immich로 꼭 마이그레이션해서 자유로움을 느끼고 싶음
검색 기능이 어떤지 궁금함
워낙 사진마다 라벨링을 안 하다 보니 구글/애플 수준의 객체/텍스트 인식 검색에 의존함 관련 사례
빠르고, 기능 풍부하고, 셋업도 쉬운 Immich의 성장에 Alex Tran(리더)이 큰 기여를 했다고 봄
FUTO가 프로젝트를 인수한 이후 FL/OSS 프로젝트 성장의 모범이 된다는 점이 인상적임
Immich는 Google Photos나 Lightroom Library 대체로는 적합하지만, Flickr 대체용으로는 별로임
개인 포트폴리오처럼 엄선한 사진만 전시하고 싶을 때 쓸만한 셀프호스팅 솔루션을 찾고 있음
인증도 필요 없고, 별도 "공유" 링크 없이 포토스트림, 앨범, 태그, 사진 전체보기 같이 Flickr 수준의 심플 UI가 필요함
자동 태깅, 객체 인식 같은 건 굳이 필요 없음
오로지 보여주고 싶은 사진만 예쁘고 간단하게 공개하는 용도면 충분함
내 사례를 들자면, 비슷한 걸 만들긴 했음(셀프호스팅X): mood.site
접속하면 자동으로 앨범이 만들어지고, 드래그 or 클릭으로 이미지 업로드, 정렬/리사이즈 가능함
URL 공유로 공동 작업도 가능
다만 사진 개별 공개/비공개 토글 기능은 아직 없음
셀프호스팅 버전에 대한 아이디어도 있는데, 단일 HTML+JS 파일에 이미지 폴더만 연동하게 만드는 방식도 고려 중임
이런 방식이 흥미로운지 궁금함 인스퍼레이션 샘플
Ghost나 Wordpress에 사진 중심 테마(CMS)를 입히는 것도 좋은 방법임
예전엔 Photo Organizer[0]를 공공 이벤트 사진 공유용으로 고려함 Photo Organizer 공식 사이트, 데모
완벽하게 Flickr의 "크롬 없는" 전면 사진 재생은 지원하지 않는 것 같음
하지만 Immich public proxy 같은 신기능도 흥미로워보여 시도해보고 싶음
io200[1]도 한 번 볼만함
소규모 셀프호스팅에 특화된 사진 CMS이고, 테마와 관리 기능, 무료 티어도 넉넉함
원래는 Koken[2]에서 출발했기에 익숙한 사람이 있을 것임 io200, Koken
데스크탑 용도로 Immich와 유사한 목표의 앱을 찾고 있음
고성능 데스크톱 사진/비디오 관리 솔루션
비파괴 라이브러리 관리 (파일을 복사/이동하지 않으며 라이브러리는 단일 파일)
Exif GPS 지도 및 검색 (“NYC에서 오후 2~4시에 찍힌 사진”)
자동(AI) 사진 태깅
이 모든 조건을 만족할 수 있는 앱이 있을지 궁금함
digikam이 딱 원하는 솔루션임
10년 넘게 digikam을 잘 쓰고 있음
AI 얼굴 인식은 Immich보다 떨어지지만, 이 분야가 빠르게 발전 중이라 머지않아 개선될 것 같음
digiKam이 필요한 요구를 대부분 충족함
본인은 Peakto를 선호했는데, 여러 CaptureOne 세션을 단일 카탈로그로 합칠 수 있는 독특한 기능이 있어서임
다만 본인 요구엔 오버킬일 수 있음
Phil Gyford가 ‘Lightroom Classic 대체 macOS 앱 8종 테스트’ 글을 올렸으니 참고 가능함 글 링크
Immich가 훌륭하다고 생각함
최근 안드로이드 앱에서 베타 타임라인이 도입되면서 "꽤 괜찮은" 수준에서 "Google Photos 완전 대체" 수준으로 완전히 달라졌음
새로운 타임라인 기능이 도입되면서 내 최대 불만이 해결됨
이전엔 로컬 앱이 서버 연결이 없으면 로컬 사진조차 못 보여줬는데, 이제는 서버 없어도 내 사진은 충분히 확인 가능함
단, 캐시가 안 된 타인의 사진만 없을 뿐임
딱 기대하던 동작임
v2.0.0에서 자세한 변경 로그가 없는 것 같아 궁금함 릴리즈 노트엔 버그 수정 몇 건 외엔 git 히스토리를 참조하라고 나오고 있음
git 히스토리를 확인해보니, 실제로 지난 릴리즈 이후 거의 변화가 없고 안정화된 버전 선언임 릴리즈 비교
2년 넘게 Oracle 프리티어(200GB 디스크, ARM VM)에서 Immich를 가동 중임
Oracle을 장기적인 저장소로 완전히 신뢰하지 않기에 Backblaze로 매일 백업하고 있음
아쉬운 점은 너무 잦은 릴리즈와 그에 비해 실제로 크게 추가되는 기능은 드물다는 것임
Immich에서 지도(지역)와 시간 조건을 모두 조합한 검색/필터링이 가능한지 궁금함
예시 1: 지도에서 범위를 직접 그려서 그 지역 내 22:00~00:00 사진만 보기
예시 2: 특정 지역에서 2020~2024년 중 3~5월, 9~10월, 22:00~00:00 사진만 보기
데모에서 버블 수로는 확인 가능한데, 범위 지정 후 앨범이나 일시 보기로 넘어가는 방법은 보이지 않음
지도 뷰엔 날짜 필터만 있고, 시간대 필터나 특정 달/시각 필터는 없음
검색 창의 고급 옵션에도 국가, 시/도/시티 별 필터만 있고 범위 지정이나 복수 기간, 시간대는 지원 안 함
만약 지도에서 범위 지정, 기간 슬라이더(연도, 달, 시간대)로 멀티 조건 검색이 가능하고, 이걸 즐겨찾기, 일괄 태그, 삭제 등도 할 수 있다면 굉장한 킬러 기능이 될 것 같음
Hacker News 의견
Immich 웹사이트의 Cursed Knowledge 코너가 정말 흥미로움
Cursed Knowledge 페이지를 보면 Immich 개발하면서 알게 된, 원래는 몰랐으면 했던 기술적인 '저주받은 지식'을 솔직하게 공유함
읽다 보면 이런 내용이 있음
“50개의 추가 패키지가 저주받은 패키지임
JavaScript 커뮤니티 내에 호환성 유지를 이유로 각종 프로젝트에 본인이 유지보수하는 50개의 추가 패키지를 끼워넣는 사용자가 있음”
여기서 언급된 사용자는 Jordan Harband라는 분임
이 '저주받은 지식'이 정확히 무슨 의미인지, 또 Jordan이 자랑하는 'backwards compatibility'가 뭘 실제로 뜻하는지 아는 사람이 있을지 궁금함
모든 프로젝트가 Cursed Knowledge 같이 이런 섹션을 가지고 있었으면 좋겠음
“setTimeout is cursed”라는 결론에 대해선 허점이 있는 것 같음
JavaScript에서 setTimeout이 아주 작은 값을 넣을 경우 제대로 기다리지 않을 수 있다는 주장인데, 내 생각엔 performance.now() 함수 자체가 밀리초 단위로 반환되고 반올림 현상이 있어서 1ms 정도는 오차 범위 내 허용임
관련 논의: 풀 리퀘스트
Postgres가 2의 16승(65536) 제한 때문에 저주받았다는 언급도 있음
SQL Server는 약 2000개의 파라미터 제한이 있음
그래도 제한이 낮으니 빨리 문제를 발견할 수 있다는 점에는 장점이 있음
Cursed Knowledge 콘텐츠가 너무 좋아서 내 일상 메모 루틴에 바로 추가했음
Immich 팀의 유쾌한 개성이 느껴져서 파일 구조가 즐거워짐
Immich를 정말 좋게 쓰고 있음
내가 써 본 셀프 호스팅 앱 중 최고임
Immich CLI와 Immich-go 도구를 써서 사진 가져오기가 정말 수월했음
폴더별로 앨범 지정해서 정리했는데, 지금은 폴더/파일 정리만 남음
팁을 하나 공유하자면, ZFS(혹은 스냅샷 기능 있는 파일 시스템)로 변경 전 스냅샷을 만들어두면 완전 안전하고, 대량 임포트시 실패해도 쉽게 복구할 수 있음
예전 코어i3 서버가 며칠 동안 팬을 돌릴 정도로 부하가 걸린 에피소드도 있음
얼굴 인식은 꽤 뛰어나지만, 강아지 인식 등은 부족함
그래도 기능에서 타협하지 않고 셀프 호스팅이 가능하니 감사한 마음임
조만간 아무 기능도 추가되지 않는 '서포트 패키지'도 구매할 예정임
추후 무중단/암호화 백업 방법도 지원될 예정이라 기대하고 있음
Immich CLI: 문서
Immich-go: GitHub
Immich의 자체 사진 폴더는 날짜별로 디렉토리를 만드는데, 외부 폴더는 어떤 파일이 들어와도 신경 쓰지 않고, 심지어 파일이 사라져도 전혀 까다롭지 않음
Immich가 개인적으로는 괜찮았지만 아주 뛰어난 수준은 아니었음
다음클라우드(Nextcloud) Photos를 써야 공유나 파일 관리 같은 작업이 수월함
모든 이미지를 라이브러리에 넣고 파일 구조로 정리하지 않는다는 게 잘 이해가 가지 않음
Immich가 외부 라이브러리와 연동할 수는 있지만, 실제로 뭔가 조작할 순 없음
예를 들어 iPhone 사진을 가져온 뒤 폴더 구조에 안전하고 오래 보관하기 위해 분류/이동하는 작업이 불가함
Immich가 좋은 점은 알겠지만, 언제까지 지속될지 확신이 없으니, 언젠가는 이동이 불가능한 또 다른 사진 데이터베이스만 쌓이는 걸 우려함
모든 이미지를 파일 구조가 아닌 라이브러리에만 넣는 것에 대해 이해가 안 간다고 했는데,
Immich는 원하는 파일 구조로 사진 저장이 가능함
EXIF 메타데이터 기반으로 파일 자체를 디스크에서 재구성도 할 수 있음
iPhone 사진을 가져와서 분류 후 폴더로 이동시키는 기능도 확실히 지원함
자세한 건 스토리지 템플릿 문서 참조
구조화와 태깅과 관련해서, 굳이 데이터베이스가 필요하냐고 질문하는데
파일 시스템과 배치 처리 툴, EXIF 툴만으로도 충분히 가능함
Immich는 이미지 전시와 얼굴 인식처럼 부가 메타데이터 취합에 더 어울림
본인은 재미있게도 Nextcloud로 먼저 사진을 업로드하고, 그 외부 폴더를 Immich에서 뷰어로 지정해서 씀
우연히 Nextcloud를 먼저 깔았고, 이 방법 덕분에 Immich의 이점과 파일 구조 유지 둘 다 가져감
Immich는 FOSS(오픈 소스)로 3년쯤 됐기 때문에 어쩌면 아직 오래된 소프트웨어는 아님
하지만 이미 꽤 빠르고, 안정적이며, 여러 번 릴리즈를 반복하는 점은 앞으로의 유지 가능성을 보여줌
대략 7명 정도의 주요 개발자가 있고, 대부분 FUTO에서 활동/후원받는 것 같음
기여자 그래프, FUTO 소개
FUTO는 집중화와 업계 독점을 저지하는 기술 개발에 몰두하는 단체임
참고로, FUTO는 설립자 Eron Wolf의 단독 투자를 통해 자금이 조달되어 왔다고 함
Eron Wolf에 대해선 더 알아볼 필요가 있음
참고 정보: HN 토론, Eron Wolf의 오픈소스 생각
FUTOs 장기적 지속 가능성은 아직 미지수임
Immich는 정말 환상적임
지금까지 써본 다른 셀프 호스팅 대안들은 항상 아쉬운 점이 있었는데, Immich는 사용 자체가 즐거움
빠르고 기능 많고, 셋업도 쉬움
너무 좋아서 100달러를 후원했을 정도임
예전엔 사진 관리가 너무 번거로워 사진 찍기를 아예 멈췄었는데, Immich 덕분에 다시 찍기 시작함
오랜 기간 중단했던 이유에 공감함
나도 Google Photos를 쓰다가, 개인정보 심사에 불안감을 느꼈던 적이 있음
예전에 아이 사진을 병원에 보내주려고 찍었다가 계정 정지가 된 사례도 있음
내년에는 Immich로 꼭 마이그레이션해서 자유로움을 느끼고 싶음
검색 기능이 어떤지 궁금함
워낙 사진마다 라벨링을 안 하다 보니 구글/애플 수준의 객체/텍스트 인식 검색에 의존함
관련 사례
빠르고, 기능 풍부하고, 셋업도 쉬운 Immich의 성장에 Alex Tran(리더)이 큰 기여를 했다고 봄
FUTO가 프로젝트를 인수한 이후 FL/OSS 프로젝트 성장의 모범이 된다는 점이 인상적임
Immich는 Google Photos나 Lightroom Library 대체로는 적합하지만, Flickr 대체용으로는 별로임
개인 포트폴리오처럼 엄선한 사진만 전시하고 싶을 때 쓸만한 셀프호스팅 솔루션을 찾고 있음
인증도 필요 없고, 별도 "공유" 링크 없이 포토스트림, 앨범, 태그, 사진 전체보기 같이 Flickr 수준의 심플 UI가 필요함
자동 태깅, 객체 인식 같은 건 굳이 필요 없음
오로지 보여주고 싶은 사진만 예쁘고 간단하게 공개하는 용도면 충분함
Immich 단독으론 부족하지만 immich-public-proxy 사용을 추천함
샘플 갤러리 참고 가능함
내 사례를 들자면, 비슷한 걸 만들긴 했음(셀프호스팅X): mood.site
접속하면 자동으로 앨범이 만들어지고, 드래그 or 클릭으로 이미지 업로드, 정렬/리사이즈 가능함
URL 공유로 공동 작업도 가능
다만 사진 개별 공개/비공개 토글 기능은 아직 없음
셀프호스팅 버전에 대한 아이디어도 있는데, 단일 HTML+JS 파일에 이미지 폴더만 연동하게 만드는 방식도 고려 중임
이런 방식이 흥미로운지 궁금함
인스퍼레이션 샘플
Ghost나 Wordpress에 사진 중심 테마(CMS)를 입히는 것도 좋은 방법임
예전엔 Photo Organizer[0]를 공공 이벤트 사진 공유용으로 고려함
Photo Organizer 공식 사이트, 데모
완벽하게 Flickr의 "크롬 없는" 전면 사진 재생은 지원하지 않는 것 같음
하지만 Immich public proxy 같은 신기능도 흥미로워보여 시도해보고 싶음
io200[1]도 한 번 볼만함
소규모 셀프호스팅에 특화된 사진 CMS이고, 테마와 관리 기능, 무료 티어도 넉넉함
원래는 Koken[2]에서 출발했기에 익숙한 사람이 있을 것임
io200, Koken
데스크탑 용도로 Immich와 유사한 목표의 앱을 찾고 있음
이 모든 조건을 만족할 수 있는 앱이 있을지 궁금함
digikam이 딱 원하는 솔루션임
10년 넘게 digikam을 잘 쓰고 있음
AI 얼굴 인식은 Immich보다 떨어지지만, 이 분야가 빠르게 발전 중이라 머지않아 개선될 것 같음
digiKam이 필요한 요구를 대부분 충족함
본인은 Peakto를 선호했는데, 여러 CaptureOne 세션을 단일 카탈로그로 합칠 수 있는 독특한 기능이 있어서임
다만 본인 요구엔 오버킬일 수 있음
Phil Gyford가 ‘Lightroom Classic 대체 macOS 앱 8종 테스트’ 글을 올렸으니 참고 가능함
글 링크
piGallery2도 추천함
여러 해 사용해봤고, 원하는 기능을 모두 충족함
CaptureOne이 원하는 것에 가장 적합한 솔루션임
최고의 수준임
Immich가 훌륭하다고 생각함
최근 안드로이드 앱에서 베타 타임라인이 도입되면서 "꽤 괜찮은" 수준에서 "Google Photos 완전 대체" 수준으로 완전히 달라졌음
이전엔 로컬 앱이 서버 연결이 없으면 로컬 사진조차 못 보여줬는데, 이제는 서버 없어도 내 사진은 충분히 확인 가능함
단, 캐시가 안 된 타인의 사진만 없을 뿐임
딱 기대하던 동작임
v2.0.0에서 자세한 변경 로그가 없는 것 같아 궁금함
릴리즈 노트엔 버그 수정 몇 건 외엔 git 히스토리를 참조하라고 나오고 있음
릴리즈 비교
2년 넘게 Oracle 프리티어(200GB 디스크, ARM VM)에서 Immich를 가동 중임
Oracle을 장기적인 저장소로 완전히 신뢰하지 않기에 Backblaze로 매일 백업하고 있음
아쉬운 점은 너무 잦은 릴리즈와 그에 비해 실제로 크게 추가되는 기능은 드물다는 것임
Immich에서 지도(지역)와 시간 조건을 모두 조합한 검색/필터링이 가능한지 궁금함
예시 1: 지도에서 범위를 직접 그려서 그 지역 내 22:00~00:00 사진만 보기
예시 2: 특정 지역에서 2020~2024년 중 3~5월, 9~10월, 22:00~00:00 사진만 보기
데모에서 버블 수로는 확인 가능한데, 범위 지정 후 앨범이나 일시 보기로 넘어가는 방법은 보이지 않음
지도 뷰엔 날짜 필터만 있고, 시간대 필터나 특정 달/시각 필터는 없음
검색 창의 고급 옵션에도 국가, 시/도/시티 별 필터만 있고 범위 지정이나 복수 기간, 시간대는 지원 안 함
만약 지도에서 범위 지정, 기간 슬라이더(연도, 달, 시간대)로 멀티 조건 검색이 가능하고, 이걸 즐겨찾기, 일괄 태그, 삭제 등도 할 수 있다면 굉장한 킬러 기능이 될 것 같음