Google Flow 한국어 나레이션·자막과 배경음악이 있는 손그림 설명 영상입니다. 공개 코드·공식 문서를 바탕으로 만든 설명도이며 실제 설치·실행 녹화가 아닙니다.
02 · 실제 앱 화면
공식 문서의 실제 화면으로 먼저 보세요
Immich 공식 문서에 실린 화면이에요. 웹 보관함부터 관리자 등록, 휴대폰 백업, 앨범 공유, DB 복원까지 쓰는 순서대로 골라 볼 수 있어요. 문서 화면은 예전 버전에서 찍은 것이라 v3.3.3 화면과 다를 수 있어요.
웹 보관함과 휴대폰 앱 (대표 그림)저장소의 문서 이미지 폴더(docs/static/img)에 있는 대표 그림이에요. 이 그림을 설명하는 문서 본문은 찾지 못해서 README의 소개만 옮겨요: Immich는 '고성능 자체 호스팅 사진·영상 관리 솔루션'이고, 기능표에는 사진·영상 올리기와 보기가 휴대폰 앱과 웹 모두에서 된다고 적혀 있어요. 왼쪽 아래 v1.112.1 표기처럼 예전 버전 화면이라 v3.3.3과 다를 수 있어요.
화면: immich-app/immich 공식 문서 이미지(v3.3.3 태그 커밋 d2dac658), Immich and contributors, AGPL-3.0. 웹 보관함·DB 복원 두 장은 깃밥이 너비 2000px로 줄여 WebP로 다시 저장했고, 나머지 네 장은 원본 파일 그대로예요. 버전 표기(v1.112.1, v2.4.1)가 보이는 화면처럼 예전 버전 화면이라 v3.3.3과 다를 수 있어요. 실제 인물의 얼굴이 담긴 문서 이미지는 쓰지 않았어요. 깃밥이 찍은 화면이 아니며, Immich가 깃밥을 보증하지 않아요.
03 · 바로 시작하기
서버를 먼저 켜고, 휴대폰 앱을 연결해요
Immich는 서버를 먼저 켜고 휴대폰 앱을 그 서버에 연결하는 순서예요. 공식 문서가 권장하는 방법은 Docker Compose이고, 설치 전에 데모 서버로 둘러볼 수도 있어요. 명령어 옆 복사 버튼을 누르고 서버의 터미널에 붙여넣으면 돼요.
원본 v3.3.3(2026-10-14 UTC 릴리스) 문서 기준 · 2026-10-19 확인 · 깃밥이 직접 설치하거나 실행해 보지는 않았어요. 공식 문서의 내려받기 주소는 고정 버전이 아니라 최신(latest) 릴리스를 가리키고, .env의 IMMICH_VERSION=v3도 v3 안의 새 버전을 따라가요. 그래서 오늘 받으면 v3.3.3보다 새 버전이 설치될 수 있어요. 깃밥 덧붙임: 이 글과 같은 버전으로 시험하려면 아래 'v3.3.3로 고정해 받기'를 쓰세요. 요구 사항은 RAM 최소 6GB(권장 8GB), CPU 최소 2코어(권장 4코어), amd64·arm64예요. v3부터 amd64의 머신러닝 컨테이너는 x86-64-v2 이상을 지원하는 CPU가 필요하고, RAM이 4GB뿐이면 머신러닝 기능을 끄고 돌릴 수 있다고 해요. 명령은 Compose 플러그인의 docker compose여야 하고, 예전 docker-compose는 지원하지 않아요. 섬네일과 변환 영상 때문에 보관함 크기가 평균 10~20% 늘어요.
공식 문서의 'Docker Compose [Recommended]' 순서예요. 1단계에서 폴더를 만들고 docker-compose.yml과 .env 두 파일을 받아요(브라우저로 받으면 example.env 이름을 .env로 바꿔요). 2단계에서 .env를 고치고(아래 '처음 할 일' 1번), 3단계에서 컨테이너를 백그라운드로 시작해요.
원문 명령은 latest 주소라 받는 날의 최신 릴리스 파일이 오고, .env의 IMMICH_VERSION=v3는 v3 안의 새 버전을 따라가요. 'unknown shorthand flag: 'd' in -d' 같은 오류가 나면 배포판의 오래된 Docker 패키지 때문일 수 있다며, 원문은 Docker 공식 설치 절차(오래된 버전 제거 포함)를 따르라고 해요.
깃밥이 문서 명령에서 latest 주소만 v3.3.3 릴리스 주소로 바꾼 조정판이에요. 깃밥이 확인한 v3.3.3 릴리스의 두 파일은 태그 커밋의 docker/docker-compose.yml·docker/example.env와 바이트까지 같고, ghcr.io에 v3.3.3 이미지 태그도 있어요. example.env의 주석도 IMMICH_VERSION을 특정 버전으로 고정할 수 있다고 적어요.
고정하면 새 버전이 저절로 받아지지 않아요. 올릴 때는 릴리스 노트를 읽고 IMMICH_VERSION을 바꾼 뒤 업데이트 명령을 실행하라고 원문(upgrading)이 안내해요. 아래 '업데이트할 때'를 보세요.
휴대폰 앱 (서버를 켠 다음)
서버가 켜져 있고, 휴대폰에서 그 서버 주소에 닿을 때
http://<machine-ip-address>:2283
앱은 App Store, Google Play, GitHub 릴리스(APK), Obtainium, FUTO F-Droid에서 받아요. 서버 주소로 로그인한 뒤 오른쪽 위 구름 아이콘에서 백업할 앨범을 고르고 Enable Backup을 누르면, 앱을 열거나 다시 돌아올 때와 백그라운드에서 주기적으로 새 사진·영상을 올려요.
기본은 Wi-Fi에서만 올려요. iOS는 백그라운드 앱 새로 고침을 켜야 하고, 백그라운드 업로드 시각은 앱이 아니라 iOS가 정해요(앱을 자주 열수록 자주 돌아요). 안드로이드는 일부 기종의 배터리 최적화가 백그라운드 작업을 막을 수 있어요.
데모 서버로 먼저 둘러보기
설치하기 전에 웹과 앱 화면을 먼저 보고 싶을 때
주소 (웹 · 앱의 Server Endpoint URL)
https://demo.immich.app
이메일
demo@immich.app
비밀번호
demo
README에 있는 공개 데모예요. 웹은 이 주소로 열고, 휴대폰 앱은 Server Endpoint URL에 같은 주소를 넣어 로그인해요.
깃밥 덧붙임: 여러 사람이 함께 쓰는 데모 계정이라 내 사진이나 개인 정보는 올리지 마세요.
받은 .env에서 세 가지를 고쳐요. UPLOAD_LOCATION은 여유 공간이 충분한 서버의 새 폴더로(기본값 ./library), DB_PASSWORD는 기본값 postgres 대신 A-Za-z0-9만 쓴 임의의 값으로, TZ= 줄은 앞의 #을 지워 시간대를 정해요. 깃밥 덧붙임: 한국이면 TZ=Asia/Seoul이에요. 이 글과 같은 버전으로 맞추려면 IMMICH_VERSION=v3.3.3으로 바꿔요.
브라우저로 접속해 관리자 등록
<machine-ip-address>를 서버 IP로 바꿔 열고 Getting Started를 눌러요. 처음 가입한 사용자가 관리자가 되고, 가족 계정은 관리자가 추가해요. 깃밥 덧붙임: 이 화면이 열리면 서버가 응답한다는 뜻이에요.
http://<machine-ip-address>:2283
안 열리면 컨테이너 확인
원문 Docker 도움말의 명령이에요. 돌고 있는 컨테이너 목록과 서버 컨테이너(immich_server)의 로그를 봐요. 로그를 계속 보려면 --follow를 붙여요.
docker ps
docker logs immich_server
휴대폰 앱 연결
앱을 받아 로그인 화면에 같은 서버 주소를 넣어요. 원문처럼 웹에서 사진을 한 장 올려 두었다면, 그 사진이 앱에도 보일 때 연결된 거예요.
백업 켜기
오른쪽 위 구름 아이콘 → 올릴 앨범 고르기(두 번 누르면 제외) → 맨 아래 Enable Backup. 고른 앨범의 사진·영상을 올리기 시작해요. 사진이 많으면 오래 걸려서, 원문은 몇 장만 골라 먼저 올리는 방법도 안내해요. 처리 상황은 웹 관리 화면의 Job Queues에서 볼 수 있어요.
업데이트할 때
새 버전이 나오면 릴리스 노트의 호환성이 깨지는 변경(breaking changes)을 먼저 확인하고, .env에서 IMMICH_VERSION을 쓰고 있다면 원하는 버전으로 바꾼 뒤 docker-compose.yml이 있는 폴더에서 실행하라고 원문이 안내해요.
업데이트하고 다시 시작
docker compose pull && docker compose up -d
깃밥 덧붙임: 올리기 전에 DB 백업과 UPLOAD_LOCATION 사본이 있는지 먼저 확인하세요.
켜기 전에 꼭 알아둘 것
서버는 Linux를 권장해요. 그 밖의 OS는 Docker 사용 경험이 나빠 '강력히 비권장'이고 설치·문제 해결 지원도 크게 줄어든다고 원문이 적어요(Windows·macOS는 Docker Desktop으로 시도할 수는 있어요). DB 폴더(DB_DATA_LOCATION)는 로컬 SSD에 두고, 어떤 종류든 네트워크 공유에는 두지 말라고 해요.
DB에는 메타데이터와 사용자 정보만 들어 있어요. 사진·영상 원본이 있는 UPLOAD_LOCATION은 직접 따로 백업해야 한다고 원문이 경고해요. 자동 DB 백업(기본: 매일 새벽 2시, 최근 14개 보관)은 UPLOAD_LOCATION/backups에 쌓이지만 사진·영상은 들어 있지 않아요. README도 3-2-1 백업을 늘 지키라고 해요.
docker compose down -v는 Immich 데이터를 모두 지우는 명령이에요. 원문 복원 안내에 'CAUTION! Deletes all Immich data'라는 주석과 함께 들어 있으니 그대로 복사해 실행하지 마세요. 관리 화면의 DB 복원도 현재 DB를 지우고 백업으로 바꿔요.
2283 포트를 인터넷에 직접 포워딩하지 말라고 원문이 경고해요. 웹 화면이 암호화 없는 http로 드러나 중간자 공격에 노출된다는 이유예요. 밖에서 쓰려면 원격 접속 안내(VPN 등)를 먼저 읽으세요. 깃밥 덧붙임: 기본 docker-compose.yml은 '2283:2283'으로 포트를 열어서, 같은 네트워크의 다른 기기도 이 주소로 접속할 수 있어요.
이미 정리한 폴더를 외부 라이브러리로 붙일 때는 마운트 줄 끝에 :ro(읽기 전용)를 붙이세요. 원문 예시는 :ro가 없으면 Immich가 그 폴더의 파일을 지울 수 있다고 적어요. 또 라이브러리 안에서 파일을 옮긴 뒤 다시 스캔하면 Immich에서 더한 앨범·설명 같은 메타데이터를 잃는다고 해요.
UPLOAD_LOCATION 안의 파일은 백업할 때 말고는 절대 건드리지 말라고 원문이 적어요. 파일을 바꾸거나 지우면 추적되지 않거나 사라진 파일이 생긴다는 이유예요. 백업은 서버 컨테이너를 멈추고 하거나, 멈출 수 없으면 DB를 먼저, 파일을 나중에 받으라고 해요.
앱의 Free Up Space(공간 확보)는 서버에 백업된 사진·영상의 휴대폰 사본을 기기 휴지통으로 옮겨요. 원문은 서버가 정상이고 백업돼 있다면 지운 사진을 앱에서 계속 볼 수 있다고 적어요. iCloud 사진을 함께 쓰면 양방향 동기화라 iCloud와 같은 Apple 계정의 다른 기기에서도 지워진다고 원문이 경고해요(iCloud를 보조 백업으로 쓴다면 대신 'iPhone 저장 공간 최적화'를 쓰라고 해요). 깃밥 덧붙임: 서버 백업과 복원을 확인하기 전에는 쓰지 마세요.
설치 스크립트(install.sh를 bash로 바로 실행하는 방법)는 원문이 '실험적'이라 운영용으로 권하지 않는다고 적어서, 이 페이지에서는 다루지 않아요.
AI 앱에게 설치를 맡기려면
아래 명령문을 Claude Code나 Codex에 붙여넣으면, 고정된 v3.3.3 문서와 릴리스 파일로 서버만 켜고, Docker 설치·저장 위치·버전·외부 공개 전에는 먼저 물어봐요. 데이터를 지우는 명령은 동의 없이 쓰지 않게 했어요. 명령문은 깃밥이 공식 문서를 바탕으로 썼어요.