내 Homelab은 유지보수하지 않는다
(cleberg.net)- 개인 Homelab 운영 부담을 줄이기 위해 단일 서버 구성과 자동 업데이트에 집중해, 일상적인 손봐야 할 일을 대부분 없앤 상태임
- 여러 서버를 하나로 통합하면서 환경 복잡도가 줄었고, 서버 수 기준 유지보수도 75% 감소함
- Raspberry Pi 4는 Home Assistant OS, 네트워크는 UniFi의 자동·예약 업데이트에 맡겨 수동 관리 지점이 줄어듦
- Docker 서비스는 주 1회
docker compose pull과docker compose up -d를 실행하는 crontab으로 갱신하고, root crontab은 주로 백업에 쓰임 - 긴급 상황이 없다면 월간 유지보수는 약 15분이며,
apt update와 재시작을 미뤄도 당장 서비스 영향은 거의 없음
단순화된 인프라 구성
- Homelab 서비스는 여러 장비에서 단일 서버로 통합됨
- 기존에는 4대 서버를 사용했지만, 현재는 하나의 물리 서버에 서비스를 모음
- 클러스터, 하이퍼바이저, 하이브리드 클라우드 대신 지하실의 물리 장비 하나로 운영함
- 이 단순화로 서버 기준 유지보수량이 75% 감소함
- Raspberry Pi 4는 별도로 있지만, Home Assistant OS가 자체 업데이트를 처리해 관리 부담이 작음
- 기술적으로는 서버에 가깝지만, 실제 사용감은 자체 유지되는 IoT 장치에 가까움
- 네트워크 장비는 미니 랙의 UniFi 구성으로 운영됨
- UniFi Dream Machine Pro, 스위치, 여러 AP가 포함됨
- 자동 업데이트와 예약 업데이트를 지원해 네트워크 장비도 수동으로 자주 만질 필요가 없음
자동화된 소프트웨어 업데이트와 백업
- Docker 서비스 업데이트는 서버의 단일 crontab 항목으로 매주 실행됨
0 0 * * 0 docker-updatedocker-update는~/docker/*/아래 각 디렉터리에서sudo docker compose pull과sudo docker compose up -d를 실행함
- root 사용자 crontab은 대부분 백업 용도임
- 매일 시스템 리포트를 생성함
- Immich와 Piped의 PostgreSQL 덤프를 생성함
- Plex, 웹 서버, Nginx 설정, Docker 디렉터리, SSH 파일을 ZFS 풀로
rsync백업함 - Docker 디렉터리 백업에서는 데이터베이스·캐시·임시 파일·일부 로그 경로를 제외함
- 남은 수동 작업은
apt update,apt upgrade,apt autoremove실행과 필요 시 재시작 정도임- 이 작업에는 약 60초가 걸림
- 긴급 상황이 없다면 유지보수 시간은 월 약 15분 수준임
- 한 달 동안 SSH로 접속해 업데이트하지 않아도 실제 서비스에는 영향이 없음
- 6개월 이상 손대지 않아도 고장 나지 않을 가능성이 있지만, 일부러 시험할 계획은 없음
- 현재 구성은 바쁜 일정 속에서도 프라이버시, 보안, 편의성 사이의 균형을 제공함
댓글과 토론
Lobste.rs 의견들
-
집 서버도 비슷하게 운영 중임
Debian에 무인 보안 업그레이드를 켜고, 모든 것은 버전을 고정한 루트리스 컨테이너로 돌리며, Podman Quadlet을 통해 systemd가 관리함
Podman의 auto-update가 컨테이너 업데이트를 처리하고, systemd 타이머가 백업·이미지 정리 같은 반복 작업을 맡음
커널 업그레이드가 있거나 이미지 버전을 올릴 때만 재부팅하러 들어가며, 이 작업은 Ansible이 처리함- “버전 고정”과 “Podman auto-update”가 같이 쓰인 부분이 헷갈림
버전을 고정했다는 말은 자동으로 업데이트를 가져오지 않는다는 뜻으로 이해했는데, 실제로는 업데이트를 하고 있는 듯해서 서로 다른 대상이 업데이트되는 건지 잘 모르겠음 - 거의 같은 구성을 10년 넘게 써왔고, 격년으로 최신 stable로 올림
따로 관리하는 장비는 라우터 하나뿐인데 OpenBSD라 새 버전이 나오는 약 6개월마다 업그레이드함
둘 다 지루할 정도로 안정적임
- “버전 고정”과 “Podman auto-update”가 같이 쓰인 부분이 헷갈림
-
비슷하지만, 원하는 기능이 생기기 전에는 아무것도 업데이트하지 않음
셀프호스팅 소프트웨어의 좋은 점은 내 일정에 맞춰 업데이트할 수 있다는 것임
모든 게 잘 돌아가고, Tailscale을 통해서만 접근되고 인터넷에 직접 노출되지 않는다면 하드웨어 고장을 제외하고는 그냥 놔둬도 안정적임- 애플리케이션이 인터넷에 직접 노출되는 것과 Tailscale을 통해 노출되는 것이 왜 다른지 궁금함
애플리케이션에 도달하는 데이터는 결국 같으니, 같은 취약점이 악용될 수 있는 것 아닌가 싶음
- 애플리케이션이 인터넷에 직접 노출되는 것과 Tailscale을 통해 노출되는 것이 왜 다른지 궁금함
-
그런 상태라면 꽤 좋은 상황임
나도 거기에 도달하려고 하지만 아직 완전히는 못 했음
Debian 메이저 업그레이드는 2년마다 여전히 수작업이 필요함: "Issues to be aware of for trixie", "Obsolescence and deprecation", "Cleanup after the upgrade"
오래된 Ansible은 최신 Debian 시스템을 다루지 못해서, Debian 서버를 올리면 Ansible 버전도 올려야 하고 결국 플레이북도 새 Ansible에 맞게 고쳐야 함
지금은 using more Docker containers로 이를 줄이려 하지만 Ansible을 완전히 대체하긴 어려울 듯함
freeDNS, dynv6.net처럼 직접 호스팅하고 싶지 않은 온라인 서비스도 있고, 이들도 가끔 깨지는 변경을 냄
그래도 전체적으로는 꽤 괜찮은 편임
솔직히 말하면 “유지보수 없는” 홈랩의 관리는 우리가 쓰는 소프트웨어, 패키지, Docker 이미지를 관리하는 전 세계 오픈소스 개발자들에게 맡기고 있는 셈임 -
내 구성을 “홈랩”이라고 부르긴 망설여지지만, 여러 Docker 컨테이너를 돌리는 unRAID NAS임
unRAID에 돈을 내도 만족하는 이유 중 하나가 Docker 지원이 적당히 좋고, 플러그인으로 컨테이너 자동 업데이트가 가능하며, 다른 유지보수도 꽤 단순하기 때문임 -
개인적으로 “랩”은 실험하는 장소에 가깝고 실험 자체를 유지보수할 필요는 없다는 점이 좀 걸림
컨테이너 사용은 장단이 섞여 있음
어떤 프로젝트는 컨테이너가 1급 배포 수단이라 그 방식으로 제대로 업데이트를 받을 수 있음
하지만 많은 사람이 관리가 애매한 컨테이너를 돌리는 것 같고, 거기서 문제가 많이 생길 것으로 봄
핵심은 내가 쓰는 소프트웨어에서 업데이트를 받는 정식 경로가 무엇인지 파악하는 데 있음
나는 주로 RHEL 클론을 자동 업데이트로 운영하고, 재부팅이 필요하면 Nagios가 알려줌
대부분의 서비스가 RHEL이나 EPEL 안에 있어서 유지보수가 꽤 적음 -
내 홈랩 유지보수에는
pyinfra가 딱 적당히 게으를 수 있는 수준이었음
설정 과정을 코드로 적어둘 수 있고, 특히 설정 파일 같은 것에 유용하며,nix에서 이걸 어떻게 처리하지 같은 고민 없이 필요하면apt를 호출하면 됨
아주 똑똑한 도구는 아니지만 단일 셸 스크립트보다는 낫고, 앞으로 더 발전시켜보고 싶음
에이전트형 코딩을 쓰는 경우에는 Claude에게 pyinfra 파일을 보여주고 구성 디버깅 도움을 받을 수 있다는 보너스도 있음 -
서버에서 NixOS를 쓰고 있고, 생각날 때마다 가끔 업데이트함
대부분은nix flake update && nix run .#deploy정도로 끝나서 크게 신경 쓰지 않음 -
나도 매우 비슷한 상황인데, 인정하긴 싫지만 상당 부분은 결국 구성이 더 단순해진 덕분임
예전에는 회전 로그까지 갖춘 전체 관측성 스택을 좋아했지만, 최근의 골치 아픈 일들은 2년 넘게 전부 그 복잡성에서 나온 사소한 문제였음
로그와 메트릭 때문에 디스크가 꽉 차는 식의 일들임
해결은 아주 쉽지만 이제는 그런 것들을 더는 처리하고 싶지 않음 -
docker-compose 구성을 최신으로 유지하는 데는 Watchtower가 마음에 듦
https://hub.docker.com/r/nickfedor/watchtower
버전을 계속 올리면서도 주요 변경을 어느 정도 감안할 수 있는 설정 옵션이 꽤 좋음
기본 운영체제는 Debian LTS에 무인 업데이트만 켜두고, 새 커널이 나오면 재부팅하러 들어감
정말 일이 많지 않고, 월 15분 미만이라는 말에 동의함