環境移行
DigitalBase を別サーバーへ移す手順。対象は PostgreSQL データベース・アップロードファイル・.env の 3 つ。
移行元の db backup で作ったファイルを移行先の BACKUP_DIR に置き、db restore で戻しても移せる(バックアップと復元)。下の手順は DB とデータを個別に移す方法。
移すもの
移す対象と方法は次のとおり。
| 対象 | 中身 | 方法 |
|---|---|---|
| PostgreSQL DB | チャット履歴・RAG 埋め込み(pgvector)・ユーザー・ボット・設定・監査ログ | pg_dump → psql |
| データ | ファイル・レイク (Parquet)・カスタム MCP・監査ログの退避(FILES_DIR と、DATA_DIR の下の lake mcp audit-archive。既定はどちらも ~/.local/db の下、deb / rpm はファイルが /opt/digitalbase/files、それ以外が /root/.local/db) | tar / rsync |
.env | 設定(DATABASE_URL・モデル・認証・JWT_SECRET 等) | コピー |
| (任意)モデルキャッシュ | HF_HOME(既定 ~/.cache/huggingface) | コピー(省略時は再ダウンロード) |
| (任意)ライセンス | LICENSE_FILE_PATH の license.lic | コピー(下記注意) |
1. 移行元(エクスポート)
サーバーを停止して静止点を作る。
db stop
sudo systemctl stop db でも止められる。
DB をダンプする。pgvector 拡張と全テーブルを含む。
sudo -u postgres pg_dump digitalbase > digitalbase.sql
root で sudo が無い環境では次のコマンドを使う。
su postgres -c "pg_dump digitalbase" > digitalbase.sql
データ(DATA_DIR)をまとめる。無いフォルダは外す。個別に *_DIR を指定していればその場所を使う。
インストーラ版は次のコマンドを使う。
tar czf data.tar.gz -C ~/.local/db files lake mcp audit-archive
deb / rpm 版は root で実行する。ファイルは /opt/digitalbase/files、それ以外は /root/.local/db にあるので、2 つに分けてまとめる。
tar czf data.tar.gz -C /root/.local/db lake mcp audit-archive
tar czf files.tar.gz -C /opt/digitalbase files
.env をコピーする。インストーラ版は次のコマンドを使う。
cp ~/.local/db/.env env.backup
deb / rpm 版の .env は /etc/digitalbase/.env にある。
cp /etc/digitalbase/.env env.backup
2. 転送
作ったファイルを移行先へ送る。
scp digitalbase.sql data.tar.gz env.backup root@<移行先>:/tmp/
deb / rpm 版は files.tar.gz も送る。
scp digitalbase.sql data.tar.gz files.tar.gz env.backup root@<移行先>:/tmp/
3. 移行先(インポート)
移行先に DigitalBase を先にインストールし、起動せずに空 DB へリストアする。
install 直後の空の digitalbase DB へリストアする。
sudo -u postgres psql digitalbase < /tmp/digitalbase.sql
データを移行先の DATA_DIR へ展開する。置き場所が変わってもレイクはそのまま開ける。インストーラ版は次のコマンドを使う。
tar xzf /tmp/data.tar.gz -C ~/.local/db
deb / rpm 版は root で実行する。ファイルは /opt/digitalbase の下へ展開する。
mkdir -p /root/.local/db
tar xzf /tmp/data.tar.gz -C /root/.local/db
tar xzf /tmp/files.tar.gz -C /opt/digitalbase
.env を置く。下記の「.env の扱い」を見て調整する。インストーラ版は次のコマンドを使う。
cp /tmp/env.backup ~/.local/db/.env
deb / rpm 版は /etc/digitalbase/.env に置く。
cp /tmp/env.backup /etc/digitalbase/.env
起動する。起動時に不足スキーマがあれば自動で migration される。
db start
起動を確認する。{"status":"ok"} が返る。
curl http://localhost:8000/health
注意点
永続版ライセンスはハードウェアに紐付くため、移行先用の再発行が必要か事前に確認する。
.envの扱い —JWT_SECRETを引き継げば既存セッションは有効なまま。変えると全員再ログインになる。DATABASE_URL・DATA_DIR・LICENSE_FILE_PATHは移行先に合わせて調整する- pgvector — 移行先の PostgreSQL に必要(正規インストールなら導入済み)
- バージョン — 移行元と移行先の DigitalBase を揃える
移行の検証
次を確認する。
curl http://localhost:8000/healthが{"status":"ok"}- 管理画面でユーザー・ボット・チャット履歴が見える
- RAG ボットの検索で既存ナレッジがヒットする(pgvector の移行確認)