[컴퓨터 놀이] 코알못도 했다! 나만의 홈서버 구축기 (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)가 작성하고, 코알못 인간이 감수했습니다. 🤖✨

[컴퓨터 놀이] 코알못도 했다\! 나만의 홈서버 구축기 (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)가 작성하고, 코알못 인간이 감수했습니다. 🤖✨