前書きと注意
以下の警告・または注意を無視して動作させた結果、最悪の場合データ破壊やハードウェアの損害、または重大なセキュリティ問題につながる可能性があります。
今回の記事に書いてある手順は環境によって予期しない動作を行う可能性があります
そのまま使用せず、参考程度にお願いします
また、コマンド使用の折にはリファレンスと仕様を一読の上使用してください。このお願いを無視し、損害が出ても責任は負いかねます
教訓
パスワードとIDは複数の媒体で控えておく(手書きは非推奨)
アンガーマネジメントではないが、パニックになったら6秒以上間を開けるか
目をつむる
例えばマイクロナップ
https://qiita.com/YKVKDX12/items/9517dbfd9ac156a096d0
どんなことをやらかしたのか
同一メアドで新しいアカウントに上書きしてしまった
なぜ起きたのか
LabelStudioにログインしようとしたところ、メールアドレスとパスワードが一致しなくなってしまい、GUIの中にパスワードリセットの手引きもない事からパニックに陥り、
テキトーな操作をして新規登録をしてしまうおおぼけをやらかす
とった行動
ChatGPTに旧アカウントのデータ復旧方法を聞いて手順通りに操作したところ、
なんとか旧アカウントは復旧。パスワードもその際リセットして事なきを得た
その手順(コマンド一覧)
手順1:現在のコンテナを確認
docker ps
手順2:現在どのデータフォルダを使っているか確認
docker inspect **** --format "{{range .Mounts}}{{println .Type .Name .Source .Destination}}{{end}}"
手順3: Label Studioの旧データ候補を探す
Get-ChildItem "ここにディレクトリのパスを入れる" -Directory | Where-Object {
$_.Name -match "label|studio|ls|***|data"
}
ログが出る
※ログは出るだけなので、その環境構築の折はカレンダーかなんかで
作業が完了したり始めた時間を記録しておこう
※今回使用したディレクトリは各自調整を
手順4:旧データ候補内のDBを探す
Get-ChildItem "****" -Recurse -Include *.sqlite3,*.db |
Select-Object FullName, LastWriteTime, Length
DBデータが出るはず
手順5:旧データをバックアップ
復旧作業前にバックアップ
$stamp = Get-Date -Format yyyyMMdd_HHmmss
Copy-Item -Recurse -Force "****
" "***"
手順6:現在のコンテナを停止
docker stop ****
手順7:旧データ を使ってLabel Studioを起動
docker run -d --name **** -p localhost:port -v "C:\Users\User\mydata:/label-studio/data" heartexlabs/label-studio:latest
http://localhost:****
手順9:ログインできない場合だけパスワードリセット
旧データに戻せたがログインできない場合は、次を実行
docker exec -it ************ reset_password --username 旧メールアドレス