메뉴
HN
Hacker News 29일 전

내 홈랩은 스스로 관리된다

IMP
5/10
핵심 요약

이 글은 단일 서버 구조, UniFi 네트워크 기기, 자동화된 Docker 업데이트 및 백업을 활용해 홈랩 유지보수 시간을 월 15분으로 획기적으로 줄인 사례를 다룹니다. 복잡한 클러스터나 하이퍼바이저 대신 단순함과 자동화를 선택함으로써, IT 실무자가 개인 인프라를 효율적으로 운영할 수 있음을 보여줍니다.

번역된 본문

날짜: 2026-06-26 제목: 내 홈랩은 스스로 관리된다

저는 제 홈랩을 관리하지 않습니다... 이 녀석은 스스로를 관리하거든요.

목차

  1. 인프라 1.1. 서버 1.2. 네트워크
  2. 소프트웨어
  3. 결과

사실입니다. 저는 제 홈랩을 관리하지 않습니다... 알아서 스스로 관리됩니다. 제가 이미 열반(Nirvana)에 도달한 걸까요? 이것이 홈랩bers(홈랩을 다루는 사람들)의 궁극적인 목표일까요? 견고한 홈랩을 구축하면서 어쩌다 제 스스로 직업(취미?)에서조차 자동화로 밀려난 것 같습니다. 어디서부터 이렇게 잘못(?) 된 건지 알아보겠습니다.

  1. 인프라 1.1. 서버 지난 몇 년간 몇 가지 다른 서버를 사용해 왔지만, 환경의 복잡성을 줄이기 위해 모든 서비스를 단일 서버로 통합했습니다(빌드 가이드는 여기). 단일 서버 설정 덕분에 유지보수가 75%(4대에서 1대로) 줄었습니다. 맞습니다. 클러스터, 하이퍼바이저, 그리고 하이브리드 클라우드 솔루션은 멋지고 화려하며 인기 있지만, 저는 그저 관심이 없을 뿐입니다. 대신, 저는 지하에 손으로 직접 들어 올릴 수 있는 단 하나의 철제 상자(서버)를 두었습니다.

'서버'가 하나 더 있긴 합니다. 라즈베리 파이 4(Raspberry Pi 4)입니다. 하지만 이 녀석은 홈 어시스턴트 OS(Home Assistant OS)를 사용하여 스스로 업데이트하며, 말 그대로 유지보수가 전혀 필요 없습니다. 이것을 정말 서버라고 불러야 할까요? 기술적 정의에 따르면 그런 것 같습니다. 하지만 결코 그렇게 느껴지지는 않습니다. 잠재적인 서버 기기를 자급자족하는 사물인터넷(IoT) 기기로 바꿔놓은 것 같습니다.

1.2. 네트워크 서버 자체를 제외하면, 미니 랙에 UniFi 기기들이 있습니다(서버도 같은 랙에 있습니다). UniFi 드림 머신 프로(Dream Machine Pro), 스위치, 그리고 몇 개의 액세스 포인트(AP)가 제 지하에 있는 개인 데이터 센터를 구성합니다. 여기서도 정말 그저 스스로 관리됩니다. UniFi는 자동 및 예약 업데이트를 지원하여 하드웨어의 수동 유지보수에서 완전히 벗어날 수 있게 해줍니다. UniFi는 정말로 "설정하고 잊어버리는(set it and forget it)" 플랫폼입니다.

  1. 소프트웨어 서버에는 단 한 줄의 크론탭(crontab) 명령어가 있는데, 이는 주 단위로 모든 Docker 서비스의 업데이트를 실행합니다.

0 0 * * 0 docker-update

이 명령어는 다음의 별칭(alias)입니다:

for d in ~/docker/*/; do ( cd "$d" && sudo docker compose pull && sudo docker compose up -d); done

권한 문제를 고려하기 위해 root 사용자를 통해서도 몇 가지 크론탭 일정을 실행하고 있습니다. 솔직히 말해서 이 작업들은 그저 백업을 위한 것들입니다. 백업이 필요했던 적은 한 번도 없었지만, 안전을 위해 두는 것이 좋으니까요.

매일 시스템 보고서 생성

0 8 * * * /home/cmc/daily_sys_report.sh

백업

SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

앱 인식 데이터베이스 덤프

45 1 * * * mkdir -p /tank/cloud/server/backups/immich && sudo docker exec -t immich_postgres pg_dumpall -U postgres > /tank/cloud/server/backups/immich/immich-postgres-$(date +%F).sql 50 1 * * * mkdir -p /tank/cloud/server/backups/piped && sudo docker exec -t piped-postgres pg_dumpall -U piped > /tank/cloud/server/backups/piped/piped-postgres-$(date +%F).sql

ZFS 풀로 파일 백업

0 2 * * * rsync -aHAX --delete /var/lib/plexmediaserver/ /tank/cloud/plexmediaserver/ 5 2 * * * rsync -aHAX --delete /var/www/ /tank/cloud/server/web_server/ 10 2 * * * rsync -aHAX --delete /etc/nginx/ /tank/cloud/server/nginx/ 15 2 * * * rsync -aHAX --delete --exclude='/postgres/' --exclude='/postgresql/' --exclude='/mysql/' --exclude='/mariadb/' --exclude='/redis/' --exclude='/valkey/' --exclude='/database/' --exclude='/cache/' --exclude='/tmp/' --exclude='/logs/' /home/cmc/docker/ /tank/cloud/server/docker/ 20 2 * * * rsync -aHAX --delete /home/cmc/.ssh/ /tank/cloud/server/ssh/

이 외에 필요한 유일한 업데이트는 apt update를 실행하고 필요시 재부팅하는 것뿐입니다. 이 작업은 제가 원할 때 약 60초의 시간이면 충분합니다.

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

  1. 결과 그래서, 최종 결과는 어떨까요? 비상 상황을 제외하면 월 평균 약 15분 정도의 유지보수 시간이 소요되는 것으로 추정됩니다.

여러분에게 이것이 평범하게 들린다면, 축하드립니다. 여러분은 이미 인생의 정점을 찍으신 겁니다. 하지만 저에게는 이 시간이 터무니없이 짧습니다. 저는 예전에 서버, 데이터베이스, 앱 등의 다양한 부분을 구축하고, 유지 관리하고, 디버깅하는 데 며칠씩을 통째로 썼던 사람이니까요. 아시죠?

원문 보기
원문 보기 (영어)
2026-06-26 I Don't Maintain My Homelab I don't maintain my homelab... it maintains itself. Table of Contents 1. Infrastructure 1.1. Server 1.2. Network 2. Software 3. The Outcome It's true. I don't maintain my homelab… it maintains itself. Have I reached nirvana? Is this the ultimate goal of homelabbers? It seems that I've somehow automated myself out of a job (hobby?) by building a resilient homelab. Let's figure out where it all went "wrong". 1. Infrastructure 1.1. Server I have used a few different servers over the years, but have since consolidated all of my services onto a single server ( build guide here ), reducing the complexity of my environment. Because of the single-server setup, maintenance is down 75% (from four servers to one). Yes, clusters and hypervisors and hybrid cloud solutions are shiny and fancy and popular, but I just don't care for it. Instead, I have a single metal box I can pick up with my hands sitting in my basement. I do have one more "server": a Raspberry Pi 4, but it uses Home Assistant OS, updates itself, and requires literally zero maintenance. Is that really a server? I guess, by technical definition. But it certainly doesn't feel like it; it feels like I've turned a potential server device into a self-sustaining IoT device instead. 1.2. Network Aside from the server itself, I have a mini rack of UniFi gear (server is in the same rack). A UniFi Dream Machine Pro, a switch, and a couple of access points (APs) constitute my personal data center sitting in my basement. Again, it really just maintains itself. UniFi supports automatic and scheduled updates, allowing you to disconnect from any manual maintenance of the hardware. UniFi truly is a "set it and forget it" platform. 2. Software There's a single crontab line on my server, which runs all updates for my Docker services on a weekly basis. 0 0 * * 0 docker-update Which is an alias for: for d in ~/docker/*/; do ( cd "$d" && sudo docker compose pull && sudo docker compose up -d); done I do run a few crontab schedules via the root user as well, to account for permission issues. These jobs are really just for backups, to be honest. I've never required a backup, but it's good to be safe. # Generate a daily system report 0 8 * * * /home/cmc/daily_sys_report.sh # Backup SHELL=/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ## App-aware database dumps 45 1 * * * mkdir -p /tank/cloud/server/backups/immich && sudo docker exec -t immich_postgres pg_dumpall -U postgres > /tank/cloud/server/backups/immich/immich-postgres-$(date +\%F).sql 50 1 * * * mkdir -p /tank/cloud/server/backups/piped && sudo docker exec -t piped-postgres pg_dumpall -U piped > /tank/cloud/server/backups/piped/piped-postgres-$(date +\%F).sql ## Backup files to ZFS pool 0 2 * * * rsync -aHAX --delete /var/lib/plexmediaserver/ /tank/cloud/plexmediaserver/ 5 2 * * * rsync -aHAX --delete /var/www/ /tank/cloud/server/web_server/ 10 2 * * * rsync -aHAX --delete /etc/nginx/ /tank/cloud/server/nginx/ 15 2 * * * rsync -aHAX --delete --exclude='**/postgres/' --exclude='**/postgresql/' --exclude='**/mysql/' --exclude='**/mariadb/' --exclude='**/redis/' --exclude='**/valkey/' --exclude='**/database/' --exclude='**/cache/' --exclude='**/tmp/' --exclude='**/logs/' /home/cmc/docker/ /tank/cloud/server/docker/ 20 2 * * * rsync -aHAX --delete /home/cmc/.ssh/ /tank/cloud/server/ssh/ Aside from this, the only other required updates are running apt update and potentially restarting. This requires about 60 seconds of time whenever I want to do it. sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y 3. The Outcome So, what's the end result? I've approximated it somewhere around 15 minutes of maintenance per month , barring an emergency. If that's normal to you, congrats - you've peaked in life. However, that's absolutely absurd to me. I used to spend days on end building, maintaining, and debugging various aspects of my servers, databases, apps, etc. You know what's even crazier? If I don't have 15 minutes in a month to ssh into my server and update things, it literally does not affect anything. I could probably go 6 months (maybe more?) without touching it and it wouldn't break. (This is not a challenge, please don't break my server.) What a great situation to be in - especially for someone who's become as busy in their career as I have. I feel like I've struck a fantastic balance between privacy, security, and convenience. Reply via email →