맥미니를 홈서버·셀프호스팅 장비로 운영하는 데 필요한 셋업, 전력·발열, 소프트웨어 팁을 모읍니다.
ThinkCentre M700 미니 데스크톱을 집 안 개인 서버로 쓰는 구성이다. 운영체제는 Ubuntu 24.04.4 LTS이고, 인텔 i3-6100 프로세서, 내장 그래픽, 메모리 8GB를 사용한다. 저장공간은 10TB로, 방송 송출용 Liquidsoap, 워드프레스 사이트, 파일 공유용 SMB, 상태 확인용 Grafana와 Prometheus, FTP, RDP, SSH가 함께 돌아간다. 집 밖에서는 Tailscale로 만든 보안 연결을 통해 서버에 접속한다. 정전 대비용으로 라인 UPS도 붙였고, 12V 배터리 하나로 약 3시간 정도 서버를 계속 켤 수 있다.
선택지로 나온 제품은 2018년형 리퍼비시 맥미니입니다. 사양은 3.2GHz 인텔 i7 프로세서, 메모리 32GB, 500GB SSD입니다. 가격은 200달러입니다. 현재 쓰는 맥북 에어가 점점 오래되어, 웹 browsing과 가벼운 사진 편집용으로 바꿀 만한지 고민하는 상황입니다. 최신 macOS Tahoe를 OpenCore로 설치하는 것도 고려하고 있습니다.
집에서 작은 서버를 운영할 때 네트워크 흐름을 따로 살펴봐야 하는지가 핵심이다. 예로 든 도구는 Suricata, Snort, Zeek처럼 수상한 통신이나 네트워크 움직임을 분석하는 프로그램이다. 이미 Raspberry Pi로 홈랩을 만들고, OMV와 Jellyfin으로 파일 관리와 미디어 재생 환경을 운영하고 있다. 다음 단계로 네트워크 감시를 직접 붙여 볼지 고민하고 있다. 다만 이런 감시 도구가 개인용 집 서버에는 너무 과한 일인지, 아니면 배울 만한 프로젝트인지가 판단 포인트다.
임대 주택의 차고에 잠긴 9U 네트워크 랙을 두고, 집 안 곳곳의 무선 접속 장비는 CAT6A 케이블과 PoE로 연결했다. 핵심 장비는 Omada ER7212PC로, 공유기와 스위치와 관리 기능을 한 장비에 모은 제품이다. 광 인터넷이 끊기면 Starlink로 자동 전환되는 예비 인터넷 연결도 준비했다. 손님이 자주 바뀌는 임대 환경이라 와이파이 비밀번호를 원격으로 바꿀 수 있는 관리 기능이 중요했다. 기본 자동화용으로 Home Assistant Green을 넣었고, 누수 센서 허브와 통신사 광 모뎀도 같은 랙에 들어갔다. 랙에는 온도 기준을 정해 켤 수 있는 냉각 팬이 있으며, 서지 보호 기능이 있는 1U 전원 장치를 추가했다. 전체 랙은 현재 약 3시간 버티는 UPS에 연결되어 있다. 차고 설치라 먼지가 가장 큰 지속 관리 문제가 될 가능성이 있다.
개인 서버 환경이 2008년 애플 Time Capsule 한 대에서 시작해 세 대로 늘었고, 2018년에는 Raspberry Pi 3B 아래에 레이드 저장장치를 붙인 형태로 바뀌었다. 2022년에는 Dell T110 서버로 옮긴 뒤 HP 레이드 케이지와 임시로 연결한 ATX 전원공급장치를 더해 총 12개 드라이브를 돌렸다. 지난달 13번째 드라이브를 추가하려다 전원공급장치에 무리가 갔고, 여러 부품이 이어서 문제를 일으키는 장애가 났다. 이후 중고 HP 드라이브 랙을 샀지만, Seagate SATA 드라이브가 6Gbps 대신 3Gbps로 잡히고 배열을 만드는 중 드라이브 오류가 나기 시작했다. 결국 저렴한 SAS 드라이브로 방향을 바꿔, Supermicro 랙 서버 두 대를 마련했다. 두 서버는 각각 32GB 메모리, 500GB NVMe 저장장치, Linux Mint 22.3을 쓰며, 한 대는 33TB 데이터 서버, 다른 한 대는 62TB 미디어 서버로 구성됐다. 중고 SAS 드라이브는 사용 시간이 4,000~20,000시간이고 새 제품 가격의 약 20분의 1 수준이라, 고장 가능성을 감안해 저장공간을 넉넉하게 잡았다.
새 집에 입주하기 전에 벽 안에 네트워크 케이블을 미리 넣어 두려는 상황이다. 목표는 벽면 단자에서 10기가 구리선 연결과 10기가 이상 광섬유 연결을 모두 쓸 수 있게 준비하는 것이다. 처음에는 예전에 사 둔 OM3 LC 광섬유를 CAT6A와 함께 깔 생각이었다. 이후 OM5가 더 높은 대역폭을 지원한다는 점을 알게 되었고, 또 다른 의견으로는 멀티모드 대신 싱글모드를 쓰는 편이 낫다는 강한 추천도 받았다. 배선 작업이 매우 번거롭기 때문에, 한 번 설치한 케이블과 커넥터로 장기적으로 400Gbps까지 버틸 수 있는 구성을 찾고 있다.
사업용으로 아주 저렴한 기본형 데스크톱 몇 대가 필요해 초소형(USFF) PC를 알아본 경험이다. 몇 년 전에는 HP EliteBook Mini 같은 작은 PC가 30~70달러 정도에 많이 나왔고, 메모리, 저장장치, 드라이브 캐디, 중앙처리장치가 들어 있는 경우가 흔했다. 빠지는 부품은 대체로 AC 어댑터 정도라서, 전원만 따로 구하면 바로 쓸 수 있는 구성이 많았다. 최근에는 비슷한 가격대의 매물이라도 저장장치, 드라이브 캐디, AC 어댑터가 모두 빠진 경우가 많았다. AC 어댑터 가격을 제외해도 90달러 아래에서 쓸 만한 완제품을 찾기 어려웠다.
새 홈 서버 구성은 전기를 덜 쓰는 새 장비로 옮겨 가는 방향이다. 목표는 집 안에서 직접 local LLMs를 돌릴 수 있게 하는 것이다. 아직 설정 중이며, Terraform으로 서버 설정을 코드처럼 관리하는 IaaC 구성을 준비하고 있다. 추가로 k3s를 중첩 노드 형태로 돌리는 방법도 살펴보고 있다. Docker, pg, 집 전체에서 쓰는 서비스 묶음도 함께 운영하려는 구성이다.
오래된 기업용 서버 R620에서 돌리던 여러 가상 서버를 노트북으로 옮겼다. 기존 장비는 DDR3 메모리 128GB와 800GB SAS 드라이브 8개를 넣은 큰 서버였다. 새 장비는 i7 프로세서, DDR5 메모리 64GB, 1TB NVMe 드라이브 1개를 넣은 노트북이다. 대용량 저장 공간은 다른 곳으로 빼야 했다. 그래도 전기요금 부담이 줄고, 저장 공간을 제외한 나머지 면에서는 노트북이 훨씬 낫다는 결론이다. 오래된 기업용 장비를 만지는 재미는 있었지만, 계속 운영하기에는 전기 비용이 큰 문제가 됐다.
직접 운영 중인 서버 랙에는 여러 대의 컴퓨터가 들어 있다. 주 컴퓨터는 Windows 11로 돌아가며 일상 작업에 쓰이고, 다른 두 대는 Ubuntu로 운영된다. 이미 Pi-hole로 집 안 광고와 추적 요청을 줄이고, OctoPrint로 3D 프린터를 관리하고 있다. 친구들과 함께 게임하려고 AMP를 쓰고 있으며, 앞으로는 Plex/Jellyfin 같은 미디어 서버도 운영할 계획이다. 가족과 친구가 편하게 쓸 수 있는 다른 서비스를 더 찾고 있다. 개인정보를 외부 서비스에 덜 맡기기 위해 작은 LLM을 직접 돌리는 방안도 생각하고 있지만, 실제로 감당할 수 있을지는 아직 불확실하다.
캐나다의 프라임데이 할인에서도 저장장치 가격이 크게 올라 홈서버나 개인 서버를 새로 맞추기 어려워졌다는 체감이 나온다. 삼성 9100 Pro 4TB는 작년에 개당 399캐나다달러에 샀던 제품인데, 이번에는 할인 가격이 1,200캐나다달러로 보였다. 같은 제품의 표시 정가는 1,850캐나다달러였고, 체감상 할인 가격조차 작년보다 약 3배가 됐다. 예전에 4개를 사서 레이드 10 묶음으로 빠른 기본 부팅 드라이브를 만들었고, 총 1,600캐나다달러 전후로 매우 빠른 작업용 부팅 환경을 구성할 수 있었다. 대용량 하드디스크도 비슷하다. WD Elements 18TB 외장하드는 예전에 베스트바이에서 750캐나다달러 정도였지만, 지금은 1,000캐나다달러에 가까워졌다. 이 외장하드는 껍데기를 분리해 내부 하드디스크를 꺼내 나스에 쓰는 방식으로 활용됐고, 예비용으로 둔 두 개도 이미 모두 사용한 상태라 추가 구매가 필요한 상황이다.
개인 홈 서버 계획은 미디어 영상 변환을 하지 않는 전제를 둔다. Immich에서도 기계 학습 기능을 돌리지 않을 계획이다. 따라서 이 서버는 영상 파일을 실시간으로 바꾸거나 사진을 자동 분석하는 무거운 작업보다는 더 가벼운 홈 서버 용도에 가깝다. 제공된 내용에는 장비 사양, 저장장치 구성, 운영체제, 네트워크 방식 같은 세부 정보가 없다.
Minimus Community Edition은 누구나 무료로 받을 수 있는 컨테이너 이미지 저장소를 열었다. 이 이미지들은 꼭 필요한 구성만 담은 최소형 컨테이너이며, 운영 중 공격받을 수 있는 부분을 줄이도록 보안이 강화되어 있다. 일부 이미지는 배포판 기본 도구까지 빼는 디스트로리스 방식에 가깝다. 이전에는 기업 고객만 쓸 수 있었지만, 이제 일반 사용자도 필요한 이미지를 직접 내려받아 쓸 수 있다.
HP Gen8 마이크로서버 2대 중 1대는 NAS로, 다른 1대는 백업용으로 쓰는 구성이 준비되고 있다. 두 장비는 최대치인 16GB ECC 메모리로 올렸고, 내부 배터리를 교체했으며, Xeon 프로세서에는 새 서멀 구리스를 발랐다. 이 프로세서는 오래된 장비치고 성능과 전력 효율이 괜찮지만, 팬으로 직접 식히지 않는 구조라 열이 오르면 속도가 빨리 낮아질 수 있다. NAS 장비에는 감시용 프로그램과 Syncthing 정도만 돌리고, 다른 서비스는 많이 올리지 않을 계획이다. 임시로 Ubuntu Server를 하드디스크에 설치해 BIOS, iLO, Smart Array, 네트워크 같은 펌웨어를 먼저 업데이트하고 있다. 장비에 기업용 기능이 여러 개 있지만, 보안 이유로 대부분 쓰지 않을 생각이다. 최종 목표는 FreeBSD 또는 FreeBSD 기반 XigmaNAS를 설치해 ZFS를 익히고, 나중에는 OpenBSD도 다른 작업에서 써보는 것이다. 저장장치는 500GB 디스크 2개를 mirror로 묶어 개인 자료에 쓰고, 4TB 디스크 2개를 striping으로 묶어 미디어 보관에 쓰는 방안이 검토되고 있다.
tux2lab은 리눅스 컴퓨터 안에 작은 가상 데이터센터를 만드는 오픈소스 도구다. KVM 기반으로 작동하며, 개인 실험실에서 리눅스 가상 머신을 자동으로 만들고 다시 설치하고 관리하는 데 맞춰져 있다. 내부 전용 가상 네트워크를 만들고, DNS 이름 영역과 중앙 인프라 서버 가상 머신도 함께 세운다. 이 인프라 서버는 DHCP, DNS, PXE, HTTP, NTP, NFS 같은 기본 실험실 서비스를 맡는다. 배포판별 골든 이미지를 만들어 두면 새 가상 머신을 1분 안에 배포할 수 있고, PXE 방식의 전체 설치도 가능하다. 하나의 CLI로 설치, 재이미징, 중앙처리장치·메모리·디스크 크기 변경, 디스크와 네트워크 카드 추가·삭제, 스냅샷, 상태 확인, DNS 관리를 처리한다. 쉼표로 여러 호스트 이름을 넘기면 여러 가상 머신에 같은 작업을 한 번에 적용할 수 있다. 지원 범위는 Alma, Rocky, Oracle, CentOS Stream, RHEL 계열 10/9/8, Ubuntu LTS 26.04/24.04/22.04, openSUSE Leap 16.0/15.6/15.5다.
그래픽카드 없이 집이나 작은 가상 서버에서 음성 합성을 돌릴 때는 모델 선택에 따라 체감 속도와 품질이 크게 달라진다. 4코어 인텔 Xeon, 메모리 15.6기가바이트 환경에서 세 가지 오픈 웨이트 음성 합성 모델을 150번 실행해 속도와 품질을 비교했다. 품질을 가장 중요하게 보면 Kokoro 82M의 ONNX 버전이 가장 알맞다. 이 버전은 실제 재생 속도보다 약 1.8배 빠르게 음성을 만들었고, PyTorch 버전보다 빠르면서 품질 점수는 거의 같았다. 응답 속도가 중요한 음성 비서나 챗봇에는 Supertonic 3의 5단계 설정이 실용적이다. 실제 재생 속도보다 약 3.2배 빠르고 품질 점수도 4.37로 쓸 만하지만, OpenRAIL-M 라이선스라 상업적 사용 제한을 확인해야 한다. 아주 가벼운 구성이 필요하면 Inflect-Nano-v1이 가장 빠르다. 매개변수 460만 개짜리 작은 모델이고 실제 재생 속도보다 7.3배 빠르지만, 소리가 기계적이고 떨리는 느낌이 있어 품질을 기대하기는 어렵다.
집에서 운영하는 서버와 개인 서비스를 휴대폰에서 확인하기 위한 가벼운 관제 화면이 만들어지고 있다. 대상은 Synology 나스, Proxmox VE 장비, Ubuntu와 Linux 서버, Docker 컨테이너, 웹사이트, 개인 서비스다. 단순히 서비스가 켜져 있는지만 보여주는 화면이 아니라, 장비 상태, 비공개 감시, 상태 기록, 알림 확인, 복구 상황을 한곳에 모으는 것이 목표다. 내부 서비스는 밖으로 포트를 열지 않고, Docker Probe가 내부에서 바깥으로만 연결해 상태를 보내는 방식으로 확인한다. 현재는 HTTP, HTTPS, TCP, UDP, DNS, Ping 점검, SSL 인증서와 도메인 만료일, 컨테이너 상태 변화, 중앙처리장치·메모리·저장공간 사용 기록, 전체 건강 상태 요약을 다룬다.
구글 킵 대신 직접 운영할 수 있는 메모 앱을 찾는 수요가 있다. 원하는 조건은 구글 킵과 최대한 비슷하고, 간단한 메모뿐 아니라 손그림이나 스케치 메모도 지원하는 것이다. 후보로는 Anchor와 react-glass-keep이 언급된다. Anchor는 비교적 더 꾸준히 관리되는 것으로 보이지만, 손그림이나 스케치 메모 기능이 부족하다. react-glass-keep은 원하는 기능에 더 가까워 보이지만, 1월 이후 관리가 멈춘 듯하다. 구글 포토를 대신하는 Immich처럼, 구글 킵을 대체할 만한 직접 운영 서비스가 필요하다는 문제의식이다.
공유기 설정 화면에서 포트 포워딩을 추가하려면 보통 서비스 이름, 내부 기기 주소, 내부 포트, 외부 포트, 프로토콜 같은 값을 넣어야 한다. 여기서 핵심 혼란은 사람들이 “TCP와 UDP를 열라”고 말하지만, 실제 공유기 화면에서 그 값을 어디에 넣어야 하는지 알기 어렵다는 점이다. 일부 공유기는 프로토콜 항목에서 TCP, UDP, 또는 둘 다를 고르게 하고, 일부는 TCP 규칙과 UDP 규칙을 따로 만들어야 한다. 맥미니 서버도 집 밖에서 접속하게 하려면 같은 방식으로 공유기에서 맥미니의 내부 주소와 필요한 포트를 연결해야 한다.
Remux는 직접 운영하는 미디어 서버 프로그램이다. Stremio 애드온, 로컬 파일, WebDAV 저장소에 있는 영상을 한곳에서 불러와 스트리밍할 수 있다. 기존 Jellyfin 클라이언트를 그대로 쓸 수 있어, 이미 쓰던 앱에서 탐색, 검색, 재생을 이어갈 수 있다. Rust로 만들어 성능과 낮은 자원 사용을 목표로 한다. 대시보드는 인공지능 도구로 대부분 만들었고, 나머지 핵심 부분은 주로 직접 작성됐다. 코드가 공개되어 직접 설치하거나 살펴볼 수 있다.
지역 중고 거래에서 Beelink Mini PC SER5 Pro 7대가 총 1,000달러에 나왔다. 각 기기는 AMD Ryzen 7 5825U 프로세서, 16GB DDR4 메모리, 500GB SSD를 갖춘 구성이다. 새 제품 가격을 찾아보니 Newegg에서 비슷한 모델 1대가 550달러로 보여, 전체 묶음 가격이 매우 싸게 보인다. 처음에는 1대만 200달러에 사서 첫 홈 서버로 쓰려던 계획이었지만, 나머지 기기를 되팔 수 있는지까지 고민하게 된 상황이다.
개인 작업을 도와주는 로컬 에이전트를 찾고 있다. 가장 큰 기준은 개인정보 보호다. 무료로 모델을 쓰게 해 주면서 학습에는 쓰지 않는다고 말하는 회사도 실제로는 뒤에서 다른 목적이 있을 수 있다는 걱정이 있다. 주된 작업은 Obsidian 노트 관리이고, 코드 작업도 조금 해 보려는 정도라 아주 무거운 기능은 필요하지 않다. 핵심 요구는 클라우드 서비스에 개인 노트와 작업 내용을 보내지 않고, 내 기기나 내 서버 안에서 처리하는 도구다.
TensorSharp가 Qwen Image Edit 2511 모델을 이용한 이미지 편집과 이미지 생성을 지원한다. 공개된 비교는 TensorSharp와 stable-diffusion.cpp를 같은 입력 이미지, 문장 지시, 해상도, 단계 수, 설정값, 난수 기준으로 맞춰 실행한 결과다. 테스트는 CUDA 환경에서 544x1184 해상도와 4단계 설정으로 진행됐다. 이미 실행 중인 서버에서 처리한 따뜻한 요청 기준 총 시간은 TensorSharp가 40.44초, stable-diffusion.cpp가 48.16초였다. 한 단계당 샘플링 시간은 TensorSharp가 7.57초, stable-diffusion.cpp가 9.43초였다. 텍스트 인코딩은 TensorSharp가 7.45초로 더 느렸고, stable-diffusion.cpp는 4.47초였다. 이미지 인코딩과 디코딩은 TensorSharp가 각각 0.54초, 1.51초였고, stable-diffusion.cpp는 1.92초, 2.57초였다. TensorSharp는 새 서버에서 첫 요청을 처리할 때 구조 재구성과 그래프 캡처 비용이 추가되어 54.11초가 걸렸다.
Debian 12 서버에서 공식 Samba 패키지로 여러 네트워크 공유를 운영하고 있다. 공유 대상은 전체 드라이브와 폴더이며, Windows, Android, Linux 기기에서 접근한다. 기본 동작은 괜찮지만 처음 설정이 복잡하고, 문서도 중복되거나 오래된 설정이 섞여 있어 이해하기 어렵다. 가끔 연결이 모두 끊겨서 Samba 데몬을 직접 다시 시작해야 하는 문제가 있다. Windows 기기에서는 Samba에서 만든 사용자를 제대로 쓰지 못해 설정에서 특정 사용자를 강제로 지정하거나 손님 접근으로 처리하고 있다. 이미 파일 탐색기와 동기화 시스템은 따로 쓰고 있어서, 무거운 기능 묶음보다는 Samba 공유만 간단히 관리하는 UI가 필요한 상황이다. 핵심 고민은 서버에 직접 설치한 Samba를 계속 직접 설정할지, 아니면 관리 UI나 다른 방식으로 바꿀지다.
M4 맥미니에 Sony ZV-1 카메라를 Camlink로 연결해 Riverside에서 녹화할 때 영상이 불규칙하게 끊기는 문제가 생겼다. 카메라는 본인 화면에서는 계속 작동하지만, Riverside 쪽에서는 연결이 끊긴 것으로 처리되고 새 트랙이 만들어진다. 소리는 계속 녹음되지만, 함께 녹화하는 사람들은 영상을 볼 수 없다. 다시 보이게 하려면 스튜디오에서 나갔다가 다시 들어와야 한다. 케이블을 모두 바꿔도 원인을 찾지 못했다. 특히 1시간을 넘는 긴 녹화에서 더 자주 생기지만, 몇 시간 동안 아무 문제 없이 지나갈 때도 있다. 보통 Google Chrome으로 녹화한다.
맥미니 M4와 Sequoia에서 Focusrite 18i8 3세대가 실제로는 연결되어 작동하지만, Mix Control이 “하드웨어가 연결되지 않았다”고 표시하는 문제가 있다. 음악 재생, WAV 파일 재생, DAW 녹음은 정상으로 된다. 문제는 Mix Control 안에서 라우팅이나 입력 설정을 바꿀 수 없다는 점이다. 재부팅, 다른 USB 포트 사용, 활성 상태 보기에서 관련 서비스를 다시 시작하는 방법은 해결되지 않았다. 드라이버와 Mix Control을 다시 설치하면 다시 작동한다. 최근 드라이버나 Mix Control 업데이트가 오래 나오지 않아, 이 장비가 사실상 지원 종료 상태인지 의문이 생긴다.
Sync-in 2.4는 직접 운영하는 파일 저장, 동기화, 공유, 협업 플랫폼의 새 버전이다. Euro-Office 연동이 들어가 문서를 여러 사람이 함께 편집할 수 있다. 파일 작업 관리자가 바뀌어 진행 중인 작업을 더 쉽게 확인하고 정리하며, 실행 중인 작업을 취소할 수 있다. 전체 텍스트 검색은 이제 중국어, 일본어, 한국어를 지원한다. 압축 파일은 기존 TAR, TGZ에 더해 ZIP 형식도 바로 만들 수 있다. 다운로드, 압축 해제, 서버 시작, 설정 관련 안정성이 개선됐고 보안 강화도 포함됐다. 여러 중요한 보안 취약점도 함께 수정됐다.
macOS Golden Gate로 업데이트한 뒤 Mac mini에서 일부 앱 설치와 실행에 문제가 생겼다. 업데이트 전에는 Adobe 앱과 JetBrains 앱이 정상적으로 실행됐다. 업데이트 후에는 앱을 설치할 수 없거나, 설치해도 “앱이 예기치 않게 종료되었습니다” 오류가 나온다. 원인은 아직 확인되지 않았고, 해결 방법도 제시되지 않았다.
NICGIGA S100-0800T는 8개 10기가 유선 포트를 가진 비관리형 스위치다. 같은 기반으로 보이는 SR-ST3008P라는 관리형 스위치와 비교하면, 실제 회로 기판과 주요 칩은 같을 가능성이 있다. 기판에는 Realtek RTL9303 SoC, RAM, 같은 종류의 플래시 칩이 들어 있다. 겉으로 보이는 차이는 하드웨어보다 기기에 들어간 소프트웨어일 수 있다. 그래서 이 장비에 관리형 스위치용 소프트웨어를 넣으면 관리 기능을 켤 수 있는지, 그리고 실제로 가능한 방법이 있는지가 핵심이다.
필요한 것은 자체 서버에서 돌릴 수 있는 음악 검색 앱이다. 앨범 단위로 음악을 찾는 Lidarr만으로는 부족하고, 개별 노래를 직접 검색할 수 있는 기능이 필요하다. 맥미니 서버에서 음악 관리까지 함께 운영하려는 경우, 앨범 중심 도구와 곡 중심 검색 도구의 차이가 실제 불편으로 이어질 수 있다.