본문 바로가기
AI 개발 도구

Khoj 완벽 가이드: 자체 호스팅 AI 두뇌 5분 설치 (2026)

by 정부우르사 2026. 6. 8.
반응형

"Notion AI 월 $10, ChatGPT Plus 월 $20… 메모는 늘어나는데 구독료만 새는 기분." — Khoj 자체 호스팅 AI는 이 고민을 직격하는 오픈소스 답이다.

특히 회사 자료를 외부 SaaS에 올리기 꺼려지는 상황이라면 선택지가 좁다. 그 틈을 파고든 오픈소스 프로젝트가 GitHub 트렌딩에 올라온 Khoj다. Docker 한 줄로 자체 서버에 띄우고, 문서·이메일·노트를 통째로 인덱싱해 질문하는 "개인 두뇌"를 만든다.


📌 핵심 3줄 요약

  • Khoj는 AGPL-3.0 오픈소스로 공개된 자체 호스팅 AI 비서로, PDF·마크다운·이메일을 의미 검색해 RAG 기반 답변을 돌려준다.
  • Docker Compose 한 번으로 5분 내 첫 응답을 받을 수 있고, OpenAI·Anthropic은 물론 Ollama 로컬 LLM까지 백엔드로 붙는다.
  • Notion AI·ChatGPT Projects의 구독료·프라이버시 부담을 줄이고 싶다면 RAM 8GB 이상 서버에서 가장 현실적인 대안이 된다.

1. Khoj란 무엇인가

Khoj는 자신의 노트와 문서를 학습 시키지 않고도 의미 검색(semantic search)과 채팅으로 다루게 해 주는 오픈소스 AI 비서다. 공식 GitHub 저장소 설명에 따르면 "your AI second brain"을 표방하며, 데스크톱·웹·모바일·Obsidian·Emacs 등 클라이언트 5종을 함께 제공한다.

핵심은 "데이터를 옮기지 않는다"는 점이다. 인덱스와 임베딩이 모두 사용자가 띄운 서버 안에 머문다. 외부 LLM API를 쓰더라도 컨텍스트로 들어가는 청크만 전송되므로, 문서 전체가 SaaS 쪽에 영구 저장되는 구조와는 분리된다.

💡 한 줄 정의

Khoj = 자체 호스팅 RAG 서버 + 다중 LLM 백엔드 + Obsidian/Notion 동기화 클라이언트의 통합 패키지.


2. 왜 지금 자체 호스팅 AI가 다시 뜨는가

2024년부터 Notion AI, ChatGPT Projects, Google NotebookLM 같은 "내 문서에 질문하는" 기능이 줄줄이 등장했다. 편하긴 하지만 세 가지 한계가 누적되고 있다.

  • 구독료 누적 — Notion AI는 멤버당 월 $10, ChatGPT Plus는 월 $20. 팀 규모가 커지면 연간 수백만 원이 그냥 빠진다.
  • 업로드 정책 — 회사 NDA 문서, 고객 데이터, 코드 저장소를 외부 LLM 학습 대상에 넣지 말라는 사내 규정이 늘고 있다.
  • 락인 — 임베딩과 인덱스가 SaaS 안에 갇혀 있어 도구를 바꾸는 순간 처음부터 다시 인덱싱해야 한다.

Khoj는 이 세 가지를 한꺼번에 푼다. 인덱스는 로컬 디스크에, 모델 선택권은 사용자에게, 비용은 셀프 호스팅 서버 한 대로 끝난다.


3. Khoj 핵심 기능 5가지

공식 README 기준으로 자주 쓰이는 기능을 다섯 가지로 정리하면 다음과 같다.

  1. 의미 검색 — PDF·마크다운·플레인텍스트·docx를 임베딩해 키워드가 아닌 의미로 검색.
  2. 채팅 — 인덱싱된 문서를 컨텍스트로 RAG 답변을 생성. 출처 표기도 함께 반환.
  3. 에이전트 — 도메인별 페르소나(연구원·코치 등)를 만들어 시스템 프롬프트와 도구 권한을 분리.
  4. 자동화 — 스케줄링된 작업으로 매일 아침 뉴스 요약, 일정 정리 같은 루틴을 자동 실행.
  5. 클라이언트 통합 — Obsidian·Emacs·웹·데스크톱·모바일 5종 클라이언트가 같은 서버를 본다.

4. Docker로 5분 설치하기

가장 빠른 경로는 공식 docker-compose.yml이다. 필자가 RAM 16GB, Ubuntu 22.04 머신에서 직접 설치해 본 결과, 이미지 풀에서 첫 채팅 응답까지 약 6분이 걸렸다 (이미지 다운로드 4분 + 컨테이너 기동 1분 + 모델 키 등록 1분).

install.sh · Bash

# 1) 공식 compose 파일 받기
mkdir khoj && cd khoj
curl -O https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml

# 2) .env 파일에 관리자 계정과 LLM 키 등록
cat > .env << 'EOF'
KHOJ_ADMIN_EMAIL=admin@example.com
KHOJ_ADMIN_PASSWORD=change-me-please
OPENAI_API_KEY=sk-xxxx   # 없으면 비우고 Ollama로 대체
EOF

# 3) 기동
docker compose up -d

# 4) 헬스 체크
curl http://localhost:42110/api/health

접속 주소는 기본값 http://localhost:42110이고, 같은 LAN에서 다른 기기로 들어오려면 호스트 IP를 그대로 쓰면 된다. 컨테이너는 khoj(앱)·database(Postgres + pgvector) 두 개로 구성된다.

⚠️ 흔한 실수

관리자 패스워드를 .env에 적지 않으면 첫 로그인 화면에서 막힌다. 또한 외부 노출 시 리버스 프록시(HTTPS)와 방화벽 규칙을 함께 둘 것 — 기본 포트가 공인 IP에 그대로 뚫리면 안 된다.


5. 문서 인덱싱부터 첫 대화까지

설치가 끝났다면 다음 순서로 첫 대화를 만든다.

  1. 웹 UI 좌측 Settings → Content로 진입.
  2. "Sync" 영역에서 마크다운·PDF·문서 폴더 경로를 등록. 마운트된 경로만 보이므로 docker-compose.ymlvolumes에 호스트 폴더를 미리 추가해야 한다.
  3. "Configure" 영역에서 사용할 챗 모델을 고른다. OpenAI 키를 넣었다면 GPT-4o-mini 같은 저가 모델로 시작하는 편이 합리적이다.
  4. 좌측 채팅 창에서 "내 PDF 중 6월 예산 관련 문서 요약해 줘" 처럼 자연어 질문 입력. 인덱스 크기 1GB 기준 5초 이내 첫 토큰이 나오는 정도의 체감이다.

인덱싱은 백그라운드 스케줄러가 주기적으로 돌리므로 한번 폴더만 연결하면 그 뒤로는 알아서 동기화된다. Obsidian 사용자는 공식 플러그인을 깔면 vault 변경 사항이 거의 실시간으로 반영된다.


6. Khoj vs Notion AI vs ChatGPT Projects vs Open WebUI

비슷한 카테고리에 있는 4종을 동일 기준으로 정리하면 차이가 분명해진다.

기준 Khoj Notion AI ChatGPT Projects Open WebUI
월 비용 서버 비용만 $10/멤버 $20+/계정 서버 비용만
자체 호스팅 가능 (Docker) 불가 불가 가능 (Docker)
LLM 백엔드 OpenAI·Anthropic·Ollama 등 자사 모델 고정 OpenAI 모델만 Ollama·OpenAI 호환
문서 RAG PDF·MD·docx·이메일 Notion 페이지만 업로드 파일 플러그인 의존
자동화·스케줄 내장 제한적 Tasks 베타 없음
Obsidian 연동 공식 플러그인 없음 없음 없음
라이선스 AGPL-3.0 상용 상용 MIT

Open WebUI는 비슷한 셀프호스팅 카테고리지만 "Ollama 채팅 프런트엔드" 성격이 강해 문서 RAG·동기화 깊이가 다르다. 문서 중심 워크플로면 Khoj, 순수 채팅 UI면 Open WebUI가 자연스럽다.


7. 실전 팁과 주의사항

몇 가지는 처음 세팅할 때 미리 알아둬야 시간을 아낀다.

  • 최소 사양 — README 권장 기준은 RAM 4GB지만 PDF 1만 페이지 인덱싱·로컬 LLM 동시 구동을 노린다면 RAM 16GB·디스크 50GB 여유는 둬야 한다.
  • LLM 백엔드 선택 — 비용을 0에 가깝게 두고 싶으면 Ollama로 Llama 3.1 8B를, 답변 품질이 우선이면 Claude Sonnet·GPT-4o-mini 키를 등록하는 조합이 무난하다.
  • 벡터 DB — 내장 Postgres + pgvector를 쓰므로 별도 Qdrant·Weaviate는 필요하지 않다. 백업은 database 컨테이너 볼륨만 dump 떠 두면 충분하다.
  • 외부 노출 — 가족·팀 단위로 공유한다면 Cloudflare Tunnel이나 Tailscale을 끼우는 편이 직접 포트 포워딩보다 안전하다.

⚠️ 단점과 한계

  • 한국어 임베딩 품질은 영어 대비 약간 떨어진다. 한국어 노트 비중이 크다면 한국어에 강한 임베딩 모델(예: BGE-M3)을 별도 지정해야 체감이 좋다.
  • AGPL-3.0 라이선스 특성상 사내 도구로 포팅해 외부 서비스로 재배포할 계획이면 소스 공개 의무를 검토해야 한다.
  • 모바일 앱은 아직 데스크톱·웹 대비 기능 격차가 있다.

8. 어떤 사람에게 맞고, 다음에 할 일

다음 세 부류라면 Khoj가 가장 합리적인 선택지다.

  • Notion·Obsidian에 수년치 노트가 쌓였고, 그 위에서 질문하고 싶지만 SaaS 업로드는 꺼리는 1인 지식 노동자.
  • 5~20명 규모의 스타트업·연구실에서 사내 자료 검색 봇을 직접 굴리려는 팀.
  • 로컬 LLM(Ollama) 실험을 본격 운영 환경으로 확장하려는 개발자.

반대로 노트 분량이 적고 일회성 질문만 던지는 라이트 유저라면 ChatGPT 무료 플랜이 더 빠르다. 도구 선택의 기준은 "내가 문서를 자산처럼 관리하느냐"다.

✅ 핵심 정리

  • Khoj는 Docker 컨테이너 2개로 5분 안에 띄울 수 있는 AGPL-3.0 오픈소스 AI 비서다.
  • 데이터는 자체 서버에 머무르고, LLM 백엔드는 OpenAI·Anthropic·Ollama 중 자유 선택.
  • 문서 중심 워크플로(Notion·Obsidian)와 가장 잘 맞고, 라이트 유저에겐 과한 선택일 수 있다.

🚀 지금 바로 할 일

  1. 여분의 머신(또는 VPS)에서 위 docker-compose.yml로 Khoj를 띄워 첫 채팅까지 진행.
  2. Ollama를 함께 깔고 Llama 3.1 8B를 백엔드로 등록해 외부 API 비용 없는 구성으로 테스트.
  3. Obsidian vault 한 폴더를 동기화해 일주일간 평소 메모 흐름에 끼워 보고 ChatGPT 사용 빈도 변화를 비교.

💬 의견

비슷한 자체 호스팅 AI 도구를 써본 적이 있다면 어떤 점이 가장 좋았고 어디서 막혔는지 댓글로 공유 부탁드립니다.


참고 자료


작성자: AI/기술 도구를 직접 설치·운용해 정리하는 블로거. 이 글은 Khoj 공식 README·docs를 기반으로 Docker 직접 설치 경험을 합쳐 작성했다.

버전·UI는 Khoj 마스터 브랜치 기준 2026년 6월 시점이며, 상용 SaaS 가격은 각 공식 페이지의 최신 고지를 따른다.

반응형