vaultwardenバージョンアップ

 新しい端末をセットアップしたらbitwardenのクライアントが動かない。
 調べたらホストしているvaultwardenが古いせいらしい。…というか昔作ったbitwardenrsのdockerイメージのままでvaultwardenのイメージに乗せ替えをしていないので古すぎた、というのが正しいか。
 いずれにしろ、これを機にバージョンアップしてみる。

dockerイメージの取得

 まずは、dockerイメージが変わっているので新しいイメージを取得する。
 これ自体は特段目新しいことはない。

# docker pull vaultwarden/server:latest

設定変更

 次にdockerイメージの差し替えにあわせてdoker-compose.ymlを修正。
 変えたのはdockerイメージ名とSMTPSのパラメータ修正、おまけでディレクトリ名。

docker-compose.yml

version: '3.7'

services:
  vaultwarden: # <- 名前変えた
    image: vaultwarden/server # <- 名前変えた
    restart: always
    volumes:
     - /docker/vaultwarden/data:/data # <- ディレクトリ名変えた
    environment:
      DOMAIN: '<ホスト先FQDN>'
      WEBSOCKET_ENABLED: 'true' # Required to use websockets
      SIGNUPS_ALLOWED: 'false'   # set to false to disable signups
      SMTP_HOST: 'email-smtp.us-east-1.amazonaws.com'
      SMTP_FROM: '<E-Mail>'
      SMTP_PORT: '587'
      SMTP_SECURITY: 'starttls' # <- SMTP_SSL: 'TRUE'から変更
      SMTP_USERNAME: '<AWSのキー情報に従う>'
      SMTP_PASSWORD: '<AWSのキー情報に従う>'

  caddy:
    image: caddy
    restart: unless-stopped
    volumes:
     - /docker/vaultwarden/Caddyfile:/etc/caddy/Caddyfile # <- ディレクトリ名変えた
     - /docker/vaultwarden/log:/var/log/caddy # <- ディレクトリ名変えた
    ports:
     - 80:80 # needed for Let's Encrypt
     - 443:443

Caddyfile

<ホストFQDN> {
  log {
    output file /var/log/caddy/access.log {
      roll_size 1gb
      roll_keep 5
      roll_keep_for 720h
    }
  }

  # The negotiation endpoint is also proxied to Rocket
  #reverse_proxy /notifications/hub/negotiate vaultwarden:80
  # Notifications redirected to the websockets server
  reverse_proxy /notifications/hub vaultwarden:3012
  # Proxy the Root directory to Rocket
  reverse_proxy vaultwarden:80 {
    header_up X-RealIP {remote_host}
  }
}

起動確認

 毎度のdocker-composeで起動。

# docker-compose up -d

 何回か試行したが、Caddyfileのコンテナ名があっておらず、502 Bad Gatewayになってしまい焦った。素直に名前を合わせることで無事起動。

起動後 (Webインタフェース)

記事をシェア: