Blog
-
개인 블로그에 GA4 달고, 검색엔진 4곳에 등록한 기록 — SEO 최적화 Phase 1
Astro + Cloudflare Pages 블로그에 GTM/GA4를 설치하고, Google·Naver·Bing·Daum 검색엔진에 등록한 과정. 측정 없이 최적화하지 않기 위해 baseline부터 깔았다.
-
port-forward 3단계를 URL 한 줄로 — Hermes 대시보드에 Cloudflare Tunnel 붙이기
kubectl exec + port-forward 2단계를 매번 치던 Hermes 대시보드를 s6 자동 기동 + Cloudflare Tunnel + Access로 바꿔 어디서든 URL 하나로 접속하게 만든 기록. K8s Service env var 충돌과 NetworkPolicy 삽질 포함.
-
Hermes Agent에 두 번째 봇을 올리다 — 멀티 프로필로 inbox 봇 추가하기
하나의 파드에서 두 개의 Discord 봇을 돌리기까지. Discord Developer Portal 삽질, s6 서비스 등록, Cloudflare Access 인증을 K8s Secret + SOUL.md 환경변수 참조로 풀어낸 기록.
-
Superset을 올리려다 인프라부터 다시 짰다 — RPi K3s에서 PostgreSQL·Redis 공유 설계
BI 도구 하나 추가하려다 PostgreSQL·Redis를 앱마다 따로 띄울 여유가 없다는 걸 깨달았다. 앱별 DB/유저, Redis DB 번호 격리, dev-infra Docker Compose 패턴, cross-app Celery 메시징까지 — 라즈베리 파이 4대로 4개 앱을 돌리는 공유 인프라 구축기.
-
아무거나 던지면 LLM이 알아서 분류한다 — InboxPilot MVP 하루 만에 만들기
URL이든 메모든 던져넣으면 Claude가 자동 분류·요약·태깅. 3에이전트 교차 검증, 프롬프트 튜닝으로 분류 정확도 70→100%, Cross-app Celery 메시징까지 — 하루 만에 MVP를 완성한 기록.
-
헤드리스 OpenClaw 에이전트에게 손발 달아주기 — ssh backend 코딩 샌드박스
대화는 되는데 pwd 하나를 못 돌리던 헤드리스 OpenClaw 봇에, 전용 sandbox Pod + ssh backend로 exec를 붙인 기록. uid 1024 우회가 ssh·Trivy까지 번진 연쇄 함정 포함.
-
헤드리스 K3s의 OpenClaw에 Discord 붙이기 — uid 1024라는 우회로
config에 토큰 한 줄이면 될 줄 알았던 Discord 봇 연결이 네 단계 함정으로 번진 이야기. NFS uid squash에 막혀, 끝내 컨테이너를 uid 1024로 실행하는 역발상으로 푼 기록.
-
숨어 있는 강의 영상의 '진짜 주소'를 낚아채는 Chrome 확장 — videokeeper에 입구를 달다
Manifest V3 webRequest로 m3u8/mpd 스트리밍 URL을 감지하고, 사이트·CDN 쿠키를 모아 Netscape 포맷으로 변환해 videokeeper에 넘기는 얇은 보조 확장을 만든 기록.
-
Discord 봇 하나 올리는데 스토리지부터 다시 짰다 — 홈랩 K3s에 Hermes Agent 배포기
SQLite state.db 하나 때문에 NFS·local-path·iSCSI를 다시 저울질하고, 멀티아키 빌드·Codex 로그인·Discord 인텐트까지 줄줄이 밟은 홈랩 K3s 배포기.
-
홈랩 K8s 프로젝트에 Renovate 도입하기 — Helm Chart와 컨테이너 이미지 버전 자동 관리
Helm Chart, 커스텀 이미지 태그, justfile까지 — Renovate customManagers로 홈랩 의존성을 자동 추적한 설정 기록
-
홈랩 K3s 클러스터에 보안 자동화 파이프라인 구축하기
OS 패치부터 이미지 취약점 스캔, Telegram 알림, 실제 패치까지 — 하루 만에 구축한 홈랩 보안 파이프라인 기록
-
하루 만에 MVP를 배포하고, 13일간 꾸준히 키운 이야기 — videokeeper 개발기
Claude Code와 하루 만에 YouTube 아카이브 MVP를 만들어 배포하고, 13일간 파일 업로드, 음성인식, Google OAuth까지 확장해간 과정.
-
Django에서 대용량 파일 업로드가 502를 내뿜는 이유, 그리고 tusd로 해결한 이야기
Django + Cloudflare Tunnel 환경에서 대용량 파일 업로드 시 502가 발생한 원인과, tusd로 업로드를 분리하여 해결한 아키텍처 변경기
-
3년간 먼지 쌓인 라즈베리 파이 4대로 Kubernetes 클러스터를 만들었다
라즈베리 파이 4대, Intel 미니 PC 2대, Synology NAS 1대. 서랍 속 하드웨어로 프로덕션 인프라를 구축한 3개월간의 기록