🔥 벙커 대신 홈랩: 한 개발자의 2026년 셀프호스팅 구축기
강의 목차

밤 1시에 Hacker News를 뒤적이다가 이 글을 발견했다. 제목은 "State of Homelab 2026". 어떤 개발자가 자기 홈랩을 통째로 공개한 글인데, 첫 문장부터 벙커 이야기가 나온다. 태양광 패널, 발전기, 메쉬 네트워크, 스타링크 안테나를 갖춘 벙커. 본인도 "남자들의 판타지"라고 인정하면서. 그 문장을 읽고 커피를 한 잔 더 내렸다. 나도 가끔 그런 생각을 하거든.
글쓴이는 Andrei Sviridov. 벙커 대신 홈랩을 택한 개발자다. 17분짜리 긴 글인데, 하드웨어 선택부터 네트워크 아키텍처, 비밀 관리, 서비스 목록, 모니터링까지 빠짐없이 다룬다. 읽으면서 계속 고개를 끄덕였다.
미니 PC 한 대에서 시작된 인프라
Andrei의 홈랩은 OrangePi 5에서 시작했다. 라즈베리 파이보다 CPU가 강력하고 가격이 저렴한 중국산 SBC다. 하지만 전원 관리 문제와 USB 스토리지 불안정 때문에 결국 GMKTec NucBox M5로 갈아탔다. AMD Ryzen 7 5700U에 32GB RAM, 1TB NVMe. M2 슬롯 두 개로 확장도 가능하다.
2026년 홈랩 씬에서 미니 PC는 완전히 자리잡았다. GMKTec만 봐도 인텔 Core Ultra 7을 탑재한 모델까지 나왔고, 풀로드 기준 전력 소비가 20와트 안팎이다. 전기세 걱정 없이 24시간 돌릴 수 있는 수준.
여기에 안정성이 필요한 서비스를 위해 Hetzner VPS를 월 7유로에 따로 빌린다. NAS는 아직 없다. Syncthing으로 중요한 데이터를 기기 간 동기화하면서 버티는 중이다. Andrei의 표현이 좋다: "완벽한 솔루션보다 삽질하는 과정이 더 재밌다."
포트를 하나도 열지 않는 네트워크
홈랩의 영원한 숙제는 외부 접속이다. 고정 IP는 돈이 들고, 포트를 열면 보안 리스크가 생긴다.
Andrei의 답은 Cloudflare Tunnel이다. 서버에서 cloudflared 바이너리 하나를 실행하면 Cloudflare 네트워크로 아웃바운드 전용 연결이 만들어진다. 방화벽에 인바운드 포트를 여는 게 아니라, 서버가 먼저 손을 내미는 구조다. 그런데 이게 무료다. 무제한 대역폭에 자동 SSL, DDoS 방어까지 포함된다. Andrei도 쓰면서 의아해한다: "Cloudflare가 이걸 무료로 제공하는 게 어떻게 가능한 건지 모르겠다."
리버스 프록시는 Traefik이다. Docker를 네이티브로 인식해서 컨테이너에 레이블만 붙이면 라우팅이 자동으로 잡힌다. 설정 파일을 손댈 일이 거의 없다.
인증 레이어는 Authentik. 셀프호스팅 SSO 플랫폼인데, 설정을 YAML 블루프린트로 저장할 수 있다. "인프라를 코드로 관리하겠다"는 원칙에 딱 맞는 도구다. 2026년 기준으로 Keycloak의 학습 곡선이 부담스러운 홈랩 운영자들 사이에서 기본 추천으로 자리잡았다.
Ansible과 SOPS로 만든 1인 IaC
인프라를 코드로 관리하겠다는 건 말은 쉬운데 혼자서 하려면 도구 선택이 중요하다. Andrei는 Ansible을 택했다. SSH만 있으면 동작하고, YAML로 설정을 선언적으로 관리한다. 각 서비스가 독립적인 "role"로 정의돼 있어서 추가나 제거가 깔끔하다.
Ansible의 단점도 솔직하게 인정한다. 문서가 방대하고, DSL이 장황하며, 보일러플레이트가 많다. 그래도 "익숙하고 동작하니까"라는 게 그의 이유다. NixOS로 재현 가능한 빌드를 만들거나 Talos로 k8s 클러스터를 구성하는 것도 고려했지만, 싱글 머신에서 쿠버네티스를 관리할 의욕까지는 없었다고.
비밀 관리가 흥미롭다. SOPS와 age 조합을 쓴다. SOPS는 YAML 파일에서 값만 암호화하고 키 이름은 그대로 둔다. 그래서 Git diff가 실제로 동작한다. Ansible Vault은 파일 전체를 암호화해서 diff가 무의미해지는 문제가 있는데, SOPS는 이걸 깔끔하게 해결한다.
# 암호화된 시크릿 파일 (키는 보이고, 값만 암호화)
postgres_password: ENC[AES256_GCM,data:xB7j...,tag:pL9...]
cloudflare_api_token: ENC[AES256_GCM,data:kM3n...,tag:qW8...]
authentik_secret_key: ENC[AES256_GCM,data:vN2m...,tag:rT5...]# 암호화된 시크릿 파일 (키는 보이고, 값만 암호화)
postgres_password: ENC[AES256_GCM,data:xB7j...,tag:pL9...]
cloudflare_api_token: ENC[AES256_GCM,data:kM3n...,tag:qW8...]
authentik_secret_key: ENC[AES256_GCM,data:vN2m...,tag:rT5...]age는 "PGP 없이 암호화를 쉽게 만들면?"이라는 질문에 대한 답 같은 도구다. 키 하나 생성하면 끝이고, Ansible이 실행 시 자동으로 복호화한다. 혼자 운영하는 홈랩에서 "모든 것을 Git에 저장하되 비밀은 지킨다"는 원칙을 지키기에 딱 맞는 수준의 복잡도다.
돌아가는 서비스들
서비스 목록이 꽤 풍성하다.
미디어. Prowlarr, Radarr, Lidarr 등 *arr 스택이 인덱싱부터 다운로드 관리까지 자동화하고, Transmission이 실제 다운로드를 처리한다. 이렇게 모은 콘텐츠는 Jellyfin으로 스트리밍한다. Plex와 달리 완전 오픈소스이고 클라우드 계정이 필요 없다. 2026년 r/selfhosted 커뮤니티 설문에서 Jellyfin이 셀프호스팅 미디어 서버 점유율 51.2%로 Plex를 처음 앞질렀다. 음악 스트리밍은 Navidrome가 담당한다.
사진과 파일. Immich가 Google Photos를 대체한다. 자동 백업, 얼굴 인식, EXIF 추출, 위치 기반 탐색까지. 2026년 3월에 릴리스된 2.6 버전에서 150개 이상의 개선이 이루어졌다. MinIO로 S3 호환 오브젝트 스토리지도 운영한다.
AI와 정보. LibreChat로 셀프호스팅 AI 채팅을 구성했는데, Claude Code가 더 편해서 드롭할까 고민 중이라고. 이 부분은 나도 공감한다. Miniflux는 미니멀 RSS 리더로, 약 50개 피드를 알고리즘 없이 시간순으로 보여준다.
직접 만든 것들. Go로 만든 하이라이트 내보내기 도구는 KOReader, Readwise, Apple Books의 하이라이트를 Obsidian 마크다운으로 변환한다. 텔레그램 봇도 돌리고, 체스 실수 훈련 웹앱도 곧 오픈소스로 공개할 예정이다.
Grafana 대신 Beszel을 선택한 이유
모니터링에서 눈길을 끈 선택이 있다. Grafana 스택을 시도했지만 "두 대 머신의 기본 OS 통계를 보는 데 너무 과하다"는 결론에 도달했다. Glances도 만족스럽지 않았다.
그러다 Beszel을 발견한다. 에이전트가 10MB RAM만 차지하고, SSH 키 교환 외에 설정이 필요 없다. 기본 대시보드가 CPU, 메모리, 디스크, 네트워크, Docker 컨테이너 상태를 깔끔하게 보여준다. Grafana+Prometheus의 유연함은 없지만, 홈랩에서 궁금한 건 "지금 디스크가 얼마나 찼는가"이지 "지난 6개월간의 p99 레이턴시"가 아니니까.
외부 서비스 모니터링은 Statsping이 맡는다. Hetzner 클라우드 머신에서 돌려서 홈랩이 통째로 죽어도 모니터링은 살아있게 분리했다. 이 아이디어가 영리하다.
솔직하게 인정한 부족한 점들
이 글에서 제일 좋은 부분은 솔직함이다.
백업이 없다. NVMe 하나에 모든 데이터가 있고, restic을 고려하고 있지만 하드웨어 세팅을 아직 못 잡았다. RAID도 없다. 디스크가 죽으면 데이터도 간다. Cloudflare에 의존한다. 2025년 11월 Cloudflare 장애 같은 일이 반복되면 인프라 접근이 통째로 끊긴다. GitOps는 없다. Ansible 플레이북은 손으로 실행한다.
이 목록이 오히려 이 글을 신뢰하게 만든다. 프로덕션이 아니라 학습과 즐거움을 위한 공간이라는 걸 아는 사람의 글이다.
읽고 나서
Andrei가 결론에서 쓴 문장이 계속 맴돈다: "벤더 잠금도 없고, 약관이 갑자기 바뀌는 일도 없고, 알고리즘이 내가 뭘 읽을지 정하는 것도 없다. 완벽하진 않지만 내 것이다."
이전까지 홈랩은 "시간이 넘치는 사람들의 취미"라고 생각했는데, 이 글을 읽으면서 생각이 좀 바뀌었다. Cloudflare Tunnel 하나면 포트를 안 열어도 외부 접속이 되고, Docker Compose 파일 몇 개면 서비스가 올라간다. SOPS로 시크릿도 Git에 안전하게 넣을 수 있다. 진입 장벽이 내가 생각한 것보다 훨씬 낮아져 있었다.
이번 주말에 안 쓰는 미니 PC를 꺼내서 Docker부터 깔아볼 생각이다. 벙커는 아직 먼 이야기지만, 홈랩이라면 지금 당장 시작할 수 있으니까.
참고 자료
- State of Homelab 2026 — Andrei Sviridov의 홈랩 구축기 원문
- Cloudflare Tunnel 공식 문서 — 무료 터널 설정 가이드
- SOPS GitHub — Git 친화적 시크릿 관리 도구
- Beszel — 경량 서버 모니터링 플랫폼
- Immich — 셀프호스팅 Google Photos 대안
- Authentik — 오픈소스 SSO/IdP 플랫폼










