글
개발하며 마주친 문제와 해결 과정, 그리고 회고를 기록합니다.
개인 프로젝트 인프라 설계: 도메인부터 집 서버, CI/CD까지 어떻게 왜 나눴나
개인 프로젝트 여러 개를 거의 0원으로 운영하기 위해 도메인(가비아·Cloudflare), DNS, 서버리스 호스팅과 Supabase, 라즈베리파이 자가 호스팅, Cloudflare Tunnel과 Tailscale, GitHub Actions CI/CD를 어떻게 나누고 엮었는지, 그리고 각 선택의 이유와 대가를 정리합니다.
Supabase는 무엇인가: Postgres 위에 얹은 백엔드 한 벌
서버를 직접 만들지 않고도 DB, 인증, 파일 저장, 서버 함수를 쓸 수 있게 해 주는 Supabase를 정리합니다. Firebase와의 차이, 공개 키와 비밀 키, RLS(행 수준 보안), RPC 함수, 예약 작업, Edge Function, 무료 플랜을 쓸 때 알아 둘 점까지 개인 개발자 입장에서 설명합니다.
Tailscale은 무엇인가: 내 기기들만의 사설망을 5분 만에
포트 포워딩이나 VPN 서버 없이 내 Mac, 휴대폰, 집 서버를 하나의 사설망으로 묶어 주는 Tailscale을 정리합니다. WireGuard 기반 메시 VPN의 원리, MagicDNS, serve와 Funnel의 차이, ACL, GitHub Actions에서 임시 노드로 접속하는 방법까지 개인 개발자 입장에서 설명합니다.
Cloudflare는 무엇을 해 주나: 도메인, DNS, 프록시, 터널
도메인을 사고 나면 가장 먼저 만나는 Cloudflare를 정리합니다. 도메인 등록 업체와 DNS의 차이, 네임서버를 옮기는 이유, 주황 구름(프록시)과 회색 구름(DNS만)의 차이, 공유기 포트를 열지 않고 집 서버를 공개하는 Cloudflare Tunnel까지 개인 개발자 입장에서 설명합니다.
자가 호스팅 자동화 서버의 보안 설계: 오토포스트
계정 정보와 인스타 토큰을 다루는 게시 자동화 도구 오토포스트(postflow)를 자가 호스팅하며 고민한 보안 설계를 정리합니다. 인터넷에 경로 하나만 여는 공개 터널 이중 잠금, 로그에 토큰이 남지 않게 하는 방법, AI·외부 글이 섞인 HTML의 XSS 방어, 이미지 다운로드 SSRF 방어, 에이전트 입력 검증까지 다룹니다.