DOCUMENTS / MAINTENANCE

Console Hubのデータをバックアップ・復元する

Console Hubの永続化データ構造と、事故や環境移行に備えた安全なバックアップ・復元手順です

01 / DATA STRUCTURE

保護が必要な永続化データ

Console Hubは標準Docker Compose構成(docker-compose.prod.yml)において、2つのNamed Volume(sqlite_data および vault_data。プロジェクト名付与時: consolehub_sqlite_data, consolehub_vault_data)へ永続化データを分割格納します。両ボリュームを保護することで、全設定・接続情報・暗号化鍵を復元可能です

保存対象データの一覧
  • sqlite_data (/var/lib/consolehub/data): SQLiteデータベース (consolehub.db)。ユーザーアカウント、ホスト登録情報、アクセス権限、ログ・操作履歴、および暗号化された認証情報(パスワード・秘密鍵・RDP/VNC認証情報等の暗号文)を保持
  • vault_data (/var/lib/consolehub/vault): Vaultマスターキー・暗号化鍵。sqlite_data に保存された認証情報暗号文を復号するためのマスターキーを保持(※一方のボリュームが欠けるとデータ復元または鍵復号が行えません)

02

PROCEDURE

推奨バックアップ手順

データベースの整合性を保証するため、コンテナを安全に停止した状態でボリュームアーカイブを取得することを推奨します

01保持データの把握

sqlite_data(DBおよび認証情報暗号文)および vault_data(Vaultマスターキー)の2つのボリュームに永続化データが保持されています

02静止点の確保

データベースとVaultの整合性を保つため、バックアップ実行時はコンテナを安全に停止します(docker compose -f docker-compose.prod.yml stop)

03ボリュームのアーカイブ

docker runコマンド等を用いて sqlite_data および vault_data ボリュームをまとめて圧縮アーカイブ(tar.gz)として安全なストレージへ保存します

04復元テストの検証

空の新規ボリュームへ展開し、スナップショット取得時と互換性のあるイメージバージョンで起動後、ログイン・接続設定・鍵復号が正常に行えるか検証します

03

COMMAND EXAMPLES

コマンド実行例と注意点

Docker Compose環境でのバックアップおよび復元のコマンド例です

バックアップコマンド例 (Compose)
# 1. コンテナを安全に停止 (静止点の確保)
docker compose -f docker-compose.prod.yml stop

# 2. 両ボリューム (sqlite_data, vault_data) を1つのアーカイブに圧縮保存
docker run --rm \
  -v consolehub_sqlite_data:/data \
  -v consolehub_vault_data:/vault \
  -v $(pwd):/backup \
  alpine tar czf /backup/consolehub-backup-$(date +%Y%m%d).tar.gz -C / data vault

# 3. コンテナの再起動
docker compose -f docker-compose.prod.yml start
復元手順 (Restore)

※既存ボリュームへの上書き解凍は、WAL/ジャーナルログや不要ファイルの残留によりDB不整合を引き起こすため不可です。必ず空のボリュームを準備してください

# 1. コンテナ完全停止と既存ボリュームの削除 (空ボリュームの確保)
docker compose -f docker-compose.prod.yml down -v
docker volume create consolehub_sqlite_data
docker volume create consolehub_vault_data

# 2. バックアップアーカイブから空のボリュームへ展開
docker run --rm \
  -v consolehub_sqlite_data:/data \
  -v consolehub_vault_data:/vault \
  -v $(pwd):/backup \
  alpine sh -c "rm -rf /data/* /vault/* && tar xzf /backup/consolehub-backup-YYYYMMDD.tar.gz -C /"

# 3. バックアップ時と互換性のあるイメージバージョンで起動し、ヘルスチェック待機
docker compose -f docker-compose.prod.yml up -d --wait

MAINTENANCE

アップグレード手順を見る

バックアップ完了後、最新バージョンへの安全なアップグレード手順をご確認ください