[Homelab] Immich 머신러닝을 작업별로 CPU/GPU에 나눌 수 있을까? (그리고 Intel·AMD GPU를 한 서비스로 묶기)
Immich 머신러닝(ML) 구성을 이리저리 바꾸던 중에, 스마트 서치(CLIP)만 메모리를 유독 많이 먹고 GPU 메모리에 모델을 못 올려 죽는 일이 있었습니다. 얼굴 인식이나 OCR은 메모리를 별로 안 쓰고요. 그래서 떠올린 게 “ML 컨테이너를 CPU용, GPU용 두 개 띄워서 스마트 서치만 CPU로 보내면 되지 않나?”였습니다. 결론부터 말하면 기본 기능으로는 안 됩니다. 왜 안 되는지가 꽤 재밌어서 정리해…
[Homelab] authentik·ksmbd·Samba 인증 통합 실험과 최종 선택
공식 authentik Flow와 SMB DB 동기화로 비밀번호 변경·계정 비활성화를 시험했습니다. 구현 성공 이후에도 기존 Samba + OpenLDAP 구성을 선택한 이유를 정리했습니다.
[Homelab] 조용한 홈랩 만들기: 미니 PC 쓰로틀링을 숫자로 잡은 기록 (PL1, PL2, 클럭 상한, 그리고 죽은 팬)
제 홈랩 미니 PC 5대는 성능보다 조용함이 먼저입니다. 거실에서 팬 소리가 들리면 안 되니까, 부팅할 때 cron으로 CPU 전력 제한(RAPL PL1)을 28W에 묶어두고 씁니다. 그런데 그중 한 대(pve3)만 유독 느리고, 유독 뜨겁고, 가끔 멈추기까지 했습니다. “28W로 묶었으니 조용한 대신 좀 느린 거겠지” 하고 넘겼던 게 실수였습니다. 같은 CPU를 쓰는 노드들과 나란히 놓고 재보니 이건 설정…
![[Homelab] KubeShelf 개발기: Kubernetes 서비스를 자동으로 모으는 대시보드 [Homelab] KubeShelf 개발기: Kubernetes 서비스를 자동으로 모으는 대시보드](data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201440%201355%22%3E%3C%2Fsvg%3E)
[Homelab] KubeShelf 개발기: Kubernetes 서비스를 자동으로 모으는 대시보드
늘어난 홈랩 서비스의 주소를 찾기 어려워 KubeShelf를 만들었습니다. Ingress·NodePort 자동 발견, 여러 도메인을 묶는 카드, 사용자별 공개 범위와 즐겨찾기, Git·Fleet·ConfigMap으로 이어지는 설정 저장 과정을 정리합니다.
[Homelab] authentik으로 로그인 통합하기: 기존 계정과 GitOps 복구 경로 유지
홈랩 웹 앱의 OIDC 연결을 정리했습니다. WordPress issuer 수정과 기존 관리자 연결, Homarr 설정 보존, Gitea의 독립 로그인과 Fleet 의존성을 다룹니다.
![[Homelab] Ingress는 그대로, Cloudflare Tunnel과 Gateway API 연결하기: 브리지 개발과 전환 기록 [Homelab] Ingress는 그대로, Cloudflare Tunnel과 Gateway API 연결하기: 브리지 개발과 전환 기록](data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201600%20980%22%3E%3C%2Fsvg%3E)
[Homelab] Ingress는 그대로, Cloudflare Tunnel과 Gateway API 연결하기: 브리지 개발과 전환 기록
기존 Helm chart와 Rancher의 Ingress를 유지하면서 여러 Cloudflare Tunnel과 Cilium Gateway를 선택하도록 브리지를 만들었다. 설계 배경부터 TLS·헤더·GitOps 소유권과 실제 서비스 전환 검증까지 정리했다.
[Homelab] OneNote 노트를 SilverBullet으로 옮기고 pgvector RAG 검색 붙이기
저는 오랫동안 리눅스, 서버, 홈랩 관련 메모를 전부 OneNote에 적어왔습니다. 노트북이 열 개 넘게, 페이지가 2천 개 넘게 쌓이고 나니 문제가 생겼습니다. 분명히 예전에 고쳐본 문제인데, “그때 이거 어떻게 했더라?” 가 검색이 안 되는 겁니다. 키워드가 정확히 맞아야 찾을 수 있고, 스크린샷 속 글자는 아예 안 잡히고요. 그래서 이번에 큰맘 먹고 두 가지를 했습니다. 9월…
[Homelab] WordPress 404 추적기: Cilium 헬스체크와 NetBird 규칙 순서
이미지 URL의 간헐적 404를 출발 IP, Cilium identity, 프록시 라우팅 설정과 iptables 순서로 추적했습니다. 두 노드의 실제 재부팅까지 검증한 복구 기록입니다.
[Homelab] SR-IOV iGPU로 Immich 머신러닝 돌리기: GPU HANG을 잡은 preempt_timeout, 그리고 파드 CPU 1/7
2026-10-14 업데이트: 이 작업은 워커 VM 안과 Proxmox 호스트 양쪽에서 같이 진행했는데, 처음 글은 VM 쪽 시야로만 쓰여 있었습니다. 호스트에서 확인한 내용을 반영해 일부 수치와 설명을 바로잡고 보탰습니다. 지난 글에서 Proxmox에서 Arrow Lake(Core Ultra 5 235H) iGPU를 SR-IOV로 쪼개 openSUSE MicroOS 게스트에 붙였고, 그다음 글에서는 그 드라이버를 OBS로 자동 빌드하는 파이프라인까지 만들었습니다. 그럼 이제 그…
[Homelab] 노드 drain이 15분씩 걸리던 이유: CNPG primary의 PDB와 ‘미리 옮겨두기’
홈랩 Proxmox 노드 5대는 한 달에 두 번씩 정해진 날짜에 자동으로 재부팅됩니다. 노드가 내려가기 전에는 그 위의 RKE2 워커 VM이 스스로 kubectl drain을 돌리고요. 그런데 어떤 날은 drain이 1~2분이면 끝나고, 어떤 날은 딱 15분(타임아웃)을 꽉 채우고 끝났습니다. 처음엔 엉뚱한 놈을 의심했고, 저널을 실측해 보니 범인은 따로 있었습니다. 그리고 고치는 방법이 “재부팅 직전에 서두르기”가 아니라 “다음…

![[Homelab] KubeShelf 개발기: Kubernetes 서비스를 자동으로 모으는 대시보드 [Homelab] KubeShelf 개발기: Kubernetes 서비스를 자동으로 모으는 대시보드](https://cola16.app/wp-content/uploads/2026/10/kubeshelf-demo-dashboard-20261009.png)
![[Homelab] Ingress는 그대로, Cloudflare Tunnel과 Gateway API 연결하기: 브리지 개발과 전환 기록 [Homelab] Ingress는 그대로, Cloudflare Tunnel과 Gateway API 연결하기: 브리지 개발과 전환 기록](https://cola16.app/wp-content/uploads/2026/10/cola16-cloudflare-gateway-design.png)