1.의존성과 API 키 준비
머신에 Docker 24+와 Docker Compose v2를 설치합니다. 그리고 LLM 게이트웨이 API 키 하나를 준비하세요 — OpenAI 호환 게이트웨이라면 무엇이든 됩니다(DeepSeek, OpenRouter, Groq, OpenAI, 로컬 Ollama). 선택 가이드는 "BYOK와 모델 프로바이더 선택"을 참고하세요.
2.저장소 클론 후 .env 설정
git clone 후 cp api/.env.example api/.env를 실행하고 api/.env에서 최소한 다음을 작성합니다: LLM 게이트웨이 3종 세트(DEEPSEEK_API_KEY / OPENAI_BASE_URL / AI_MODEL), ADMIN_SECRET, JWT_SECRET, USER_API_KEY_ENCRYPTION_SECRET(서로 다른 긴 랜덤 문자열 3개, openssl rand -hex 32로 생성 가능), 그리고 CORS_ALLOWED_ORIGINS와 PUBLIC_API_BASE_URL(접속 주소, /api 없이). 전체 변수 설명은 "환경 변수 레퍼런스"에 있습니다.
3.시작
저장소 루트에서 docker compose up -d를 실행합니다. 기본적으로 두 컨테이너가 시작됩니다: web(정적 프런트엔드, APP_PORT로 노출, 기본 80)과 api(Core API, PORT로 노출, 기본 3000), 둘 다 헬스 체크 포함. web 컨테이너 안의 nginx가 이미 /api, /socket.io, /health를 api로 전달하므로 밖에서 보면 단일 진입점입니다. 백엔드만 시작하려면 docker compose up -d api. SQLite 데이터는 호스트의 ./data/database.sqlite에 저장됩니다.
4.확인
curl http://localhost/healthz와 curl http://localhost/health 모두 200을 반환해야 합니다. 그런 다음 브라우저로 메인 앱을 열어 첫 계정을 등록하세요 — 처음 로그인한 사용자가 월드 오너가 됩니다.
관련 질문
Enclave를 셀프 호스팅할 수 있나요? 어렵나요?
가능하며, 난이도는 일반적인 web 서비스를 운영하는 것과 비슷합니다. docker compose를 사용해 봤다면 세 단계로 자신의 인스턴스를 가질 수 있습니다: 저장소 클론, .env 복사, docker compose up. API·프런트엔드·데이터베이스·벡터 인덱스가 모두 내 서버에서 실행됩니다.Enclave를 셀프 호스팅하려면 무엇이 필요한가요? GPU가 필요한가요?
반드시 GPU가 필요하지는 않습니다. 클라우드 모델 API(OpenAI, Anthropic 등)를 사용한다면 Docker를 돌릴 수 있는 평범한 서버나 가정용 머신으로 충분합니다 — 추론은 클라우드에서 이루어지고, 본 기기는 앱과 데이터베이스만 실행합니다. 로컬 모델(Ollama / vLLM)로 오프라인 추론을 하려는 경우에만 그에 맞는 VRAM과 연산 능력이 필요합니다.Enclave를 완전히 오프라인으로 실행할 수 있나요?
가능합니다. 모델 계층을 로컬 Ollama / vLLM으로 교체하고 현실 세계 동기화를 끄면, 시스템 전체가 외부로 어떤 요청도 보내지 않고 당신의 기기에서 완전히 오프라인으로 작동합니다 — 어떤 약속에도 의존하지 않는 가장 강력한 프라이버시 보장입니다.