0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

fly.ioでVaultwardenをセルフホスティングする

Posted at

はじめに

fly.ioという素晴らしいクラウドプラットフォームがあります。コンテナをベースにしており、アプリケーションを簡単にデプロイできます。これを使って、Bitwarden の代替サーバであるVaultwardenをセルフホスティングしてみました。
ユーザ登録からサーバが起動するまでの初期設定を以下にメモします。Macで作業していますが、その他の環境でも大して変わらない手順でできると思います。

fly.io のサインアップ

CUIの操作ツール flyctl をインストールし、fly.io にサインアップします。

$ brew install flyctl
$ fly auth signup

ブラウザで fly.io が開くので、メールアドレスでユーザ登録します。
Billing の設定でクレジットカードを登録して 'Pay As You Go Plan' (従量課金)にします。
以前あったhobby planは廃止されました。ただし Pay As You Goでも料金が $5/月 未満であれば請求されません。私の経験ではVaultwardenを1カ月使っても $1程度で、無料で使えています。

アプリのローンチ

適当なディレクトリを作成してその下に cd し、アプリをローンチします。作成したディレクトリ名がアプリの名称(稼働した際の URL)になるので、名前は考えてつけましょう。ここでは仮に'vault'としますが、すでに同じ名称が登録されている場合には fly.io がユニークな名称を自動的に付けるようです。

$ mkdir vault
$ cd vault
$ fly launch --region nrt

nrt は成田の意味で、日本のリージョンです。これでアプリの環境が確保され、設定ファイル fly.toml が作成されます。

fly.toml の編集

ファイルの頭にアプリ名称とリージョンの指定があるので、その下に以下の設定を挿入します。

[env]
  SIGNUPS_ALLOWED = "true"

[build]
  image = "vaultwarden/server:latest"

[mounts]
  source = "vault_data"
  destination = "/data"

内部で使うポート番号を8080から80に変更します。

[http_service]
  internal_port = 80

ボリュームの作成

データを置くボリュームを作成します。

$ fly volumes create vault_data --size 1

リージョンをどこにするか聞かれるので、矢印キーで nrt に移動して指定します。ボリューム名称は、設定ファイルの [mounts] の項目で指定したものです。容量は 1GB としました。

アプリのデプロイ

$ fly deploy

これで Vaultwarden のサーバが起動し、下記アドレスでアクセスできるようになります(vault の部分をアプリ名称に読み変えてください)。
https://vault.fly.dev

おわりに

Google の GCE などのサービスを使っても Vaultwarden をデプロイすることができるようですが、ここに示したように fly.io を使った手順は非常に簡単で、わずか数コマンドで完了します。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?