배포 전에 2분만 토폴로지를 이해하세요: 돌려야 할 것이 생각보다 적습니다. 데스크톱과 모바일 클라이언트는 모두 원격 클라이언트이며, 기기마다 백엔드를 띄울 필요가 없습니다.
서비스 2개, 데이터 파일 1개
메인 앱(apps/app)은 순수 정적 프런트엔드로 기본 포트 5180(Docker 모드는 80)이며, nginx가 호스팅하면서 /api, /socket.io, /health를 백엔드로 프록시합니다. Core API(api/)는 NestJS 백엔드로 기본 포트 3000이며, 데이터는 모두 SQLite 파일 하나(기본 ./data/database.sqlite)에 저장됩니다. 이게 전부입니다 — 세 번째 상주 서비스는 없습니다.
외부 의존성 없음
백엔드는 better-sqlite3를 통해 SQLite 단일 파일 데이터베이스를 사용하며 Postgres / MySQL / Redis / MongoDB가 필요 없습니다(Postgres/MySQL로의 전환은 현재 지원되지 않습니다 — 이것이 정직한 경계이며, 커뮤니티 기여를 환영합니다). 따라서 백업과 이전은 파일 복사일 뿐이고, 최저 사양 VPS 한 대로 충분합니다.
모든 클라이언트는 원격 접속
iOS, Android, Windows, macOS, Web 모두 원격 클라이언트로 접속합니다: 클라이언트에는 서버 주소만 입력하면 되고, Core API를 로컬에서 실행하지 않습니다. 데스크톱 셸(Tauri)도 같은 원격 모드 — 셸 자체에 백엔드가 없으므로 서버 한 벌만 배포하면 모든 기기에서 접속할 수 있습니다.
운영 진입점: /admin/* 엔드포인트
독립 운영 콘솔 프런트엔드는 은퇴했고, 운영 기능은 백엔드의 /admin/* 엔드포인트로 내장되어 있습니다. 어떤 HTTP 클라이언트든 X-Admin-Secret 요청 헤더(시크릿은 env의 ADMIN_SECRET)를 붙여 호출할 수 있습니다. 예를 들어 curl로 인스턴스 통계 조회: curl -H "X-Admin-Secret: 당신의-시크릿" http://127.0.0.1:3000/api/admin/stats.
오픈 소스 경계
공식 멀티테넌트 클라우드의 운영 콘솔(cloud-api / cloud-console)과 Wiki 캐릭터 플랫폼은 오픈 소스 범위 밖입니다 — 셀프 호스팅에는 전혀 필요 없으며, 단일 인스턴스의 모든 기능은 위의 두 서비스 안에 있습니다. 오픈 소스 부분은 MIT 라이선스: 감사·수정·상업적 이용이 가능합니다.
관련 질문
Enclave를 셀프 호스팅할 수 있나요? 어렵나요?
가능하며, 난이도는 일반적인 web 서비스를 운영하는 것과 비슷합니다. docker compose를 사용해 봤다면 세 단계로 자신의 인스턴스를 가질 수 있습니다: 저장소 클론, .env 복사, docker compose up. API·프런트엔드·데이터베이스·벡터 인덱스가 모두 내 서버에서 실행됩니다.Enclave는 어떤 데이터베이스를 사용하나요? 직접 구축해야 하나요?
별도 구축이 필요 없습니다. Enclave는 데이터베이스와 벡터 인덱스를 내장하고 있어, docker compose로 띄울 때 다른 구성 요소와 함께 로컬에서 실행됩니다. 문서, 대화, 기억은 모두 구조화되어 그 안에 저장되며, 셀프 호스팅 모드에서는 이 데이터가 당신의 기기에만 존재합니다.Enclave는 오픈소스인가요? 어떤 라이선스를 사용하나요?
네. Enclave 모노레포 전체가 MIT 라이선스로 GitHub에 공개되어 있어 감사·수정·상업적 이용이 자유롭습니다. 데이터를 악용하지 않겠다는 약속도 그저 믿는 것이 아니라 직접 코드를 읽고 검증할 수 있습니다.Enclave를 상업적으로 사용할 수 있나요? MIT 라이선스에 제한이 있나요?
상업적으로 사용할 수 있습니다. Enclave는 MIT 라이선스 오픈소스로, 상업적 용도를 포함해 자유로운 사용·수정·배포가 허용되며, 유일한 조건은 저작권과 라이선스 고지를 유지하는 것입니다. 이를 기반으로 2차 개발하거나, 사내에 배포하거나, 외부에 서비스로 제공할 수 있으며 추가 라이선스 비용이 없습니다.