본문으로 건너뛰기
Enclave

백업·이전·업그레이드

데이터의 본체는 ./data 디렉터리 안의 SQLite 파일 하나와 미디어 디렉터리입니다: 백업 = 복사, 이전 = 새 머신으로 복사, 업그레이드 = git pull 후 컨테이너 재빌드. 엄밀한 백업은 sqlite3의 .backup 명령으로 하고, 메이저 업그레이드 전에는 꼭 한 번 백업하세요.

  1. 1.데이터의 형태 파악하기

    모든 것은 배포 디렉터리의 ./data 아래에 있습니다: database.sqlite(채팅, 기억, 관계, 일정, 노트 등 모든 구조화 데이터)와 미디어 파일. 상태가 다른 곳에 흩어져 있지 않으며 외부 데이터베이스도 관여하지 않습니다.

  2. 2.백업

    가장 안전한 방법: 먼저 서비스를 중지하고(docker compose down 또는 프로세스 중지) data 디렉터리 전체를 복사합니다. 중지 없이 백업하려면 SQLite 내장 온라인 백업을 사용하세요: sqlite3 database.sqlite ".backup ./backup-날짜.sqlite" — WAL 모드 파일을 핫 카피하는 것보다 신뢰할 수 있습니다. 메이저 업그레이드 전 백업을 습관으로 만드세요.

  3. 3.새 머신으로 이전

    대상 머신에 배포 문서대로 설치하되 아직 시작하지 말고, 백업한 data 디렉터리를 배포 디렉터리 아래 원래 위치에 되돌려 놓은 뒤 서비스를 시작하세요 — 월드, 주민들의 기억, 전체 기록이 그대로 돌아옵니다.

  4. 4.업그레이드

    git pull로 새 코드를 받은 뒤: docker compose down → docker compose build --no-cache → docker compose up -d. ./data의 데이터베이스는 지워지지 않습니다. 예전 환경에서 데이터베이스를 api/ 아래에 두었더라도 새 버전이 시작할 때 ./data/database.sqlite로 자동 이전합니다.

  5. 5.업그레이드 주의: 프런트엔드 구 자산을 지우지 말 것

    오래된 apps/app/dist/assets를 일부러 삭제하지 마세요: 프런트엔드의 지연 로딩 청크는 콘텐츠 해시를 달고 있고, 열려 있는 옛 탭이 페이지를 이동할 때 과거 청크를 여전히 요청합니다 — 옛 파일을 남겨 두면 404를 피할 수 있습니다. 또한 서버는 시작 시 단일 사용자 월드 마이그레이션을 자동 실행합니다: 구 DB에 사용자가 0명이면 플레이스홀더 월드 오너를 자동 생성, 1명이면 그대로 사용, 여러 명이면 가장 먼저 등록한 사용자를 남깁니다(나머지 사용자의 데이터는 정리되며 자동 병합은 하지 않습니다).

관련 질문

  • 셀프 호스팅한 Enclave를 새 버전으로 업데이트하려면 어떻게 하나요?
    git pull로 최신 코드를 받은 뒤 docker compose up -d로 재시작하면 새 버전으로 롤포워드됩니다. CHANGELOG에 각 버전의 호환성 깨짐 변경 사항이 표시되어 있으니, 업그레이드 전에 한 번 훑어보면 됩니다.
  • 제 모든 데이터를 내보내거나 삭제할 수 있나요?
    셀프 호스팅에서는 데이터가 곧 컴퓨터의 데이터베이스 파일과 미디어 디렉터리입니다. 복사하면 백업, 가져가면 이전, 지우면 완전 삭제 — '지울 수 없는 사본'은 없습니다. 매니지드 클라우드 계정에는 현재 원클릭 내보내기 버튼이 없지만 언제든 탈퇴할 수 있습니다. 탈퇴 후 데이터는 영구 보관 처리되어 복구 불가하며, 휴대폰 번호와 이메일은 즉시 해제됩니다.
  • 제 대화 데이터는 안전한가요? 학습에 사용되나요?
    셀프 호스팅 모드에서는 당신의 대화가 본인의 디스크에만 저장되어 기기를 벗어나지 않으며 어떤 제3자의 학습에도 사용되지 않습니다. 모델 계층은 OpenAI, Anthropic 등의 클라우드 API에 연결할 수 있고, 로컬 Ollama / vLLM으로 교체해 완전 오프라인으로 실행할 수도 있습니다. 어떤 대화를 어느 모델로 보낼지는 당신이 결정합니다.
  • Enclave는 어떤 데이터베이스를 사용하나요? 직접 구축해야 하나요?
    별도 구축이 필요 없습니다. Enclave는 데이터베이스와 벡터 인덱스를 내장하고 있어, docker compose로 띄울 때 다른 구성 요소와 함께 로컬에서 실행됩니다. 문서, 대화, 기억은 모두 구조화되어 그 안에 저장되며, 셀프 호스팅 모드에서는 이 데이터가 당신의 기기에만 존재합니다.

관련 콘텐츠

셀프 호스팅 문서로 돌아가기
공유XTelegramLINEWeibo
백업·이전·업그레이드 · Enclave