LoginSignup
0
0

VaultwardenをAzure Container Appsで立ち上げる

Last updated at Posted at 2024-04-20

必要なもの

  • Azure環境(無料枠でOK)
  • ちょっとの予算(月100円もかからないと思う…)

構築手順

細々したもの

リソースグループに次のものを作成して下さい。

  • ストレージ アカウント(最低限の設定でOK)
    image.png
    本当はIPアドレス指定で許可したいのですが、なぜかマウント出来なくなってしまうのでやむなくパブリック許可にしています。
    (VNET統合したほうが良いんでしょうが…)

→普通にContainer Apps環境作成時にサブネット生成してVNET統合するだけで簡単にできました。

image.png

- Azure Files(ファイル共有)もついでに適当に作っておいて下さい

image.png
image.png
トランザクションが最適化されましたレベルで良いと思います。よくわかりませんが。

  • Azure Database for PostgreSQL フレキシブルサーバー(最低設定・無料枠でOK)
    image.png
    ついでにデータベースからvaultwardenを事前に作っておきましょう。
    image.png

メインのやつ

本命のContainer Apps(コンテナー アプリ)を作りましょう。
大事な所だけ書き出します。それ以外は流れかお好みで決めて下さい。
image.png
image.png

完成したら次はAzure Filesとの連携です。
Container Apps環境Azure FilesからAzure Filesとファイルの読み書きが出来るようにします。
image.png
必ずアクセスモードは読み取り/書き込みにしましょう。

名前は何でもいいですが、どうもContainer Apps側の名前と被るとおかしくなる気がします。

お次にコンテナーアプリを開いてコンテナーから編集とデプロイで環境変数等を設定します。
環境変数はこんな感じです。(メール送信にmailtrapを利用、各種重要設定はシークレットに隠しています)
image.png
db-postgresの中身はこんな感じです。
postgresql://ユーザー名:パスワード@接続先名.postgres.database.azure.com:5432/vaultwarden
ユーザー名、パスワードはAzure Database for PostgreSQL フレキシブルサーバーの作成時に決めたものを入れて下さい。接続先名は同管理画面から確認できます。

ボリュームマウントでAzure Filesをマウントしましょう。
image.png

ちなみにSQLiteで動かそうとすると何故かWALを無効にしてもエラーで起動しなくなります。よくわかりません。なのでケチケチせずAzure Database for PostgreSQLの無料枠を使いましょう。

ここまで来れば、もう利用できる状態になっているはずです。
カスタムドメインはマネージド証明書も使えるようになったので、ドメインをお持ちの方はCNAMEとTXTを登録してあげるだけですぐに使えます。

SQLiteからPostgresに移行したいんだけど?

pgloaderを使う方法が公式に案内されています。が、謎のスキーマエラーでよくわからなかったのでDBeaverでゴリ押し移行しました。
単純にDBeaverでSQLiteのデータを開いてテーブルを選択し、右クリックからエクスポートを選んだ後にエクスポート先をPostgresにしてあげるだけです。
事前にPostgresとVaultwardenが初期連携出来ていれば、後は移行先スキーマに指定すると勝手にExist判定で突っ込んでくれます。すっごい便利。
詳細はまた後日書き直します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0