홈랩 프로젝트#2: 현재 운영중인 장비와 구조
소개
얼마 전에 미뤄뒀던 DigitalOcean의 리소스를 홈랩으로 모두 옮기는 작업을 마무리했어요. 가장 큰 계기는 사이드 프로젝트로 만든 서비스는 거의 혼자 쓰고 있는데, 이것저것 욕심에 붙인 기능들 때문에 비용 부담을 느끼게 된 것이 가장 큰 이유였어요. 다행히 서비스는 Kamal 기반의 배포를 하고 있어서 쉽게 이전을 할 수 있었어요. 클라우드에서 모든 리소스를 제거하고 나니 홈랩을 그래도 잘 쓰고 있다는 생각이 들어서 이번에는 현재 운영 중인 장비와 구조를 남겨두면 좋겠다는 생각이 들었고 이 포스트에 정리를 해두려고 해요.
현재 사용 중인 장비
현재 장비는 크게 2가지를 사용하고 있어요.
Synology NAS 224+
휴직을 하면서 고민 많이 하고 투자한 NAS인데 주 목적은 아래와 같아요.
- iCloud와 Google Drive에서 탈출하기 위한 스토리지
- Reverse Proxy 역할
- Container Manager를 통한 Docker 서비스 운영
이 장비의 스펙을 정리해 보면 Intel Celeron J4125로 4코어 CPU이고 기본 시스템 메모리는 2GB 정도예요. 최대 메모리 용량이 홈페이지에는 6GB (2+4)로 나와있지만 찾아보니 16GB도 인식되고 사용하는데 문제가 없다는 글이 많아서 저는 총 18GB 메모리를 확보해서 사용하고 있어요. 스토리지의 경우에는 NAS 도입을 한 번 시도했다가 망한 경험이 있어서 2TB + 2TB를 레이드로 묶어서 2TB로 사용 중이에요. 아래의 서비스들을 도커 이미지로 올려서 사용하고 있어요.
- portainer: Docker 컨테이너를 쉽게 관리할 수 있는 웹 기반 관리 도구를 제공
- pi-hole: 네트워크 광고 차단 기능 제공
- homebox: 홈 인벤토리 관리 도구를 제공
- grafana: 모니터링 데이터 시각화 도구를 제공
- prometheus: 시스템 및 애플리케이션 성능 데이터를 수집하고 모니터링하는 도구를 제공
- exporters
homelab-build - Ubuntu 24.04 LTS
이 장비는 아버지가 10년 전에 쓰시던 컴퓨터를 최근에 써보려고 했는데 너무 느려서 못쓰시겠다고 해서 가져온 데스크톱이에요.
사양
- Intel Core i3 4170
- DDR3 16GB (원래 4GB에서 메인보드 지원 최대 크기로 업그레이드 했어요)
- 500GB SATA
- 380W Power supply
윈도우를 올려서 사용할 때는 뭔가 갑갑한 느낌이 있었지만 Ubuntu를 설치하고 서버로 쓴다고 생각하니 이만큼 든든한 스펙이 없더라고요. 정말 동급의 사양인지는 확신할 수 없지만 유사하게 4 CPUs, 16GB의 가상머신을 클라우드에 올리려면 한 달에 약 17만 원은 드는 비용이니까요. (DigitalOcean 기준 $126/mo) 이 스펙의 장비를 당근마켓에서 찾아보면 5만 원 안쪽으로 구할 수 있다는 점이 클라우드와 그렇지 않은 것의 비용적인 차이라는 생각을 크게 느꼈어요. 이 장비도 NAS와 마찬가지로 아래 서비스들을 도커 이미지로 올려서 사용하고 있어요
- 개인 서비스
- Ruby on Rails webapp
- Sidekiq
- mysql
- redis
- traefik
- n8n: 자동화 워크플로우를 구성할 수 있는 도구를 제공
- portainer-agent
Network
이 부분은 좀 더 공부하고 보완할 점이 많다고 생각하는데, 현재는 모든 도메인의 트래픽은 Cloudflare를 거쳐서 받고 있고, DNS proxy를 통해 집 공유기로 요청을 받아서 NAS가 Reverse Proxy를 해서 전달하는 구조를 가지고 있어요. Synology에서 인증서를 설정하고 관리하는 부분에서 삽질을 한 부분 때문에 DNS Only와 Proxy가 섞여있지만 Proxy로 받는 게 더 안전하다고 생각해서 모두 통일할 예정이에요.
계획
앞으로 추가할 개인 서비스는 모두 homelab-build에 올릴 예정인데, 제가 배포 도구로 사용하고 있는 Kamal이 현재는 한 서버에 하나의 서비스만 동작하도록 되어 있지만 조만간 여러 서비스를 구동시킬 수 있도록 개선될 예정이라고 해요. 유튜브에서 홈랩 관련 영상을 보면 다양한 오픈소스 도구와 대시보드를 적극 활용하는 사례들을 많이 볼 수 있는데, 저는 아직 그 정도로 장비를 무겁게 사용하지 않고 홈 네트워크 장비도 많지 않아요. 그래서 사이드 프로젝트를 효율적으로 운영하고 비용을 절감하는 것을 목표로 홈랩을 꾸준히 개선해 나갈 계획이에요.
마무리
향후 개인 서비스 추가와 네트워크 보완 작업을 통해 홈랩의 효율성을 높여갈 예정이에요. 이번 포스트에서 소개한 장비와 서비스들은 이러한 과정의 일부로, 앞으로도 다양한 경험을 공유하고자 해요.