更新とバックアップ
Vectana を新しいバージョンに更新する手順と、データベースのバックアップ・復元。
バックアップ
データはすべて PostgreSQL に入っています。定期的に、また更新の前には必ずバックアップを取ってください。
mkdir -p backups && chmod 700 backups
docker compose exec -T db pg_dump -U vectana vectana | gzip > backups/vectana-$(date +%Y%m%d%H%M%S).sql.gz
.env も、別の安全な場所に保管してください(SECRET_KEY やパスワードが入っています)。
更新する
バックアップを取る
上の手順でデータベースをバックアップします。
バージョンを変えて起動し直す
.env の VECTANA_VERSION を新しいバージョンにして、イメージを取得し直します。
docker compose pull
docker compose up -d起動時に migrate がデータベースを自動で新しい構造に更新します。
動作を確認する
docker compose logs migrate # "Running upgrade ..." が出ていれば、DB の更新が成功しています
curl http://127.0.0.1:8000/api/health元に戻す
データベースの更新は前に進む方向だけを想定しています。古いバージョンに戻す場合は、VECTANA_VERSION を戻したうえで、更新前のバックアップから復元してください。
docker compose stop app worker
docker compose exec -T db psql -U vectana -d postgres -c "DROP DATABASE vectana WITH (FORCE);" -c "CREATE DATABASE vectana OWNER vectana;"
gunzip -c backups/vectana-XXXXXXXXXXXXXX.sql.gz | docker compose exec -T db psql -U vectana -d vectana
docker compose up -d