[NAS] 자작나스 NAS DIY 구축 - UNRAID 및 포토앱 구축

반응형

자작나스의 OS로 UNRAID를 설치했는데 하드웨어 구성을 마치고 휴대폰과 카메라의 사진과 동영상을 관리할 수 있는 어플로 IMMICH를 설정해 보겠습니다.

 

1. 디스크 어레이 및 풀 설정

UNRAID에서 디스크 어레이는 하드디스크 여러 개를 하나의 어레이로 묶고 패리티 디스크를 2개까지 설정할 수 있습니다.

(디스크 2개까지 고장 허용) 어레이는 1개만 구성할 수 있으며 풀은 여러개를 구성할 수 있습니다. 어레이는 하드디스크, Pool은 SSD를 권장하며 Pool을 구성하면 캐시로 활용하거나 도커나 VM 이미지를 빠르게 구동할 수 있습니다. 캐시의 파일시스템을 BTRFS로 설정시 디스크 사이즈가 일치하지 않아도 RAID1으로 구성하여 사용할 수 있습니다. UNRAID의 디스크 어레이는 일정시간 미사용시 하드디스크를 정지시킬 수 있어 전력을 절감하는데 유리합니다. 캐시를 구성해두면 쌓이는 데이터를 캐시에 담아뒀다가 지정한 시각에 배치작업으로 디스크를 사용합니다.

디스크 어레이 및 캐시풀 설정

하드디스크가 유휴상태(standby)일 때는 TEMP, SMART는 미표기입니다.

 

2. SHARES 폴더 생성 및 설정

UNRAID를 설치하면 appdata, domains, isos, system shares가 기본으로 생성됩니다. system shares에는 docker 이미지 파일이 생성되며 database의 datafile 등은 appdata에 생성하면 빠른 구동이 가능합니다. 

실제 사진과 영상 파일이 저장될 공간은 디스크 어레이에 gallery 이름으로 생성하였습니다. ssd 캐시를 지정했는데 지정하지 않고 바로 어레이에 기록하도록 설정해도 됩니다. 캐시를 지정하면 사진을 저장할 때 디스크를 구동하지 않고 모아뒀다가 정해진 시각에 배치작업으로 복사합니다. 

gallery array

 

그리고 갤러리 shares 하위에 immich 폴더를 추가 생성합니다. immich 앱의 데이터 경로로 잡아주기 위함입니다.

이를 위해서는 갤러리 shares의 "SMB Security Settings"에서 Export 설정을 "Yes"로 바꾸고 PC에서 네트워크 드라이브를 연결해야 합니다. Security를 private으로 설정하면 지정된 사용자만 접근할 수 있습니다.

smb 설정

gallery shares를 네트워크 드라이브 연결 후 "immich" 폴더를 생성하였습니다.

immich 구동에 postgresql이 추가로 설치되는데 pgdata 경로설정을 위하여 캐시풀 영역인 appdata 경로에 immich_pgdata 폴더를 생성하였습니다.

immich folder
캐시풀 영역 appdata 하위에 immich_pgdata 생성

3. IMMICH 앱 설치

immich는 개인 클라우드 스토리지 솔루션으로서 사진과 동영상을 백업하고 관리할 수 있도록 도와주는 오픈 소스 앱입니다. 다음의 공식 홈페이지를 참조하시기 바랍니다.

https://immich.app/

 

Home | Immich

immich Self-hosted photo and video backup solution directly from your mobile phone

immich.app

 

UNRAID에서 immich를 사용하는 방법은 UNRAID 커뮤니티 앱을 설치하거나 IMMICH가 제공하는 도커를 설치하여 구동하는 방법이 있습니다. 도커 방식을 사용하기 위해 먼저 UNRAID에 도커 구성관리 플러그인 도커컴포즈를 설치합니다. 도커 컴포즈 공식 문서페이지는 다음과 같습니다.

https://docs.docker.com/compose/

 

Docker Compose overview

Learn how to use Docker Compose to define and run multi-container applications with this detailed introduction to the tool.

docs.docker.com

3.1. docker compose manager 설치

UNRAID의 APPS 탭에서 "Community Applications plugin"을 먼저 설치하면 앱 플러그인을 통해 도커컴포즈를 설치할 수 있습니다. APPS 탭의 검색창에 "docker compose manager"를 입력하면 설치 아이콘이 나타납니다.

Docker Compose Manager 설치

3.2. Immich Stack 추가

PLUGINS 탭에서 Compose.Manager 아이콘 클릭으로 매니저 화면 진입 후 "Add New Compose Stack" 창을 띄우고 immich의 스택을 추가해 줍니다. 이렇게 추가한 스택 설정파일은 USB 메모리 스틱에 저장됩니다.

Compose Manager 플러그인
Add New Compose Stack

 

3.3. Compose File 수정

추가된 immich 스택 화면에서 설정버튼(톱니바퀴 아이콘)을 누르고 "Edit Stack"을 누릅니다. 그리고 수정할 스택 목록에서 "COMPOSE FILE"을 클릭합니다.

EDIT Immich Stack

 

그리고 다음 링크의 immich docker compose yml 파일 전체를 붙여넣기 합니다. 붙여넣기 전에 기존에 있는 내용은 전부 삭제하고 새로 붙여 넣습니다. 그리고 저장버튼을 누르는데 이 때 발생하는 UI 라벨 설정창은 무시하고 확인을 누릅니다.

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

 

UNRAID 버전 6.12.11기준으로 도커엔진 버전이 24인데 immich의 최신 컴포즈파일은 도커엔진 버전 25기준으로 작성되어 있습니다. 24버전에서 지원되지 않는 DB 헬스체크 부분 "start_interval"과 "start_period" 항목은 주석처리합니다. DB 도커가 먼저 올라오고 immich가 올라가야 하는데 서로 동기화가 안되는 단점은 감수해야 합니다.

immich compose file 수정

3.4. Env File 수정

"Edit Stack" 창에서 "Env File"을 클릭합니다. 그리고 다음 링크의 immich env 파일 내용을 그대로 복사 붙여넣기 합니다.

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

 

그리고 다음 옵션 항목을 설정(수정)합니다.

  • UPLOAD_LOCATION: 앞서 생성한 "gallery" shares 내의 "immich" 폴더 경로를 확인 후 절대경로로 적어줍니다.
  • DB_DATA_LOCATION: 앞서 생성한 "appdata" shares 내의 "immich_pgdata" 폴더 경로를 확인 후 절대경로로 적어줍니다.

shares > gallery > immich 경로 확인
immich.env 변경 사항

3.5. immich 도커 생성

Docker 탭에 생성되어 있는 immich 의 명령 버튼에 "COMPOSE UP"이 있습니다. 이 버튼을 누르면 도커 생성작업을 시작합니다. 완료 화면이 뜰 때까지 대기 후 완료되면 "DONE" 버튼을 누르고 다시 Docker 탭 화면으로 이동합니다.

Compose Up
Docker COMPOSE 완료 화면

3.6. immich 관리 페이지 접속

도커 목록에서 immich_server의 포트매핑 정보를 확인 후 브라우저로 접속했을 때 immich 환영페이지가 뜨면 정상입니다.

docker port mappings
immich welcome page

레퍼런스

https://www.youtube.com/watch?v=LtNWxxM5Mzg

 

https://immich.app/docs/install/post-install/

 

Post Install Steps | Immich

A list of common steps to take after installing Immich include:

immich.app

https://immich.app/docs/install/unraid

 

Unraid | Immich

Immich can easily be installed and updated on Unraid via:

immich.app

 

반응형

'Tech' 카테고리의 다른 글

[NAS] 자작나스 NAS DIY 구축 - 하드웨어 조립  (1) 2024.07.27