본문으로 건너뛰기
Enclave

셀프 호스팅 아키텍처와 서비스 토폴로지

셀프 호스팅 Enclave는 단 두 개의 서비스입니다: 정적 프런트엔드(메인 앱) + Core API(NestJS), 데이터는 SQLite 파일 하나 — Postgres, Redis, 메시지 큐 같은 외부 의존성이 없습니다. 각 부분이 무엇인지, 데이터가 어디에 있는지, 운영 진입점이 어디인지 설명합니다.

배포 전에 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차 개발하거나, 사내에 배포하거나, 외부에 서비스로 제공할 수 있으며 추가 라이선스 비용이 없습니다.

관련 콘텐츠

셀프 호스팅 문서로 돌아가기
공유XTelegramLINEWeibo
셀프 호스팅 아키텍처와 서비스 토폴로지 · Enclave