시작은 스마트홈이었다. 독립을 하게 되면서 기존 smart things 기반 홈랩 시스템에서 외부에 의존하지 않는 로컬 서버 기반으로 바꾸고 싶다는 생각이 생겼고(근데 내 홈랩이 삼성 서버보다 가용성이 낮은게 팩트긴 하다). 집에 있던 i5-8250U, 8GB 노트북에 8GB 램을 추가로 껴넣으며 proxmox로 OS를 밀면서 시작됐다.
proxmox 까는거야 윈도우, 우분투와 크게 다르지 않다.

나는 9.1.1 버전을 깔았는데 현재 9.2가 최신인 것 같다. 해당 이미지 다운받은 후 rufus 통해서 USB에 이미지 구워서 PC에서 설치를 진행하면 된다.
홈랩은 IP를 192.168.0.0/24 대역을 사용하고 있고
네트워크 및 설계
네트워크 설계를 아래와 같이 진행했다.
| IP | 용도 |
| 192.168.0.1 | Gateway(iptime) |
| 192.168.0.10~192.168.0.99 | DHCP |
| 192.168.0.150~199 | k3s 노드 |
| 192.168.0.100~149 | 서비스 서버 대역 |
| 192.168.0.200 | 물리머신(Proxmox) |
| 192.168.0.250~254 | 서브 네트워크 장비(254: 허브) |
따라서 IP 사용현황은 다음과 같다.
| 서비스 | IP |
| Gateway(메인 공유기) | 192.168.0.1 |
| Hub(허브역할을 하는 Guestroom NEXT 공유기) | 192.168.0.254 |
| Home Assistant | 192.168.0.111 |
| Github Runner | 192.168.0.101 |
| k3s-master-01 | 192.168.0.151 |
| Proxmox | 192.168.0.200 |
현재 홈랩의 VM 넘버링도 IP와 동일하게 아래와 같이 셋팅되어 있다.
예를 들어 ha-core-01로 접근하려면 192.168.0.111로 접근하면 된다.
외부에서 접속할 일이 많아 tailscale이 깔려있으며 proxmox가 허브 역할을 해 해당 IP로 접속 가능하다.

각각의 서비스에 대해서 설명하자면,
- github-runner-01: github action을 위한 self-hosted runner
- 리소스 절약을 위해 VM이 아닌 LXC로 설정되어 있다
- Proxmox가 Terraform 기반으로 세팅되어 있어서 아래 링크에서 Terraform 코드 확인 가능하다.
- https://github.com/Ohjinn/homelab-iac
- k3s-master-01: 추후 데스크탑 하나를 노드로 사용할 예정인데 해당 노드를 제어함과 동시에 로컬 컨테이너 환경 구성을 위한 노드
- 8core, 16GB의 압박 속에서 K8S는 무리라고 생각해서 경량 버전으로 올렸다.
- 내부에 App in App ArgoCD가 올라가있다.
- harbor 기반 레지스트리 구축
- hermes-agent 컨테이너 구축중
- 추후 로컬 LLM과 Gemini API를 동시에 사용하기 위한 lite-llm 구축
- 로컬 LLM은 맥북에 gemma, qwen, llama등 구축 시도했으나 TTS + LLM 구성시 응답속도(약 5초 이상)에 따른 사용성 문제로 데스크탑 노드에 GPU 쌈뽕한거 단 후에 다시 시도할 예정이다.
- Gemini API가 훨씬 나은 것 보고 규모의 경제를 실감했다. 플랫폼 장악을 위해 엄청난 돈을 쏟아붓고 있구나..
- 왜 학습이 아닌 추론을 위한 별도의 NPU를 만들으려고 하는지도 확실하게 알았다
- ha-core-01: 보이는 그대로 home assistant 환경을 위한 VM이다.
- ha.newhojin.com 으로 접속 가능하며 CloudFlare Tunnel이 연결되어 있다.
- ZHA가 아닌 Z2M(Zigbee To MQTT)로 구축되어있다.
- LGE, Mihome등이 연결되어 있으며 Gemini API로 TTS, LLM 연결되어있다.
- 휴대폰 인공지능 버튼과 연동되어 있어서 스마트홈 제어가 가능하다.
이쯤하고 각각의 세세한 설명은 다른 글로 해야할 것 같다.