[가이드] 구글 포토 탈출! 평생 무료인 나만의 프라이빗 사진 서버 Docker를 활용한 Immich 구축하기

Immich

Self-hosted photo and video management solution

 

휴대폰으로 사진과 동영상을 편하게 찍고 보관해왔습니다.

하지만 휴대폰 저장소의 크기에는 한계가 있고, 용량이 커지다 보니 어디로 옮기기도 힘들어졌습니다.

처음에는 제조사에서 제공하는 클라우드 서비스를 이용했지만, 쌓이는 사진만큼 비용 문제도 커지면서 다른 대체제를 찾게 되었습니다.

안드로이드 폰을 쓰고 있었기에, 구글 포토와 비슷한 경험을 주는 앱을 찾던 와중에 Immich를 알게 되었습니다.

막상 설치부터 설정까지 직접 해보니, 한 시간 남짓? 걸린 것 같습니다.

모든 과정을 끝내고 나니 '이렇게 쉬운데 진작 해볼걸' 하는 생각이 가장 먼저 들었습니다.

이 글에서는 제가 경험한 그 과정을 처음부터 끝까지 공유해 보려고 합니다.



환경 구축을 위해서 사전 준비

  • Ubuntu 22.04.5 LTS
    • 방화벽 설정
    • Docker, Docker Compose 환경
  • iptime
    • ddns 설정
    • 포트 포워드 설정


immich 설치 & 초기 설정

우분투 환경


cd ~

mkdir immich-app

cd immich-app

wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml

wget https://github.com/immich-app/immich/releases/latest/download/example.env -O .env

혹시 unable to resolve host address ‘github.com’ 이와 같은 에러가 발생한다면?

외부 네트워크 연결에 문제가 있는지 살펴 보기

저는 dns 설정이 잘못 되어 있어서 아래 명령으로 수정 했습니다.


echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

docker-compose.yml, .env 파일을 다운로드 받았으면 개인 필요에 따라서 설정을 합니다.

docker-compose.yml 이 .env의 설정을 이용하기 때문에 .env 에 필요한 설정만 바꿔주면 됩니다.

  • UPLOAD_LOCATION: 실제 사진과 동영상 원본 파일이 저장되는 서버의 폴더 경로 (절대 경로 사용)
    • sudo mkdir -p /mnt/immich-data/library # 폴더 생성하고 이 경로로 지정 합니다.
  • DB_PASSWORD: immich가 사용하는 postgres 데이터 베이스의 비밀번호, 원하는 대로 설정
  • TZ: 타임존 설정 TZ=Asia/Seoul 로 지정 합니다.


sudo docker compose up -d

immich Web 설정

외부에서 접속을 해야 하기 때문에 우분투 방화벽에서 immich가 사용하는 포트를 열어줘야 한다.

기본 포트는 2283이고 저는 ufw로 관리 중이기 때문에 아래 명령을 사용해서 포트를 열어줍니다.


sudo ufw allow ssh

sudo ufw allow 22/tcp

sudo ufw allow 2283/tcp

sudo ufw enable # 이미 활성화 되어 있다면 필요 없음

sudo ufw status # 확인

iptime ddns 설정, 포트 포워드 설정

iptime 포트 포워드 메뉴에서 외부 포트와 내부 포트(2283)를 엮는 포트 포워드 설정을 추가 한다

설정이 완료 되었으면 immich 웹 페이지로 접속을 한다.

http://{iptime_ddns_name}.iptime.org:2283

접속을 하면 초기 사용자 계정 생성 설정을 마무리 하면 사용을 할 수 있다.

immich App 설정

구글 play store에 접속해서 immich app을 설치 & 실행한다.

처음 접속시 endpoint 입력 창이 나오면 위에서 접속했던 웹 페이지 주소를 입력한다.

App 사용시 휴대폰 사진 폴더에 접속 할 수 있도록 권한을 지정한다.

이제 백업 설정을 해주게 되면 휴대폰의 사진이 immich 서버로 전송되며 동기화가 진행된다.

끝으로...

immich를 설정하고 휴대폰의 파일을 동기화 시키는건 크게 어렵지 않았다.

하지만 이제 마찬가지로 데이터가 쌓이면 하드 디스크를 교체해 주어야 하는데...

아~~~ 이것도 일이구나. ㅋㅋㅋ

댓글