- 2018년에 조립한 게이밍 PC를 홈서버로 전환하여 데이터 저장, 백업, 셀프호스팅 앱 운영 환경을 구축한 경험 공유
- TrueNAS Community Edition을 설치하고, 8TB HDD 2개를 RAID 1으로 구성해 데이터 이중화
- Immich, Backrest, Scrutiny, Mealie, Ollama 등 오픈소스 셀프호스팅 앱을 활용해 사진 관리, 백업, 드라이브 모니터링, 레시피 관리, LLM 실행까지 커버
- 외부 접속은 Tailscale VPN으로 처리하며, 향후 커스텀 도메인 설정을 통한 서비스 접근성 개선 계획
하드웨어 구성
- 2018년에 조립한 게이밍 PC를 그대로 재활용
- CPU: AMD Ryzen 5 2600X (6코어 3.6GHz)
- 메인보드: ASRock B450 Pro4 ATX AM4
- RAM: G.Skill Flare X 16GB DDR4-3200 (2x8GB)
- GPU: EVGA GeForce GTX 1070 Ti 8GB
- 케이스: Fractal Design Meshify C
- PSU: SeaSonic PRIME Gold 650W
- 스토리지 구성
- HDD: Western Digital Red Plus 8TB 2개 (겨울 연휴에 구매)
- SSD: Samsung 850 Evo 500GB (빠른 읽기/쓰기가 필요한 셀프호스팅 앱용)
- NVMe: Western Digital Blue SN550 500GB (TrueNAS OS 설치용)
TrueNAS 운영체제
- NVMe 드라이브에 TrueNAS Community Edition(버전 25.10.1, Goldeye)을 설치
- Linux 기반 NAS 특화 운영체제로, 네트워크상의 모든 기기에서 파일 저장소에 접근 가능
-
스냅샷 기능 제공으로 데이터 손실 방지 가능
- 실수로 파일을 삭제해도 해당 파일을 포함한 이전 스냅샷에서 복구 가능
- 파일이 진정으로 삭제되려면 해당 파일을 포함한 스냅샷이 시스템에 하나도 없어야 함
- 시간별, 일별, 주별 스냅샷을 자동 생성하고, 일정 기간 경과 후 오래된 스냅샷 자동 삭제로 저장 공간 절약
- 8TB HDD 2개를 RAID 1(미러링) 으로 구성하여, 한 드라이브가 고장나도 데이터 온전히 보존
셀프호스팅 앱
-
Scrutiny
- 스토리지 드라이브 상태를 모니터링하는 웹 대시보드
- HDD와 SSD에 내장된 S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) 펌웨어가 수집하는 온도, 가동 시간, 읽기 오류 등의 메트릭을 읽어 시각화
- 히스토리컬 트렌드를 대시보드로 보여줘 드라이브 장애 조기 감지 가능
-
Backrest
- restic(커맨드라인 백업 도구)의 웹 프론트엔드
- Backblaze B2 오브젝트 스토리지 버킷에 일일 백업을 자동 저장하도록 설정
-
Immich
- 사진·영상 관리를 위한 가장 인기 있는 오픈소스 셀프호스팅 앱 중 하나
- iOS/Android 앱을 통해 모바일 기기의 사진·영상 자동 백업 지원
- Google Photos나 iCloud 의존도를 줄이고 싶은 경우에 적합하며, 현재 휴대폰 사진·영상 백업에 활용 중
-
Mealie
- 레시피 관리 도구로 밀프렙(식사 준비) 경험을 크게 개선
- NYT Cooking 같은 사이트에서 발견한 레시피를 URL만 입력하면 재료와 조리법을 자동 스크래핑하여 라이브러리에 저장
- 나중에 시도하고 싶은 온라인 레시피를 쉽게 추적·관리 가능
-
Ollama
- 다양한 AI 모델을 실행하기 위한 백엔드
-
qwen3.5:4b,gemma3:4b같은 LLM과qwen3-embedding:4b같은 벡터 임베딩 모델을 실행 - 모든 모델이 GPU의 8GB VRAM에 들어갈 만큼 작은 크기
- 노트북 대신 홈랩에서 모델 실행 작업을 오프로드할 수 있는 장점
원격 접속
- 외부에서는 Tailscale(플러그앤플레이 VPN 서비스)을 사용해 데이터와 셀프호스팅 앱에 원격 접근
- Tailscale은 WireGuard 위에 구축되어 홈 네트워크로의 보안 터널 제공
- 홈랩 PC를 퍼블릭 인터넷에 노출할 필요 없음
- 원격 접근하려는 모든 기기에 Tailscale 앱 설치 후 네트워크 인증 필요
향후 계획
- 현재 앱 접근 시 머신의 IP 주소 + 포트 번호 조합을 직접 입력해야 하는 상태
- 모든 서비스가 동일 IP를 공유하기 때문에 패스워드 매니저가 각 서비스의 로그인 정보를 구분하지 못하는 문제 존재
- 향후 모든 서비스에 커스텀 도메인 이름을 부여해 접근성과 관리 효율을 향상할 계획