[컴퓨터 놀이] 코알못도 했다! 나만의 홈서버 구축기 (8) — 방문자 0명의 충격 — 커스텀 도메인과 Cloudflare Tunnel로 검색 노출 해결

홈서버에서 .ts.net을 prsm-studio.com 커스텀 도메인으로 변경하는 과정

6편에서 WordPress 블로그를 세팅하고, 7편에서 n8n으로 자동화까지 완성했습니다. 블로그 완성. 자동화 완성. 글도 열심히 씁니다. 근데요.

방문자가 사실상 0명입니다.

정확히 말하면, 2주 동안 총 방문자 5명. 그중 3명은 봇(크롤러)이고 실제 사람은 2명뿐이었습니다. 그것도 검색으로 들어온 게 아니라 어딘가에서 링크를 타고 온 거예요. 구글에서 제 블로그를 검색하면? 아무것도 안 나옵니다. 네이버? 마찬가지. 유일하게 Daum에서만 검색이 됐는데, 구글이나 네이버에서 안 나오면 사실상 없는 거나 마찬가지입니다.

원인은 어이없을 만큼 단순했습니다.

Tailscale Funnel의 치명적인 약점: .ts.net은 검색엔진이 무시한다

.ts.net 서브도메인으로는 검색엔진에 노출되지 않는 문제
.ts.net 주소로는 Google 검색 결과에 단 하나도 나오지 않았다

2편에서 Tailscale Funnel을 설정했죠? 무료로 내 서버를 인터넷에 공개하는 마법 같은 기능이었습니다. 주소는 blog.dace-sidemirror.ts.net. 접속 잘 되고, SSL 자동이고, 완벽했습니다.

근데 이 주소에 치명적인 문제가 있었습니다.

.ts.net은 Tailscale이 소유한 서브도메인입니다. Google 입장에서 이건 “남의 플랫폼에 올린 페이지”입니다. Tailscale이라는 회사 도메인의 수많은 서브도메인 중 하나일 뿐이니까요. Google은 이런 서브도메인을 잘 색인하지 않습니다. 왜냐하면 하나의 루트 도메인 아래 수천, 수만 개의 서브도메인이 있을 수 있는데, Google이 이걸 전부 크롤링하면 리소스 낭비이기 때문입니다. 실제로 Tailscale의 공식 문서에서도 Funnel은 “개발과 테스트 용도”라고 명시하고 있습니다.

실제로 확인해봤습니다:

site:ts.net  →  Google 검색 결과: 0건
site:blog.dace-sidemirror.ts.net  →  0건

2주 동안 쓴 글 16개, Google에 단 하나도 색인되지 않았습니다. 아무리 좋은 글을 써도, 검색엔진이 주소 자체를 무시하면 의미가 없습니다.

Tailscale Funnel은 개발용으로는 훌륭합니다. 내부 테스트, 친구한테 잠깐 보여주기, 웹훅 테스트. 하지만 불특정 다수에게 공개하는 블로그에는 맞지 않았습니다. 검색에 안 나오는 블로그는 블로그가 아닙니다.

홈서버 블로그에 커스텀 도메인이 필요한 이유

커스텀 도메인이 필요한 이유는 SEO만이 아닙니다:

  • 브랜딩prsm-studio.com은 기억하기 쉽고, blog.dace-sidemirror.ts.net은 아무도 기억 못합니다
  • 신뢰도 — 자체 도메인은 “이 사람이 진지하게 운영하는 사이트구나”라는 인상을 줍니다
  • 이동성 — 서버를 바꿔도, 호스팅을 바꿔도 도메인은 그대로. Tailscale을 쓰든 Cloudflare를 쓰든 내 주소는 변하지 않습니다
  • 이메일 — 나중에 [email protected] 같은 커스텀 이메일도 만들 수 있습니다

해결책: 커스텀 도메인 + Cloudflare Tunnel

필요한 건 두 가지였습니다:

  1. 내 도메인 — .com이든 .dev든 내 이름으로 된 주소
  2. 그 도메인을 내 서버에 연결하는 방법 — 공유기 포트포워딩 없이

Cloudflare가 둘 다 해결해줍니다. 도메인 구매도 Cloudflare에서, 터널도 Cloudflare에서. 그리고 둘 다 무료(도메인 등록비 제외).

Tailscale Funnel Cloudflare Tunnel
도메인 .ts.net (고정) 내 도메인 사용
SEO ❌ 검색 노출 불가 ✅ 정상 색인
SSL 자동 자동
속도 보통 Cloudflare CDN 캐싱
설정 난이도 매우 쉬움 쉬움 (10분)
비용 무료 무료 (도메인비만 연 $10~15)
포트포워딩 불필요 불필요

Tailscale Funnel은 그대로 유지합니다. 내부 서비스 접근용으로는 여전히 최고니까요. 외부 공개용 블로그만 Cloudflare Tunnel로 바꾸는 겁니다. 두 터널이 같은 서버에서 동시에 돌아가는 데 전혀 문제 없습니다.

1단계: Cloudflare에서 도메인 구매 (5분, $10.44)

도메인 이름 고르는 게 가장 오래 걸렸습니다. 개인 프로젝트와 관련된 이름으로 하고 싶었는데, 좋은 건 다 선점돼 있더라고요. 이것저것 검색해본 결과 prsm-studio.com이 마음에 들어서 바로 결정.

Cloudflare 대시보드에서 도메인을 바로 구매했습니다. $10.44/년. 월 900원도 안 됩니다. 이게 원가(ICANN 등록비)라서 다른 데보다 저렴합니다. GoDaddy나 Namecheap 같은 곳은 첫 해 싸게 보이지만 갱신할 때 2~3배 뛰거든요. Cloudflare는 원가 그대로, 갱신비도 동일. 이건 Cloudflare가 도메인 사업으로 이윤을 남기지 않겠다고 공식 선언했기 때문입니다.

도메인 구매 팁: .com이 가장 무난합니다. .dev, .io 같은 건 멋있어 보이지만 연간 비용이 2~3배 높고, 일부 사용자들은 .com이 아닌 주소를 신뢰하지 않습니다. .com으로 원하는 이름이 있으면 .com을 추천합니다.

2단계: Cloudflare Tunnel 설치 (10분)

홈서버와 Cloudflare 사이의 보안 터널 연결
Cloudflare Tunnel: 내 서버와 Cloudflare 사이의 보안 터널

Cloudflare Tunnel은 내 서버와 Cloudflare 사이에 보안 터널을 만드는 서비스입니다. 공유기 포트포워딩 없이, 내 서버의 포트를 외부에 안전하게 노출합니다. Tailscale Funnel과 비슷한 개념인데, 내 도메인을 쓸 수 있다는 게 핵심 차이입니다.

제가 한 건 딱 두 개: Cloudflare 대시보드에서 터널 만들기 버튼 클릭, 그리고 받은 토큰을 Claude Code한테 전달. 나머지는 전부 Claude Code가 알아서 했습니다.

# Claude Code가 실행한 명령어
sudo cloudflared service install [Cloudflare에서 받은 토큰]

이 한 줄로 cloudflared가 시스템 서비스로 등록되고, 재부팅해도 자동으로 터널을 연결합니다. Claude Code가 Cloudflare 대시보드 터널 라우팅도 안내해줘서 설정했습니다:

  • Public hostname: prsm-studio.com
  • Service: http://localhost:8080 (WordPress가 돌아가는 포트)

이제 prsm-studio.com으로 접속하면 → Cloudflare 터널 → 내 서버 WordPress로 연결됩니다. SSL도 자동, CDN 캐싱도 자동. 보안도 Cloudflare WAF가 알아서 차단해주니까 공유기 포트포워딩보다 훨씬 안전합니다.

3단계: WordPress URL 마이그레이션 — 나는 구경만 했다

Claude Code AI가 WordPress URL 636건을 자동으로 교체하는 모습
AI가 636건의 URL을 자동 교체하는 동안, 사람은 구경만 했다

도메인을 바꾸면 WordPress 내부의 모든 URL을 바꿔야 합니다. 글 안의 이미지 경로, 내부 링크, SEO 메타데이터, RSS 피드 주소… 생각보다 엄청 많습니다.

바꿔야 할 것들:

  • wp-config.phpWP_HOME, WP_SITEURL — WordPress가 자기 주소를 인식하는 핵심 설정
  • 데이터베이스의 모든 URL — 글 본문의 이미지 경로, 내부 링크, 메타데이터
  • Yoast SEO의 schema, OG 태그 — 검색엔진과 SNS 공유 시 표시되는 URL
  • robots.txt의 사이트맵 주소 — 검색엔진 크롤러가 참조하는 경로
  • n8n 워크플로우의 모니터링 URL — 자동화 도구의 헬스체크 주소

저한테 이걸 하나하나 수동으로 고치라고 하면 일주일은 걸립니다. 뭘 바꿔야 하는지도 모르니까요. Claude Code한테 “도메인 바꿨어, 나머지 처리해”라고 한 줄 시켰습니다. 그랬더니 알아서 전부 찾아서 바꿨습니다:

# Claude Code가 실행한 명령어
wp search-replace 'blog.dace-sidemirror.ts.net' 'prsm-studio.com' --all-tables
# 결과: 636건 교체 완료

636개나 바꿀 게 있었습니다. 데이터베이스 URL 교체뿐만 아니라, wp-config.php 수정, Yoast SEO 캐시 삭제, robots.txt 갱신, n8n 워크플로우 API로 모니터링 URL 교체, 블로그 발행 스크립트의 도메인 갱신까지 — 전부 자동으로 처리했습니다. 저는 터미널에 출력되는 로그를 구경했을 뿐입니다.

중간에 Cloudflare 캐시 문제가 생겼습니다. robots.txt를 업데이트했는데 계속 옛날 내용이 나오는 거예요. Cloudflare가 정적 파일을 4시간 동안 캐싱하고 있었거든요. Claude Code가 원인 찾고 no-cache 헤더까지 설정해줬는데, 결국 제가 한 건 Cloudflare 대시보드에서 “Purge Everything” 버튼 한 번 누른 것뿐입니다.

4단계: 301 리다이렉트로 옛 주소 자동 이동 설정

혹시라도 옛 주소(blog.dace-sidemirror.ts.net)로 들어오는 사람이 있으면, 새 주소로 자동 이동시켜야 합니다. Claude Code가 Apache .htaccess에 리다이렉트 규칙을 추가했습니다:

RewriteCond %{HTTP_HOST} blog\.dace-sidemirror\.ts\.net [NC]
RewriteRule ^(.*)$ https://prsm-studio.com/$1 [R=301,L]

301은 “영구 이동”이라는 뜻입니다. 검색엔진한테 “이 주소는 영원히 새 주소로 바뀌었어”라고 알려주는 거예요. 옛 주소로 접속하면 자동으로 새 주소로 넘어갑니다. SEO 관점에서도 301 리다이렉트는 기존 주소의 검색 점수(도메인 권한)를 새 주소로 이전시켜주기 때문에 반드시 설정해야 합니다.

5단계: 검색엔진 등록 — 나는 버튼만 클릭했다

Google Naver Bing Daum 검색엔진 등록
4대 검색엔진 전부 등록 완료

이제 진짜 검색엔진에 “나 여기 있어!”라고 알릴 차례입니다. 등록해야 할 곳은 4군데:

  • Google Search Console — 속성 추가 → DNS 인증 → 사이트맵 제출
  • Naver Search Advisor — 사이트 등록 → HTML 메타태그 인증
  • Bing Webmaster Tools — 사이트 등록 → URL 제출
  • Daum 웹마스터 도구 — robots.txt에 인증 코드 추가

솔직히 여기서 제가 한 건 “이거 등록해”라고 지시하고, 각 사이트에서 인증 코드 받아서 Claude Code한테 넘기고, 완료 버튼 클릭한 것뿐입니다. 인증 코드를 WordPress에 집어넣는 작업, Naver/Daum 메타태그 설정, robots.txt 업데이트 — 전부 Claude Code가 처리했습니다.

사이트맵은 Yoast SEO 플러그인이 자동 생성해줍니다. prsm-studio.com/sitemap_index.xml에 블로그의 모든 페이지 목록이 있고, 이걸 검색엔진에 제출하면 “이 URL들을 크롤링해주세요”라고 요청하는 겁니다.

Claude Code는 추가로 IndexNow라는 프로토콜로 32개 URL을 한꺼번에 제출해줬습니다. IndexNow는 Bing, Yandex, Naver 등이 지원하는 즉시 색인 요청 API입니다. 이건 제가 시킨 것도 아닌데 알아서 해줬어요. “새 도메인으로 바꿨으니 검색엔진에도 알려야지”라고 스스로 판단한 겁니다.

결과: 검색 노출 시작

도메인 변경 후 현재 상태:

  • prsm-studio.com 정상 접속
  • ✅ Google/Naver/Bing/Daum 전부 등록 완료
  • ✅ 사이트맵 제출 완료
  • ✅ IndexNow로 32개 URL 즉시 제출
  • ✅ 옛 주소 301 리다이렉트
  • ✅ Daum 검색 노출 확인 (Daum은 .ts.net 시절부터 유일하게 잡아주고 있었음)
  • ⏳ Google/Naver 색인 대기 중 (보통 며칠~2주)

재밌는 건, Daum은 .ts.net 주소일 때도 검색이 됐다는 겁니다. 4대 검색엔진 중 유일하게요. 하지만 한국에서 Daum만으로는 부족합니다. Google과 네이버에서 잡혀야 진짜 트래픽이 들어오니까요. 커스텀 도메인으로 바꾼 지금, n8n의 Blog Indexing Monitor가 12시간마다 색인 상태를 확인해서 텔레그램으로 알려줍니다. 기다리기만 하면 됩니다.

교훈은 두 개입니다. 첫째, 무료에는 이유가 있다. Tailscale Funnel은 무료이고 편하지만, 검색 노출이라는 블로그의 핵심 기능이 빠져 있었습니다. 연 14,000원으로 그 문제를 완전히 해결했습니다.

둘째, AI한테 시키면 진짜 다 해준다. 이번 편에서 제가 직접 한 건 딱 이것뿐입니다:

  • Cloudflare에서 도메인 구매 (카드번호 입력)
  • Cloudflare 대시보드에서 터널 생성 버튼 클릭
  • 검색엔진 사이트에서 인증 코드 복사 + 완료 버튼 클릭

wp-config 수정, DB 636건 URL 교체, .htaccess 리다이렉트 설정, SEO 메타태그 삽입, n8n 워크플로우 업데이트, IndexNow 32개 URL 일괄 제출, 캐시 문제 디버깅 — 기술적인 작업은 100% Claude Code가 했습니다. 코드 모르는 사람이 도메인 마이그레이션을? AI 시대에는 가능합니다.

다음 편 예고

다음 편에서는 온라인 회의 자동 전사 + AI 회의록을 다룹니다. Google Meet, Zoom, Teams 같은 웹 회의에 들어가서 자동으로 음성을 텍스트로 변환하고, AI가 핵심 내용과 할 일을 정리해주는 — 제조업 현장에서 회의 끝나면 회의록이 이미 완성돼 있는 이야기입니다.

여기까지 읽어주셔서 감사합니다. 다음 편도 기대해 주세요!

이 글도 AI(Claude Code)가 작성했습니다. 도메인 마이그레이션도, 이 블로그 글도, 전부 AI가 했습니다. 저는 “해”라고 말했을 뿐입니다.

[컴퓨터 놀이] 코알못도 했다! 나만의 홈서버 구축기 (7) — n8n으로 서버가 알아서 일하게 만들기

지난 6편까지 홈서버에 사진 백업(Immich), AI 비서(OpenClaw), 로컬 AI(Ollama), 블로그(WordPress)를 전부 올렸습니다. 이 서비스들, 각각은 잘 돌아갑니다. 근데 매번 손으로 관리하면? 솔직히 귀찮습니다.

“한번 세팅해놓으면 알아서 돌아가게 하고 싶다.”

그래서 올린 게 n8n입니다. 설치하고 워크플로우 몇 개 만들어놨더니, 이제 서버가 혼자서 일합니다. 저는 텔레그램 알림만 확인하면 됩니다.

IT, 간판, 개념의 무료 스톡 사진
Photo by RealToughCandy.com / Pexels

n8n이 뭔데? 한 줄 요약: 무료 Zapier

n8n(엔에잇엔)은 비주얼 자동화 도구입니다. Zapier나 Make(구 Integromat) 써보셨으면 딱 그겁니다. 블록을 끌어다 놓고 선으로 연결하면 자동화 완성. 코드? 한 줄도 필요 없습니다.

다른 점은 딱 하나. 내 서버에서 돌린다는 것. 그래서 무료이고, 실행 횟수 제한도 없고, 내 데이터가 남의 서버로 안 갑니다.

Zapier n8n (셀프호스팅)
가격 월 $19.99부터 무료
실행 제한 100~750회/월 무제한
내 데이터 Zapier 서버에 저장 내 서버에만
연동 서비스 7,000+ 400+ (주요 서비스 다 있음)
UI 매우 쉬움 쉬움 (약간의 학습)

홈서버가 이미 있다면 n8n을 안 쓸 이유가 없습니다. Zapier 무료 플랜의 월 100회 제한에 걸려본 적 있다면 더더욱요.

n8n 설치하기: Docker Compose 한 방

1편에서 Docker 세팅 다 해놨죠? 그 위에 올리면 됩니다.

services:
  n8n:
    image: n8nio/n8n:latest
    ports:
      - "5678:5678"
    volumes:
      - ./data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=내비밀번호
    restart: unless-stopped

Claude한테 “n8n 설치해줘” 한마디면 이 파일을 만들고 docker compose up -d까지 쳐줍니다. http://서버IP:5678로 접속하면 이런 화면이 나옵니다:

CSS, HTML, IT의 무료 스톡 사진
Photo by Godfrey Atima / Pexels

처음 보면 “이게 뭐지?” 싶습니다. 근데 5분만 만져보세요. 왼쪽 패널에서 노드(블록)를 드래그해서 캔버스에 놓고, 노드끼리 선으로 연결하면 됩니다. 레고 조립이랑 비슷해요.

실전 워크플로우 ① — 개발 일지를 Notion에 자동 동기화

저는 PRSM이라는 통화 정리 앱을 만들고 있습니다. (코알못이 앱을 만든다고? 네, AI한테 시키면 됩니다. 이건 나중에 따로 쓸게요.) 매일 개발 진행 상황을 GitHub에 기록하는데, 이걸 Notion에도 정리하고 싶었습니다.

수동으로 하면:

  1. GitHub 열기
  2. 오늘자 일지 파일 찾기
  3. 내용 복사
  4. Notion 열기
  5. Day Log 페이지에 붙여넣기
  6. 날짜 태그 달기

하루에 5분. 별것 아닌 것 같지만, 한 달이면 2시간 반입니다. 그리고 솔직히 매일 까먹습니다.

n8n으로 자동화한 결과:

⏰ 매일 밤 11시 → 📂 GitHub에서 파일 읽기 → 📝 Notion Day Log에 자동 추가

노드 3개. 한번 만들어놓으니 매일 밤 알아서 돌아갑니다. 내가 할 일: 없음. 아침에 Notion 열면 어젯밤 일지가 깔끔하게 정리되어 있습니다.

실전 워크플로우 ② — 블로그 Google 색인 자동 감시

블로그 글을 아무리 잘 써도, Google에 색인이 안 되면 검색에 안 나옵니다. 아무도 못 찾는다는 뜻이에요. 특히 새 블로그는 색인이 느려서, 글 올리고 며칠씩 안 잡히는 경우가 흔합니다.

이걸 매번 수동으로 확인하려면? Google Search Console 접속해서 URL 하나하나 검사해야 합니다. 글이 10개면 10번.

n8n이 대신합니다:

⏰ 12시간마다 자동 실행 → 🔍 발행된 글 URL 목록 가져오기 → 🔎 Google 색인 여부 확인 → ❌ 미색인 발견? → 📱 텔레그램으로 알림

“마스터, 3편이랑 5편이 아직 Google에 안 잡혔어요!” — 이런 알림이 텔레그램으로 옵니다. 그러면 저는 Search Console에서 색인 요청만 클릭하면 끝.

실전 워크플로우 ③ — 서버 죽으면 즉시 알림

홈서버에 서비스가 여러 개 돌아가면, 하나가 슬쩍 죽어도 모릅니다. Immich가 업데이트 후 뻗었는데 하루 넘게 몰랐던 적이 있습니다. 그때 사진 자동 백업이 하루 동안 안 됐어요.

그래서 만든 워크플로우:

⏰ 주기적 실행 → 🏥 Immich 응답 확인 → 🏥 OpenClaw 응답 확인 → 🏥 WordPress 응답 확인 → ⚠️ 하나라도 이상? → 📱 텔레그램 알림

이제 서비스 하나가 죽으면 몇 분 안에 알림이 옵니다. 실제로 이 워크플로우 세팅한 뒤에 Immich가 한번 더 뻗었는데, 이번엔 10분 만에 발견하고 바로 고쳤습니다. n8n이 24시간 감시해주니까요.

실전 워크플로우 ④ — 아침 모닝 브리핑 데이터 준비

5편에서 소개한 졸개(AI 비서)의 아침 모닝 브리핑 기억하시죠? 매일 아침 7시에 날씨, 뉴스, 금 시세, 일정을 정리해서 텔레그램으로 보내주는 서비스요.

그 브리핑을 만들려면 데이터가 필요합니다. 날씨 API 호출하고, 환율 가져오고, 캘린더 확인하고. 이 데이터 수집을 n8n 스케줄이 매일 아침 6시 50분에 자동으로 해놓습니다. 7시에 졸개가 데이터를 받아서 요약하고, 텔레그램으로 쏴줍니다.

내 아침 루틴: 눈 뜨고 → 텔레그램 열고 → 오늘 날씨랑 뉴스 확인. 끝. ☕

자동화 전과 후

작업 자동화 전 자동화 후
개발일지 Notion 동기화 매일 5분, 자주 까먹음 자동 (0분)
블로그 색인 확인 수동 검색, 귀찮아서 안 함 12시간마다 자동, 알림만 확인
서버 상태 확인 문제 생겨야 알게 됨 죽으면 즉시 알림
모닝 브리핑 직접 뉴스 검색 아침에 텔레그램만 확인

시간 절약도 좋지만, 진짜 좋은 건 마음이 편해진다는 겁니다. “서버 괜찮나?”, “색인 됐나?”, “일지 옮겼나?” — 이런 자잘한 걱정을 안 해도 됩니다. 다 n8n이 지켜보고 있으니까요.

n8n 셀프호스팅 비용 정리

정리해봅시다.

항목 Zapier 사용 시 n8n 셀프호스팅
월 구독료 $19.99 (약 ₩27,000) ₩0
연간 비용 약 ₩324,000 ₩0
추가 전기세 없음 거의 없음 (서버 이미 24시간 가동 중)

n8n은 가벼워서 서버 리소스를 거의 안 먹습니다. Immich나 Ollama에 비하면 티도 안 나요. 이미 서버가 돌아가고 있으니 추가 전기세도 사실상 0원입니다.

초보자가 주의할 점

다 좋지만, 솔직하게 주의사항도 적습니다.

  • 워크플로우 이름을 잘 붙이세요. “My Workflow 1”, “New Workflow” 이런 식으로 놔두면 10개 넘어갈 때 뭐가 뭔지 모릅니다. “PRSM → Notion 동기화”, “서버 헬스체크” 이렇게 구체적으로.
  • 에러 알림 노드를 꼭 추가하세요. API가 일시적으로 안 되거나 서비스가 바뀌면 워크플로우가 조용히 실패합니다. 에러 발생 시 텔레그램 알림 보내는 노드를 마지막에 연결해두면 안심입니다.
  • 외부 접근 차단. n8n에는 Notion 토큰, GitHub 토큰 같은 민감한 정보가 저장됩니다. 방화벽으로 외부 접근을 꼭 막으세요. 저는 1편에서 iptables로 다 막아놨습니다.

다음 편 예고

서버에 자동화까지 올렸으니, 이제 진짜 업무에 바로 쓰이는 기능을 만들어봅니다.

다음 편에서는:

  • 통화 녹음 자동 전사 — 전화 끝나면 텍스트로 자동 변환
  • 회의록 AI 자동 생성 — Google Meet, Zoom 회의 내용을 AI가 요약 정리
  • Whisper — OpenAI가 만든 음성인식 AI를 내 서버에서 무료로
  • 제조업 현장에서 통화 한 통이 곧 업무 기록이 되는 이야기

코알못이 AI 비서에 이어 AI 속기사까지 만든 이야기, 기대해주세요.

이 글은 AI(Claude Code)가 작성하고, 코알못 인간이 감수했습니다. 🤖✨

[컴퓨터 놀이] 코알못도 했다! 나만의 홈서버 구축기 (5) — 요즘 핫한 OpenClaw, 일주일 써본 솔직 후기

선명한 노란색 배경에 골드 인증을 받은 고효율 850W 전원 공급 장치입니다.

요즘 핫하다는 OpenClaw, 직접 써봤습니다

AI 에이전트가 뜨고 있습니다. 그중에서도 OpenClaw라는 오픈소스 AI 에이전트 프레임워크가 개발자 커뮤니티에서 꽤 화제입니다. “내 서버에 AI 비서를 올릴 수 있다”, “텔레그램으로 뭐든 시킬 수 있다” — 이런 말들이 돌아다닙니다.

그래서 직접 해봤습니다. 1편에서 만든 홈서버에 OpenClaw를 설치하고, 텔레그램 봇이랑 연결하고, 일주일 정도 써봤습니다.

결론부터 말하면?

“혁명적? 아닙니다. 근데 몇 가지는 진짜 편합니다.”

# 실내, 기술, 기술 액세서리의 무료 스톡 사진
Photo by Mateusz Haberny / Pexels

OpenClaw가 뭔지부터 간단히

OpenClaw는 오픈소스 AI 에이전트 플랫폼입니다. 내 서버에 설치하면 AI가 단순 대화뿐 아니라 실제로 일을 실행할 수 있습니다. 파일을 읽고, 외부 API를 호출하고, 정해진 시간에 자동으로 작업을 돌립니다. ChatGPT와 가장 큰 차이점은 바로 이 “실행력”입니다.

텔레그램, 슬랙 같은 메신저와 연동되고, “스킬”이라는 플러그인 시스템으로 기능을 확장할 수 있습니다. AI 모델도 Gemini, Claude, GPT, 로컬 LLM 등 원하는 걸로 자유롭게 바꿀 수 있습니다.

설치는 Docker 한 줄. 근데 실제 스킬 개발이나 설정은… 뒤에서 얘기하겠습니다.

텔레그램 봇 연결 — 이름은 “졸개”

OpenClaw를 설치하고 나면 텔레그램 봇이랑 연결해야 합니다. BotFather한테 봇을 하나 만들고, 토큰을 OpenClaw 설정에 넣으면 끝. 여기까지는 별거 아닙니다.

중요한 건 이름입니다. AI 비서인데 뭐라고 부를까 고민하다가 — “졸개”로 정했습니다.

졸개. 조선시대 말단 병졸, 심부름꾼. 주인이 시키면 묵묵히 수행하는 그 존재. AI 에이전트의 본질이 뭔가 생각해보면, 결국 “시키면 하는 놈”이잖아요. 거창하게 “자비스”니 “알렉사”니 할 필요 없습니다. 솔직하게 졸개.

“졸개야 날씨 알려줘”, “졸개야 이거 번역해줘” — 이렇게 부르니까 오히려 자연스럽습니다. 뭔가 거창한 AI 비서가 아니라 그냥 심부름꾼 하나 부리는 느낌. 이름 짓는 데 5초 걸렸는데, 의외로 만족도가 높습니다.

DeepSeek AI 대화 기능이 탑재된 AI 챗봇 인터페이스를 보여주는 스마트폰 화면의 클로즈업.
Photo by Matheus Bertelli / Pexels

솔직히, 놀랍지는 않았습니다

기대가 컸습니다. “AI 에이전트”라는 말 자체가 뭔가 SF스러우니까요. 내 서버에 비서를 심는다? 텔레그램으로 명령하면 알아서 한다?

근데 막상 써보면… ChatGPT한테 말 거는 거랑 크게 다르지 않습니다. 텔레그램으로 물어보면 대답하고, 검색해달라고 하면 검색해주고. “이게 끝인가?” 싶은 순간이 솔직히 있었습니다.

개발자 커뮤니티에서 감탄하는 부분 — 스킬 시스템 아키텍처, 모델 워터폴 전환, API 라우팅 구조 — 이런 건 기술적으로는 깔끔한데, 실제 사용자 입장에서는 “그래서 내 일상이 뭐가 달라지는데?”가 더 중요합니다.

ChatGPT나 Gemini 앱을 열어서 물어보는 것과 텔레그램으로 졸개한테 물어보는 것 — 체감 차이가 크지 않습니다. 적어도 처음엔요.

그런데. 슬슬 편해지기 시작합니다

며칠 지나니까 느껴졌습니다. “아, 이건 없으면 좀 불편하겠다.”

드라마틱하게 인생이 바뀌는 건 아닙니다. 근데 자잘하게 편한 것들이 쌓이면, 그게 꽤 큽니다. 제가 일주일 써보면서 “이건 괜찮다” 싶었던 기능들을 정리합니다.

1. 아침 브리핑 — 스크롤 안 해도 됩니다

매일 아침 7시, 텔레그램에 메시지가 와 있습니다. 부산 날씨와 미세먼지, 환율과 금 시세, 관심 업계 뉴스, AI 기술 트렌드, 게임 소식. 제가 관심 있는 분야만 골라서 보내줍니다.

원래는 출근길에 뉴스 페이지 열어서 관심 있는 기사 나올 때까지 스크롤하면서 훑어봤습니다. 광고 사이사이에서 읽을 만한 기사를 찾아 헤매는 거죠. 이제 그럴 필요가 없어졌습니다. AI가 기사를 읽고 3줄로 요약해서 텔레그램으로 보내주니까, 지하철에서 2분이면 그날 흐름 파악 끝.

이거 하나 때문에 OpenClaw를 설치했다고 하면 과장이지만, 매일 쓰는 기능 중 가장 만족도가 높습니다.

휴대폰에서 텔레그램 앱 사용하기
Photo by Viralyft / Pexels

2. 음성 전사 — 이건 진짜 돈 아낍니다

이게 의외의 킬러 기능이었습니다. Google Meet, Zoom, Teams, Webex — 회의 링크를 졸개한테 던지면 봇이 직접 회의에 참가해서 녹음하고 텍스트로 변환해줍니다.

서버에 설치한 Whisper(오픈소스 음성 인식 AI)가 음성을 텍스트로 바꾸고, 졸개가 그걸 받아서 요약까지 해줍니다. 핵심 내용, 할 일, 결정 사항을 구분해서 정리해주고, 결과는 Notion에 자동 저장까지 됩니다. 회의 끝나면 텔레그램으로 회의록이 와 있는 셈이죠.

네이버 클로바노트나 다글로 같은 클라우드 전사 서비스는 월 2~3만원입니다. OpenClaw + Whisper 조합은? 0원. 전부 내 서버에서 처리되니까요.

다만 현실적인 주의점이 있습니다. Whisper는 PC 스펙을 꽤 많이 먹습니다. 제 서버(Ryzen 7, 32GB RAM)에서 로컬 Whisper를 CPU만으로 돌리면, 1시간짜리 오디오 전사에 1시간 이상 걸립니다. 네, 실시간보다 느립니다. 녹음 길이만큼, 아니 그 이상 기다려야 합니다. NVIDIA GPU가 있으면 CUDA로 5~10배 빠르지만, 제 서버에는 AMD 내장 GPU(Radeon 780M)만 있습니다. AMD는 Vulkan 가속을 지원하지 않아서 GPU가 있어도 못 씁니다. 결국 CPU로만 돌려야 합니다. RAM도 최소 16GB는 있어야 중간 품질 모델을 돌릴 수 있고, 고품질 모델은 32GB가 편합니다. 8GB PC에서는 사실상 쓰기 어렵습니다.

그래서 저는 OpenAI의 Whisper API를 같이 씁니다. 클라우드에서 처리하니까 체감 속도가 확실히 낫습니다. 그래도 빠릿하다고 할 수준은 아니고, 느긋하게 기다려야 합니다. 무료 로컬 vs 유료 API — 상황에 따라 골라 쓰는 셈이죠. 이 기능은 다음 편에서 더 자세히 다룰 예정입니다.

3. 주말 나들이 추천 — 와이프가 좋아합니다

금요일 저녁 6시, “이번 주말 나들이 추천”이 텔레그램으로 옵니다. 주말 날씨를 확인하고, 계절에 맞는 부산 근교 나들이 코스 3개를 추천해줍니다. 각 코스마다 주소, 차로 이동 시간, 아이 데려가기 좋은지 평가, 주차 정보, 예상 비용까지 정리돼서 옵니다. 비 올 때 대안까지 포함해서요.

솔직히 추천 퀄리티가 항상 좋은 건 아닙니다. 가끔 이상한 데를 추천하기도 하고, 이미 가본 곳을 또 추천하기도 합니다. 근데 “이번 주말 뭐 하지?”를 고민하는 시간 자체가 줄어듭니다. 별로면 안 가면 되고, 괜찮으면 바로 가면 되니까.

와이프한테 “여기 어때?” 하고 공유하면 대화 시작점이 됩니다. 아무것도 없이 “주말에 뭐 할까?” 하는 것보다 훨씬 낫습니다.

4. 블로그 자동 발행 — 10분이면 한 편

지금 읽고 계신 이 블로그 자체가 증거입니다. 주제를 던지면 졸개가 키워드 조사, 본문 작성, SEO 메타 태그, 이미지 삽입, 한국어/영어 동시 발행까지 합니다. 약 10분이면 한 편이 워드프레스에 올라갑니다.

물론 AI가 쓴 글을 그대로 발행하지는 않습니다. 확인하고 수정해야 할 부분은 있어요. AI가 쓴 글이 100% 완벽한 적은 한 번도 없습니다. 근데 백지에서 시작하는 것과 80% 완성된 초안에서 시작하는 건 하늘과 땅 차이입니다. 블로그 자동 발행 파이프라인도 다음 편에서 더 깊이 다루겠습니다.

cms, 공책, 구성의 무료 스톡 사진
Photo by Pixabay / Pexels

반면, 기대에 못 미친 것들

솔직한 후기니까 안 좋은 것도 씁니다.

  • 일반 대화는 그냥 ChatGPT가 낫습니다. 응답 속도도 빠르고, 답변 품질도 더 좋습니다. 텔레그램으로 졸개한테 물어보는 것보다 ChatGPT 앱 여는 게 더 편할 때가 많습니다.
  • 스킬 설정이 쉽지 않습니다. 공식적으로는 “코드 없이도 된다”고 하는데, 현실은 다릅니다. 결국 AI한테 코딩을 시켜야 스킬을 만들 수 있습니다. 비개발자 혼자서 새 스킬을 추가하는 건 현실적으로 어렵습니다.
  • 가끔 멍청합니다. 명령을 잘못 알아듣거나, 엉뚱한 결과를 보내거나, 이유 없이 에러가 나거나. AI 에이전트라고 해서 만능은 절대 아닙니다.
  • 응답이 느릴 때가 있습니다. 단순 대화는 빠른데, 웹 검색이 들어가는 작업은 30초에서 1분까지 걸리기도 합니다. 급할 때는 답답합니다.

ChatGPT vs OpenClaw — 비교 정리

ChatGPT / Gemini 앱 OpenClaw (셀프호스팅)
대화 품질 높음 보통 (모델에 따라 다름)
응답 속도 빠름 보통~느림
자동 실행 (크론) 불가 가능
내 서버 파일 접근 불가 가능
외부 API 연동 제한적 자유
텔레그램 연동 불가 기본 내장
데이터 프라이버시 클라우드 저장 내 서버에만
스킬 확장 GPTs (제한적) 무한 확장
설치 난이도 없음 Docker 필요
비용 월 $20+ API 사용료만

정리하면, 대화와 속도는 ChatGPT가 압도적입니다. 근데 자동화, 스케줄 실행, 서버 연동이 필요하면 OpenClaw 쪽이 할 수 있는 게 많습니다. 용도가 다릅니다.

그래서, 설치할 만한가?

OpenClaw가 맞는 사람:

  • 홈서버가 이미 있고 Docker를 쓰는 사람
  • 매일 반복적으로 정보를 수집해야 하는 사람 (뉴스 브리핑, 가격 모니터링 등)
  • 음성 전사를 자주 하는 사람 (이건 진짜 클라우드 서비스비 아낌)
  • 텔레그램 하나로 모든 걸 통일하고 싶은 사람

굳이 안 깔아도 되는 사람:

  • ChatGPT Plus나 Gemini Advanced 구독으로 충분한 사람
  • 자동화할 반복 작업이 딱히 없는 사람
  • 서버 없이 폰만 쓰는 사람

혁명은 아닙니다. 근데 한번 세팅해놓으면 매일 조금씩 편해지는 것들이 있습니다. 아침 브리핑, 음성 전사, 주말 추천 — 이 세 개만으로도 저는 설치한 보람이 있었습니다.

가구, 기능성 가구, 기술의 무료 스톡 사진
Photo by Mateusz Haberny / Pexels

기술 세부 사항 (궁금한 사람만)

참고로 제 졸개(OpenClaw) 설정입니다.

항목 설정
AI 모델 Gemini 2.5 Flash (메인) → Claude Haiku → GPT-4.1-mini → Ollama (로컬 백업)
설치 스킬 32개 (브리핑, 전사, 블로그, 추천, 모니터링 등)
자동 작업 매일 1회 + 매주 3회 + 매월 2회
인터페이스 텔레그램 봇
서버 스펙 Beelink SER9 MAX, AMD Ryzen 7, 32GB DDR5
월 비용 전기세 약 5,000원 + API 사용료

OpenClaw 설치 자체는 Docker 한 줄이면 됩니다. 근데 스킬 개발이나 세부 설정은 AI(Claude Code)한테 시켰습니다. 솔직히 비개발자 혼자서는 어렵습니다. 하지만 AI한테 시키는 것까지 포함하면 가능합니다. 그게 2026년 방식이니까요.

현재 설치된 스킬 목록 (32개)

카테고리 스킬 하는 일
일상 자동화 morning-briefing 매일 아침 맞춤 뉴스 브리핑
weekend-planner 주말 나들이 코스 추천
weekly-insight 해외 트렌드 주간 요약
콘텐츠 blog-factory 블로그 자동 작성 + 발행
translate-blog 블로그 다국어 번역
image-gen AI 이미지 생성
업무 도구 meeting-transcribe 음성 파일 전사 + 요약
ocr-bot 이미지에서 텍스트 추출
gold-briefing 비즈니스 뉴스 브리핑
모니터링 rate-monitor 통신비 변경 감지
busan-culture 부산 문화/체험 프로그램 감시
power-monitor 서버 전력 모니터링
지식 관리 notion-rag Notion 시맨틱 검색
local-rag 로컬 파일 시맨틱 검색
second-brain 개인 지식 관리
시스템 system-heal 서버 자가 치유
self-evolution 에이전트 자기 학습
생활 food-recommend 맛집 추천
anniversary 기념일 알림
기타 +13개 n8n 연동, 의사결정 도우미, 부업 탐색 등

이 중 매일 체감되는 건 솔직히 5~6개입니다. 나머지는 “있으면 좋고 없어도 그만” 수준. 하지만 그 5~6개가 매일 아침 텔레그램에 와 있다는 게 핵심입니다.

다음 편 예고

이번 편에서 잠깐 언급한 블로그 자동 발행, 다음 편에서 제대로 다룹니다. 워드프레스 블로그를 AI가 어떻게 10분 만에 발행하는지 — 키워드 조사부터 한영 동시 발행까지, 비개발자 관점에서 정리합니다.

EP.6 — AI가 블로그를 대신 써준다고? 자동 발행 파이프라인 구축기.

[컴퓨터 놀이] 코알못도 했다! 나만의 홈서버 구축기 (4) — Ollama로 내 PC에서 AI 돌리기

e스포츠, pc 설정, rgb 조명의 무료 스톡 사진

내 서버에서 AI를 돌린다고?

ChatGPT, Gemini, Claude… 다들 클라우드 AI를 쓰고 있죠. 근데 이런 생각 해본 적 없나요?

“내 컴퓨터에서 AI를 돌리면 무료에, 내 데이터도 안 나가잖아?”

맞습니다. 로컬 LLM(Large Language Model)을 돌리면 구독료도 없고, 대화 내용이 외부 서버로 전송되지 않아요. 프라이버시 완벽 보장이죠.

근데 현실은… 좀 다릅니다. 1편에서 소개한 제 SER9 MAX에 직접 AI를 올려봤는데, 결론부터 말하면 “돌아는 간다. 근데 느리다.”

DeepSeek AI 인터페이스를 보여주는 MacBook으로 디지털 혁신을 선보입니다.
Photo by Matheus Bertelli / Pexels

Ollama — 로컬 LLM 엔진

Ollama는 내 컴퓨터에서 AI 모델을 돌릴 수 있게 해주는 프로그램입니다. 어려울 것 같죠? 설치는 AI한테 시켰습니다. 터미널에 명령어 몇 줄 넣으면 끝이에요.

설치가 끝나면 ollama run qwen3:14b 한 줄로 AI가 대답하기 시작합니다. 모델은 알아서 다운로드되고, 별도 설정 없이 바로 채팅이 가능해요.

현재 돌릴 수 있는 오픈소스 모델이 수십 개가 넘습니다. Llama, Qwen, Gemma, Mistral, DeepSeek… 전부 무료. 원하는 걸 골라 쓰면 됩니다.

Open WebUI — 브라우저에서 ChatGPT처럼

터미널에서 채팅하는 건 솔직히 불편합니다. 그래서 Open WebUI를 설치했어요. 브라우저에서 ChatGPT와 똑같은 인터페이스로 AI랑 대화할 수 있는 프로그램이에요.

이것도 설치는 AI한테 시켰습니다. Docker 컨테이너 하나 올리면 끝.

제일 좋은 건 와이프도 접속한다는 거예요. 같은 네트워크에 있으면 폰이든 태블릿이든 브라우저만 열면 됩니다. 계정도 만들 수 있어서 대화 기록도 각자 관리되고요. 2편에서 설정한 Tailscale로 외부에서도 접속 가능합니다.

DeepSeek 애플리케이션이 있는 대화형 AI 인터페이스를 보여주는 노트북 이미지.
Photo by Matheus Bertelli / Pexels

스펙과 성능의 현실 — 핵심은 여기

로컬 AI 얘기에서 제일 중요한 게 “내 컴퓨터로 돌릴 수 있는가?”입니다. 솔직한 실측 데이터를 공유할게요.

제 서버 스펙

항목 사양
CPU AMD Ryzen 7 255 (8코어 16스레드)
RAM DDR5 32GB
GPU 내장 그래픽(AMD Radeon 780M) — 사실상 없음
저장장치 NVMe SSD 1TB
OS Windows 11 + WSL2 (Linux)

실측 성능 (qwen3:14b 모델)

항목 수치
응답 속도 5.5 토큰/초
간단한 질문 응답 약 25초
RAM 점유 약 10GB
양자화 Q4_K_M (9.3GB)

ChatGPT나 Gemini가 1초 만에 답하는 걸, 제 서버는 25초 걸립니다. 체감으로 5~10배 느려요. 글자가 한 자 한 자 천천히 나타나는 걸 보고 있으면… 인내심 테스트입니다.

왜 이렇게 느린가?

GPU가 없기 때문입니다. AI 연산은 GPU(그래픽카드)에 최적화되어 있는데, 제 미니PC에는 내장 그래픽밖에 없어요. AMD 780M iGPU는 WSL2 환경에서 AI 가속으로 사용할 수 없다는 것도 확인했습니다. 결국 CPU로만 연산하니까 느린 거예요.

NVIDIA GPU가 있는 PC라면? 같은 모델이 5~10배 빨라집니다. RTX 4060 정도면 30토큰/초 이상 나와요. 하지만 일반 미니PC에는 외장 GPU를 달 수 없으니, 이건 데스크톱이나 게이밍 노트북 영역이에요.

RAM이 곧 모델 크기를 결정한다

로컬 AI에서 제일 중요한 스펙은 RAM입니다. 모델 전체가 메모리에 올라가거든요.

RAM 돌릴 수 있는 모델 체감 품질
8GB 7B (70억 파라미터) 간단한 대화 가능, 복잡한 건 한계
16GB 14B (140억 파라미터) 일상 대화 무난, 일반 업무 가능
32GB 14B + 여유 / 30B급 시도 가능 14B를 편하게 + 다른 서비스 병행
64GB+ 70B (700억 파라미터) ChatGPT에 근접한 품질

7B vs 14B vs 70B — 크기가 곧 품질입니다. 7B는 간단한 대화는 되지만 복잡한 질문에서 헛소리를 자주 합니다. 14B가 “그래도 쓸만하다”고 느끼는 최소 기준선이에요. 70B는 품질이 확 올라가지만 RAM도 40GB 이상 필요합니다.

제가 32GB인 이유도 이겁니다. 14B 모델을 올리면서 다른 Docker 서비스들(Immich, WordPress, n8n 등)도 동시에 돌려야 하니까요.

선명한 노란색 표면의 T-Force Delta RGB DDR5 메모리 모듈.
Photo by Andrey Matveev / Pexels

그래서 쓸만한가?

솔직하게 정리하면 이렇습니다.

쓸만한 경우:

  • 단순 대화, 번역, 요약 — 느려도 결과물은 나옴
  • 프라이버시가 중요한 내용 — 회사 기밀 문서 분석 등
  • 인터넷 없이 쓰고 싶을 때 — 비행기, 오프라인 환경
  • AI 기능을 다른 프로그램에 연결할 때 — API 호출 무제한, 무료

안 쓸만한 경우:

  • 코딩, 복잡한 분석 — 클라우드 AI가 압도적으로 잘함
  • 빠른 응답이 필요할 때 — 25초 기다릴 인내심이 없다면
  • 최신 정보가 필요할 때 — 로컬 모델은 학습 시점 이후 정보를 모름

결론적으로, 로컬 AI의 핵심 가치는 “무료”“프라이버시”입니다. 성능을 기대하면 실망하고, 이 두 가지가 중요한 사람에게는 충분한 가치가 있어요.

다음 편 예고

지금까지 서버 조립부터 원격 접속, 사진 백업, 로컬 AI까지 왔습니다. 다음 편에서는 이 모든 걸 하나로 묶어주는 핵심 — AI 에이전트와 텔레그램 봇을 다뤄볼게요. 텔레그램으로 말 걸면 AI가 알아서 일하는, 진짜 “내 졸개” 만들기입니다.

EP.5 — AI 에이전트 + 텔레그램: 내 서버에 비서를 두다, 기대해주세요.

[컴퓨터 놀이] 코알못도 했다\! 나만의 홈서버 구축기 (3) — Immich로 구글 포토 완전 대체하기 📸🏠

gmail, google 포토, 가젯의 무료 스톡 사진

지난 3편에서 블로그를 세웠으니, 이번엔 진짜 실용적인 걸 합니다.

사진 백업.

매달 구글 포토에 2,900원, 아이클라우드에 1,100원. 두 개 합치면 한 달에 4,000원. 1년이면 48,000원. 별것 아닌 것 같지만, 이걸 내 서버에서 무료로 돌릴 수 있다면?

결론부터 말하면, 홈서버에 Immich를 올리고 나서 구글 포토 구독을 해지했습니다. 사진 35,000장 이상이 자동으로 백업되고 있고, 밖에서도 Tailscale 덕에 그냥 됩니다. 제가 한 건? 역시 AI한테 시킨 것뿐이에요.

Photo gallery on smartphone
Photo by Leila Abboud / Pexels

구글 포토, 왜 떠나게 됐을까?

솔직히 구글 포토 좋습니다. AI 검색도 되고, 앨범 자동 정리도 되고. 근데 문제는:

  1. 15GB 무료 용량은 순삭. 핸드폰으로 사진 좀 찍으면 3개월이면 꽉 찹니다.
  2. 유료 전환하면 끝이 없음. 100GB 쓰다가 200GB 쓰다가… 평생 구독료.
  3. 내 사진인데 남의 서버에 있음. 구글이 정책 바꾸면? 서비스 종료하면?

아이클라우드도 마찬가지. 아이폰 사진 백업용으로 50GB 쓰고 있었는데, 이것도 매달 나가는 돈.

“내 서버가 있는데 왜 남한테 돈 내고 맡기지?” 이 생각이 들면 이미 반은 온 겁니다.

Immich가 뭔데?

Immich는 한마디로 셀프호스팅 구글 포토입니다.

  • 📱 모바일 앱 — 갤럭시든 아이폰이든 자동 백업
  • 🔍 AI 검색 — “바다”, “고양이” 검색하면 알아서 찾음
  • 🗺️ 지도 뷰 — GPS 정보로 어디서 찍었는지 지도에 표시
  • 👥 얼굴 인식 — 사람별로 자동 분류
  • 📂 앨범 — 공유 앨범, 타임라인 전부 지원
  • 🔒 내 서버 — 데이터가 내 집에만 있음

구글 포토에서 할 수 있는 거 거의 다 됩니다. 무료이고, 오픈소스이고, 용량 제한 없음. 하드 용량이 곧 내 용량.

클로즈업 사진에서 나무 표면 위의 핸드폰
Photo by Markus Winkler / Pexels

설치: Docker Compose 한 방

1편에서 Docker 세팅 다 해놨죠? 그 위에 그냥 올리면 됩니다.

# docker-compose.yml (핵심만)
services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    ports:
      - "2283:2283"
    volumes:
      - ./upload:/usr/src/app/upload
    environment:
      - DB_PASSWORD=your_secure_password_here
      - REDIS_HOSTNAME=redis

  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release

  redis:
    image: redis:7-alpine

  database:
    image: tensorchord/pgvecto-rs:pg16-v0.2.1

Claude한테 “Immich 설치해줘” 하면 이 파일을 만들고 docker compose up -d까지 쳐줍니다. 저는 구경만 했어요.

설치 끝나면 http://서버IP:2283으로 접속. 관리자 계정 만들면 바로 쓸 수 있습니다.

갤럭시에서 자동 백업 설정

  1. Play 스토어에서 Immich 검색 → 설치
  2. 서버 주소 입력: http://192.168.xxx.xxx:2283

    – 집 밖에서도 쓰려면 Tailscale IP 사용 (2편 참고!)

  3. 로그인 → 자동 백업 켜기
  4. 끝.

진짜 이게 끝입니다. 이제 사진 찍으면 자동으로 홈서버에 올라갑니다.

저는 갤럭시 S25 울트라 기준으로 사진 35,000장 이상을 올렸습니다. 시간은? 3~4일 걸렸어요. 근데 솔직히 신경도 안 썼습니다. 앱 깔고 자동 백업 켜놓고 그냥 평소처럼 살았어요. 출근하고, 밥 먹고, 자고 — 그러다 며칠 뒤에 앱 열어보니까 다 올라가 있더라고요. 그게 이 방식의 장점입니다. 한번 켜놓으면 알아서 됩니다.

Cloud backup and storage
Photo by Jakub Zerdzicki / Pexels

아이폰도 됩니다

아이폰 유저도 똑같습니다.

  1. App Store에서 Immich 설치
  2. 서버 주소 + 로그인
  3. 자동 백업 ON

아이클라우드에 있는 기존 사진은 이렇게 옮깁니다:

  1. Mac 사진 앱 → 설정 → “이 Mac에 원본 다운로드”
  2. 전부 내려받기 (용량 주의, 수십 GB일 수 있음)
  3. immich-go라는 도구로 한꺼번에 업로드

구글 포토도 같은 방법입니다. Google Takeout으로 내보내기 → immich-go로 업로드. 중복 사진은 자동으로 걸러냅니다. 구글이든 아이클라우드든 같은 사진이 있으면 한 장만 남겨요.

밖에서도 내 사진에 접근하기

2편에서 Tailscale 세팅해놨던 거, 여기서 빛을 발합니다.

Immich 앱 서버 주소를 Tailscale IP(100.xx.xx.xx:2283)로 넣어두면, 카페에서든 출장지에서든 해외에서든 내 홈서버 사진에 접근됩니다. VPN이니까 보안도 걱정 없고요.

이전 편을 안 읽었다면 2편: Tailscale로 어디서든 접속하기를 참고하세요.

AI 기능: 구글 포토 안 부럽다

Immich에는 Machine Learning 서버가 내장돼 있습니다. 설치하면 자동으로 돌아가요.

사진 검색

검색창에 “음식” 치면 음식 사진만 나옵니다. “바다”, “산”, “자동차” — 다 됩니다. 구글 포토랑 똑같은 AI 검색인데, 내 서버에서 돌아가는 겁니다.

얼굴 인식

사람 얼굴을 자동으로 인식해서 그룹으로 묶어줍니다. “이 사람은 누구?” 하고 이름 붙여주면, 그 사람이 찍힌 사진을 한 번에 볼 수 있어요.

지도 뷰

사진에 GPS 정보가 있으면 세계지도 위에 점으로 찍어줍니다. “작년 여행 때 어디서 찍었더라?” 할 때 유용합니다.

실제로 얼마나 절약되나?

계산해봅시다.

항목 월 비용 연 비용
구글 포토 100GB 2,900원 34,800원
아이클라우드 50GB 1,100원 13,200원
합계 4,000원 48,000원
Immich (셀프호스팅) 0원 0원

서버 전기세? SER9 MAX는 TDP 54W입니다. 24시간 켜놔도 월 전기세 약 2,000원 수준. 근데 이건 블로그, AI 비서, 로컬 LLM 등 다른 서비스도 같이 돌리는 거라 사진 백업만의 비용은 사실상 0원입니다.

하드 용량만 남아있으면 무제한 백업. 1TB SSD 하나 더 꽂으면 10년은 걱정 없습니다.

주의할 점

솔직하게 단점도 말합니다.

  1. 서버가 꺼지면 접근 불가. 정전이나 PC 재부팅 중에는 사진을 못 봅니다. 다만 앱에 캐시가 있어서 최근 사진은 오프라인에서도 보입니다.
  2. 백업의 백업이 필요. 홈서버 SSD가 고장나면 사진이 날아갑니다. 외장하드나 NAS에 이중 백업을 권장합니다.
  3. 초기 업로드 시간. 35,000장 기준 3~4일 걸렸습니다. 근데 백그라운드에서 알아서 되니까 그냥 잊고 살면 됩니다. 어느 날 열어보면 다 끝나있어요.
  4. 공유 앨범은 아직 제한적. 구글 포토처럼 링크 하나로 아무나 볼 수 있는 기능은 아직 완벽하지 않습니다.

그래도 “내 사진은 내 서버에”라는 철학이 맞는 사람이라면, 위 단점은 감수할 만합니다.

다음 편 예고

사진도 내 서버에 백업하고, 블로그도 세우고, 원격 접속도 되고. 이제 이 서버에 AI를 심을 차례입니다.

다음 편에서는:

  • OpenClaw + Telegram — AI 비서를 내 서버에 올리고 텔레그램으로 대화하기
  • 아침마다 날씨, 뉴스, 일정을 정리해서 보내주는 모닝 브리핑 봇
  • 블로그 글도 써주고, 사진도 생성하고, 코딩도 해주는 나만의 AI 졸개 이야기

코드 한 줄 모르는 제가 AI 비서까지 만든 이야기, 기대해주세요.

이 글은 AI(Claude Code)가 작성하고, 코알못 인간이 감수했습니다. 🤖✨

[컴퓨터 놀이] 코알못도 했다! 나만의 홈서버 구축기 (2) — Tailscale로 어디서든 내 서버 접속하기

520 시리즈, m 2, m 2 ssd의 무료 스톡 사진

지난 1편에서 Beelink SER9 MAX에 WSL2와 Docker를 올려 홈서버의 뼈대를 세웠습니다. 미니PC 하나에 서버 환경을 만들었으니, 이제 뭐든 올릴 수 있는 상태가 된 거죠.

그런데 한 가지 문제가 있었습니다.

“집에서만 접속할 수 있으면… 이게 서버인가, 외장하드인가?”

홈서버의 진짜 가치는 어디서든 접속할 수 있을 때 시작됩니다. 저는 낮에는 회사에서 일하고, 퇴근하면 집에 오지만 그렇다고 컴퓨터 앞에 앉아있을 시간이 넉넉하지 않습니다. 하루가 빠듯하거든요. 출퇴근 시간, 점심시간, 잠깐 짬이 날 때 — 이런 자투리 시간에 스마트폰으로 서버를 확인하고 관리할 수 있어야 했습니다.

그래서 이번 2편의 주제는 홈서버를 밖에서도 접속할 수 있게 만들기입니다. 그리고 역시나, 저는 코드 한 줄 직접 치지 않았습니다. Claude Code한테 “원격 접속 되게 해줘”라고 말했을 뿐이에요.

Working remotely from anywhere
Photo by Cheng-ren JU / Pexels

홈서버 원격 접속, 어떤 방법이 있을까?

집에 있는 서버에 밖에서 접속하는 방법은 크게 세 가지입니다.

첫 번째는 포트포워딩입니다. 공유기 설정에 들어가서 포트를 열어주는 방식인데, “TCP를 여나요, UDP를 여나요?” 같은 질문이 나오는 순간 저 같은 코알못은 이미 포기합니다. 게다가 보안 위험도 크고, 집 인터넷 IP가 바뀌면 접속이 끊깁니다.

두 번째는 VPN 서버를 직접 세우는 것입니다. WireGuard나 OpenVPN 같은 걸 설치하는 방식이에요. 네트워크 지식이 있으면 좋은 방법이지만, 설정이 복잡하고 인증서 관리도 해야 합니다. 코알못에게는 산 넘어 산이죠.

세 번째가 Tailscale입니다. 그리고 저는 당연히 이걸 선택했습니다.

Tailscale이란? — 설치하면 끝나는 VPN

Tailscale을 한마디로 설명하면 “설치하고 로그인하면 끝나는 VPN”입니다.

일반적인 VPN은 서버를 세우고, 인증서를 만들고, 방화벽 규칙을 설정하고, 클라이언트를 구성하고… 할 일이 끝이 없습니다. Tailscale은 이런 과정이 전부 없어요. 앱을 설치하고 구글이나 마이크로소프트 계정으로 로그인하면, 내 기기끼리 자동으로 안전하게 연결됩니다.

기술적으로는 WireGuard라는 최신 VPN 프로토콜 위에 만들어진 메시(mesh) 네트워크인데, 솔직히 저는 이게 정확히 뭔지 모릅니다. 중요한 건 이거예요:

  • 개인 사용 무료 — 기기 100대까지 연결 가능
  • 설치 30초, 설정할 게 없음 — 네트워크 지식 불필요
  • 기기 간 직접 연결 — 중간 서버를 안 거쳐서 속도가 빠름
  • 모든 플랫폼 지원 — Windows, Linux, macOS, iOS, Android 전부

특히 “설정할 게 없다”는 게 핵심입니다. 저 같은 비개발자에게는 설정이 적을수록 좋은 도구입니다.

서버에 케이블을 고정하는 전자 엔지니어
Photo by Field Engineer / Pexels

Tailscale 설치하기 — 코드 한 줄 없이

제 홈서버는 Windows 11 위에서 WSL2로 Docker를 돌리고 있습니다. Tailscale 설치는 Windows 쪽에서 합니다.

PC에 Tailscale 설치

저는 Claude Code한테 “Tailscale 설치해줘”라고 했고, Claude Code가 알려준 대로 따라갔습니다:

  1. Tailscale 공식 사이트에서 Windows 버전 다운로드
  2. 설치 파일 실행 — 다음, 다음, 완료
  3. 시스템 트레이에 Tailscale 아이콘이 나타남
  4. 아이콘 클릭 → Log in → Google 계정으로 로그인

이게 전부입니다. 로그인하는 순간 제 서버에 Tailscale 전용 IP 주소가 부여됩니다. 이 IP는 고정이라, 집 인터넷 IP가 바뀌어도 변하지 않습니다. 이제 이 IP만 알면 어디서든 제 서버에 접속할 수 있어요.

WSL2와 Docker — 별도 설정이 필요할까?

이 부분이 걱정이었는데, 결론부터 말하면 아무것도 안 해도 됩니다. WSL2 안의 Docker 컨테이너들은 Windows의 네트워크를 공유하기 때문에, Windows에만 Tailscale을 설치하면 WSL2 안에서 돌아가는 모든 서비스에 자동으로 접속할 수 있습니다.

예를 들어, 제 WordPress는 Docker 컨테이너로 돌고 있는데, Tailscale IP로 접속하면 바로 열립니다. Immich(사진 백업)도, Open WebUI(AI 채팅)도, 전부 같은 방식으로 접속 가능합니다.

Claude Code한테 “이거 WSL2에서도 되냐?”고 물었더니 “Windows에 설치하면 WSL2도 같이 된다”고 했고, 실제로 그랬습니다. 제가 이해할 필요도 없었어요.

나무 작업대 위에 RAM 모듈, 드라이버, 공구 세트가 놓인 열린 노트북의 클로즈업 사진.
Photo by Andrey Matveev / Pexels

스마트폰에서 접속하기 — 진짜 감동적인 순간

여기서부터가 진짜입니다.

제가 Tailscale을 설치한 가장 큰 이유는 스마트폰에서의 접속이었습니다. 낮에는 회사에서 일하고, 퇴근 후에는 가사와 일상에 치이다 보면 컴퓨터 앞에 앉을 시간이 생각보다 없습니다. 점심시간에 잠깐, 퇴근길 지하철에서 잠깐, 소파에 누워서 잠깐 — 이런 틈새 시간에 서버를 확인하고 싶었습니다.

설정은 놀라울 정도로 간단합니다:

  1. 스마트폰에서 Tailscale 앱 설치
  2. PC에서 썼던 같은 계정으로 로그인
  3. VPN 연결 켜기
  4. 브라우저에서 Tailscale IP 입력

끝입니다. 회사 점심시간에 폰으로 Immich에서 사진을 확인하고, 텔레그램으로 AI 비서한테 뭔가를 시키고, WordPress 관리자 페이지에서 블로그를 확인합니다. 전부 스마트폰 하나로.

속도도 놀라울 정도로 빠릅니다. WireGuard 기반이라 일반 VPN처럼 느리다는 느낌이 전혀 없어요. 체감상 같은 와이파이에 있는 것처럼 반응합니다.

컴퓨터 앞에 앉아있을 시간이 부족한 직장인에게 이건 게임체인저입니다. 홈서버가 “집에서만 쓰는 장비”에서 “항상 주머니에 있는 나만의 클라우드”로 바뀌는 순간이에요.

Secure VPN network connection
Photo by Stefan Coders / Pexels

Tailscale Funnel — 내 서버를 세상에 공개하기

여기까지는 “내 기기끼리” 연결하는 이야기였습니다. 하지만 블로그처럼 누구나 볼 수 있어야 하는 서비스는 어떻게 할까요?

Tailscale에는 Funnel이라는 기능이 있습니다. 내 서버의 특정 서비스를 인터넷에 공개해주는 기능인데, 도메인과 HTTPS 인증서까지 자동으로 제공됩니다.

Funnel 설정 — 이것도 Claude Code가 해줬다

저는 Claude Code한테 “내 WordPress 블로그를 외부에서 볼 수 있게 해줘”라고 했습니다. Claude Code가 필요한 명령어를 실행했고, 그 결과:

  • Tailscale이 도메인을 자동으로 할당해줌
  • HTTPS 인증서가 자동 발급됨 (Let’s Encrypt)
  • 외부 트래픽이 내 서버의 WordPress로 자동 연결됨

도메인을 사지 않아도 되고, 인증서를 수동으로 갱신하지 않아도 됩니다. Tailscale이 전부 알아서 해줍니다.

바로 이것이 지금 여러분이 이 블로그를 읽고 있는 원리입니다. 이 글은 제 집 미니PC에 있는 WordPress에서 서빙되고 있고, Tailscale Funnel을 통해 인터넷에 공개되어 있습니다. 별도의 클라우드 서버 없이, 호스팅 서비스 없이, 제 집 책상 위 미니PC에서 직접.

Funnel의 한계

물론 완벽하지는 않습니다:

  • 도메인이 *.ts.net 형태로 고정되어 커스텀 도메인은 사용할 수 없음
  • 속도는 집 인터넷의 업로드 속도에 의존하기 때문에 대규모 트래픽에는 부적합
  • 사용할 수 있는 포트가 제한적

하지만 개인 블로그나 소규모 프로젝트에는 충분합니다. 클라우드 호스팅 없이 내 서버에서 직접 블로그를 운영할 수 있다는 것 자체가 홈서버의 매력이니까요.

Remote access on smartphone
Photo by Erik Mclean / Pexels

코알못의 비결: 나는 “해줘”라고만 했다

이 글에서 계속 강조하고 있지만, 저는 이 모든 과정에서 코드를 한 줄도 직접 입력하지 않았습니다.

Tailscale 설치? Claude Code가 “이거 다운받아서 설치해”라고 알려줬고, 저는 마우스로 클릭만 했습니다. Funnel 설정? Claude Code가 명령어를 직접 실행해줬습니다. WSL2와의 연동 확인? Claude Code가 “그냥 됩니다”라고 답해줬고, 실제로 그랬습니다.

제가 한 건 딱 두 가지입니다:

  1. “이거 해줘”라고 Claude Code한테 말한 것
  2. 설치 화면에서 “다음” 버튼을 클릭한 것

이게 코알못이 홈서버를 운영하는 방식입니다. 기술을 배우는 게 아니라, 기술을 가진 AI한테 시키는 것입니다. “Tailscale 설치해줘”, “밖에서 접속 되게 해줘”, “블로그 외부에 공개해줘” — 한국어로 이렇게 말하면 AI가 알아서 해줍니다.

“그래도 기본적인 건 알아야 하지 않나?”라고 생각하실 수 있습니다. 솔직히 말하면, 몰라도 됩니다. 저는 TCP와 UDP의 차이를 아직도 모르고, 포트포워딩이 정확히 뭔지도 잘 모릅니다. 하지만 제 홈서버는 스마트폰으로 어디서든 접속 가능하고, 블로그는 전 세계에 공개되어 있습니다.

중요한 건 기술 지식이 아니라 “이걸 하고 싶다”는 의지입니다. 그리고 2026년에는 그 의지만 있으면 AI가 나머지를 전부 해줍니다.

Home office desk setup
Photo by Mateusz Haberny / Pexels

현재까지의 홈서버 구성

1편에서 하드웨어와 Docker를, 2편에서 Tailscale로 원격 접속을 세팅했습니다. 현재 제 미니PC 홈서버에서 할 수 있는 것들을 정리하면:

  • 어디서든 서버 접속 — 회사, 카페, 지하철, 어디서든 스마트폰으로
  • 블로그 운영 — WordPress가 Funnel을 통해 인터넷에 공개
  • 사진/동영상 백업 — Immich로 Google Photos 없이 자체 백업
  • AI 비서 — 텔레그램으로 AI한테 명령
  • 로컬 AI — Ollama로 LLM을 내 서버에서 직접 실행

이 모든 게 미니PC 하나에서 돌아가고 있고, Tailscale 덕분에 항상 제 손 안에 있습니다. 그리고 이 모든 걸 세팅한 건 제가 아니라 Claude Code입니다. 저는 방향만 정했을 뿐이에요.

다음 편 예고

다음 3편에서는 Docker로 WordPress를 설치하고 블로그를 만드는 과정을 다룹니다. 이중언어(한국어+영어) 블로그를 세팅하고, AI가 글을 쓰고 자동으로 발행하는 시스템까지 — 코알못의 홈서버 여정은 계속됩니다.

이 시리즈의 모든 기술적 작업은 Claude Code(AI)가 수행했습니다. 글쓴이(코알못)는 “해줘”라고 말하고 결과를 확인했습니다.

[컴퓨터 놀이] 코알못도 해냈다! 나만의 홈서버 구축기 (1) – SER9 MAX와 Windows 11, WSL2, Docker로 시작하기 💻🚀 (feat. Claude & Claude Code)

선명한 노란색 배경에 골드 인증을 받은 고효율 850W 전원 공급 장치입니다.

[컴퓨터 놀이] 코알못도 해냈다! 나만의 홈서버 구축기 (1) – SER9 MAX와 Windows 11, WSL2, Docker로 시작하기 💻🚀 (feat. Claude & Claude Code)

안녕하세요, 토스터입니다! 🙋‍♂️ 오늘은 제가 직접 경험한 흥미로운 프로젝트, 바로 나만의 홈서버 구축기 첫 번째 이야기를 들려드리려고 합니다. 솔직히 말씀드리면, 저는 코드나 컴퓨터에 대해 정말 아무것도 모르는 일자무식입니다. 그런 제가 클라우드 서비스의 불어나는 비용과 내 데이터의 주권에 대한 고민 끝에 ‘나만의 놀이터’를 만들기로 결심했고, 그 시작은 바로 미니 PC, Beelink SER9 MAX였습니다. 이 모든 여정의 시작은 Claude와 함께했고, 설치 과정은 Claude Code가 알아서 척척 진행해줬다는 점도 특별한 포인트가 될 거예요!

asus rog, led 팬, pc 게임의 무료 스톡 사진
Photo by Andrey Matveev / Pexels

1. 왜 홈서버를 구축하고 싶었을까? 그리고 SER9 MAX 픽! ✨

처음에는 클라우드 서버를 사용했어요. 하지만 시간이 지날수록 매달 나가는 비용이 부담되기 시작했고, 무엇보다 내 소중한 데이터들이 어딘가에 저장되어 있다는 막연한 불안감이 들더군요. 그래서 ‘내 손으로 직접 관리하는 서버’를 만들어보자고 마음먹었습니다. 나만의 공간, 나만의 규칙으로 운영되는 디지털 놀이터를 꿈꾼 거죠. 🏰

홈서버 구축을 위해 어떤 하드웨어를 선택할지 고민이 많았는데, 여러 미니 PC들을 비교하다가 Beelink SER9 MAX에 꽂혔습니다. 10기가비트 이더넷, 듀얼 M.2 NVMe 슬롯, DDR5 메모리, 그리고 효율적인 AMD Ryzen 7 H255 프로세서까지! 작은 크기에 비해 엄청난 스펙을 자랑하더군요. 아마존에서 주문하고 설레는 마음으로 기다렸던 기억이 생생합니다. 📦 이 모든 탐색과 결정 과정에서 Claude가 다양한 정보 검색과 비교 분석을 도와줘서 큰 도움이 됐습니다.

Mini PC desk setup
Photo by Nikhil Pawar / Pexels

2. Windows 11, 홈서버 OS로 괜찮을까? 🤔

SER9 MAX를 받고 보니, 프리인스톨된 Windows 11이 깔려 있더군요. 보통 홈서버 하면 리눅스를 많이 떠올리지만, 저는 Windows 환경에 익숙하고, 당장 리눅스 서버 OS를 새로 설치하는 것도 번거로웠습니다. 그래서 일단 Windows 11을 그대로 사용해보기로 했습니다.

장점은 명확했습니다. 익숙한 UI/UX 덕분에 초기 설정이 정말 편리했고, 다양한 Windows용 소프트웨어와의 호환성도 좋았죠. 미디어 서버나 간단한 파일 공유 같은 용도로는 충분히 매력적이었습니다. 하지만 단점도 분명했습니다. 리눅스 기반 서버 OS에 비해 시스템 리소스 소모가 많고, Windows 업데이트 후 강제 재부팅이 필요한 경우가 있어 24시간 안정적인 운영에는 신경 써야 할 부분이 많았습니다. 특히 Windows 11 Home 버전은 원격 데스크톱 서버 기능이나 Hyper-V 같은 고급 기능이 없다는 점도 아쉬웠습니다.

키보드의 클로즈업
Photo by Nothing Ahead / Pexels

3. Windows 속 작은 리눅스 세상, WSL2 설치기 🐧

홈서버에 `Docker`를 설치하기 위해서는 `WSL2(Windows Subsystem for Linux 2)`가 필수라는 것을 알게 되었습니다. `Docker Desktop`이 `WSL2` 백엔드를 통해 Windows에서 Linux 기반 컨테이너를 실행하기 때문이죠. 처음에는 복잡할까 봐 걱정했지만, 저는 Claude Code에게 설치를 맡겼더니 알아서 척척 진행해줬습니다.

관리자 권한으로 PowerShell을 열고 `wsl –install` 명령어를 입력하니, `WSL`과 함께 기본 `Linux` 배포판(저는 `Ubuntu`가 설치되었습니다)이 자동으로 설치되더군요. 재부팅 후 `wsl –set-default-version 2` 명령으로 `WSL2`를 기본 버전으로 설정하는 것까지, Claude Code가 알아서 다 처리해줘서 저는 전혀 헤매지 않고 한 번에 성공했습니다! 마치 Windows 안에 나만의 작은 리눅스 서버가 생긴 것 같아 신기했습니다. 🤩

Linux terminal command line
Photo by Nemuel Sereti / Pexels

4. 컨테이너의 마법, Docker Desktop 설치 및 연동 🐳

`WSL2` 설치를 마쳤으니, 이제 홈서버의 핵심인 `Docker Desktop`을 설치할 차례였습니다. `Docker Desktop`은 `WSL2` 백엔드를 통해 `Windows`에서 `Linux` 기반 컨테이너를 쉽게 구축하고 실행할 수 있도록 해주는 정말 강력한 도구죠.

`Docker` 공식 웹사이트에서 `Docker Desktop for Windows`를 다운로드하고 설치를 시작했습니다. 설치 과정에서 “Use WSL 2 instead of Hyper-V” 옵션이 선택되어 있는지 꼼꼼히 확인했고, 설치 후 `Docker Desktop` 설정에서 `Resources > WSL Integration` 탭으로 이동하여 `Ubuntu` 배포판과의 통합을 활성화했습니다. 이 모든 과정도 Claude Code가 알아서 다 처리해줘서 저는 그저 지켜보기만 하면 됐습니다.

마지막으로 `Ubuntu` 터미널을 열고 `docker –version`과 `docker run hello-world` 명령을 입력했을 때, “Hello from Docker!” 메시지가 출력되는 것을 보고 정말 뿌듯했습니다. 🎉 이제 복잡한 서버 환경도 컨테이너 단위로 간단하게 관리할 수 있게 된 거죠!

Linux terminal command line
Photo by Nemuel Sereti / Pexels
www, 가상의, 기술의 무료 스톡 사진
Photo by icon0 com / Pexels

5. 마무리: 홈서버 구축의 첫걸음을 떼며 💖

이렇게 SER9 MAX를 시작으로 `Windows 11`에 `WSL2`, 그리고 `Docker`까지 설치하며 나만의 홈서버를 구축하는 첫걸음을 성공적으로 내디뎠습니다. 이 모든 과정에서 ClaudeClaude Code가 마치 유능한 조수처럼 옆에서 정확한 정보와 명령어를 제공하고 실행해줘서 정말 든든했습니다. 저처럼 코드나 컴퓨터에 대해 잘 모르는 사람도 충분히 해낼 수 있다는 것을 느꼈습니다. 🤝

다음 연재에서는 오늘 구축한 환경 위에 `Docker Compose`를 활용하여 다양한 홈서버 서비스를 올리고, 외부에서도 안전하게 접근할 수 있도록 네트워크 설정을 하는 방법에 대해 이야기해볼까 합니다. 기대해주세요! 😉