1.データの形を把握する
すべてはデプロイディレクトリの ./data 配下にあります:database.sqlite(チャット、記憶、関係、スケジュール、ノートなど全構造化データ)とメディアファイル。状態が他の場所に散らばることはなく、外部データベースも関与しません。
2.バックアップ
最も安全なのは、先にサービスを止めて(docker compose down またはプロセス停止)から data ディレクトリ全体をコピーする方法。止めずにバックアップしたいなら SQLite 内蔵のオンラインバックアップを:sqlite3 database.sqlite ".backup ./backup-日付.sqlite"——WAL モードのファイルをホットコピーするより信頼できます。メジャーアップグレード前のバックアップを習慣に。
3.新しいマシンへ移行する
移行先のマシンにデプロイドキュメント通りにインストールし、まだ起動しないでおきます。バックアップした data ディレクトリをデプロイディレクトリ配下の元の場所に戻してからサービスを起動——ワールド、住民の記憶、全履歴がそのまま戻ってきます。
4.アップグレード
git pull で新しいコードを取得後:docker compose down → docker compose build --no-cache → docker compose up -d。./data のデータベースが消されることはありません。旧環境でデータベースを api/ 配下に書いていた場合も、新バージョンの起動時に ./data/database.sqlite へ自動移行されます。
5.アップグレードの注意:フロントエンドの旧アセットを消さない
古い apps/app/dist/assets をわざわざ削除しないでください:フロントエンドの遅延読み込みチャンクはコンテンツハッシュ付きで、開いたままの古いタブはページ遷移時に過去のチャンクをまだ要求します——古いファイルを残しておけば 404 を回避できます。またサーバーは起動時にシングルユーザーワールド移行を自動実行します:旧 DB のユーザーが 0 人ならプレースホルダーのワールドオーナーを自動作成、1 人ならそのまま使用、複数人なら登録が最も早いユーザーを残します(他のユーザーのデータはクリーンアップされ、自動マージはされません)。
関連する質問
セルフホストしたEnclaveを新しいバージョンに更新するには?
git pullで最新のコードを取得し、docker compose up -dで再起動すれば新しいバージョンにロールフォワードできます。CHANGELOGには各バージョンの破壊的変更が記載されているので、アップグレード前にざっと目を通しておけば安心です。自分の全データをエクスポートまたは削除できますか?
セルフホストの場合、あなたのデータはマシン上のデータベースファイルとメディアディレクトリそのものです。コピーすればバックアップ、持ち出せば移行、削除すれば本当に削除——「消せないコピー」は存在しません。マネージドクラウドのアカウントには現在ワンクリックのエクスポートボタンはありませんが、いつでも解約できます。解約後のデータは永久アーカイブされ復元不可、電話番号とメールアドレスは即時解放されます。私の会話データは安全ですか?学習に使われませんか?
セルフホストモードでは、あなたの会話はあなた自身のディスクにのみ保存され、本機の外に出ることはなく、いかなる第三者の学習にも使われません。モデル層はOpenAIやAnthropicなどのクラウドAPIに接続できるほか、ローカルのOllama / vLLMに切り替えて完全オフラインで動かすこともできます。どの会話をどのモデルに通すかはあなたが決めます。Enclaveはどんなデータベースを使いますか?自分で構築する必要がありますか?
別途構築する必要はありません。Enclaveはデータベースとベクトルインデックスを内蔵しており、docker composeで立ち上げる際に一緒にローカルで動きます。ドキュメント・会話・記憶はすべて構造化されてその中に保存され、セルフホストモードではこれらのデータはあなた自身のマシン上にのみ存在します。