Skip to content

Instantly share code, notes, and snippets.

@kohki-shikata
Created September 16, 2024 12:51
Show Gist options
  • Save kohki-shikata/d9e1495ed36a4e806670955d16046ebe to your computer and use it in GitHub Desktop.
Save kohki-shikata/d9e1495ed36a4e806670955d16046ebe to your computer and use it in GitHub Desktop.
VaultWarden 移行まとめ

SQLiteからMySQLへ変換

  1. 公式に、マイグレの方法が書いてあった
  2. Pythonに、変換パッケージがあるらしい
  3. 手作業で書き換えることも可能らしい

手順

  1. 変換したMySQLダンプファイルを、本番MySQLにインポート
  2. ローカルにディレクトリを作り、Docker PullでVaultwardenの公式イメージを落としてくる
  3. Dockerを起動し、Vaultwardenイメージを実行
  4. ローカルで問題なく動くことを確認
  5. 確認できたら、CloudRun化

参考

公式のマイグレ方法

Using the MariaDB (MySQL) Backend まあまあ面倒くさそう

Pythonのパッケージ

sqlite3-to-mysql 2.3.1

pip install sqlite3-to-mysql
sqlite3-to-mysql -i vaultwarden_dump.sql -o vaultwarden_dump_mysql.sql

手作業

または、手動で変換する場合は、SQLダンプファイル内のSQLite固有の構文をMySQLに適合するように変更します。例えば:

AUTOINCREMENTをAUTO_INCREMENTに変更
TEXT型をVARCHAR型に変更

Chat GPT曰くだが…

ローカルでのDocker実行

docker pull vaultwarden/server:latest
docker run -d --name vaultwarden -v /vw-data/:/data/ --restart unless-stopped -p 80:80 vaultwarden/server:latest

もちろん、細かい設定は変える必要がある

CloudRunデプロイ

docker run -d \
  --name vaultwarden \
  -e DATABASE_URL="mysql://user:password@host:3306/vaultwarden" \
  -p 80:80 \
  vaultwarden/server:latest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment