skip to content
barorin&?

Dockerで作ったVaultwardenでADMIN_TOKENを消してもadminページにアクセスできてしまう問題

/ 2 min read

はじめに

Vaultwardenでは、vaultwarden.envADMIN_TOKENを書くことで、/adminに アクセスすることができます。

反対に、vaultwarden.envからADMIN_TOKENを消せば、/adminにアクセス できなくなるなずなのですが、なぜかアクセスできてしまうという問題が発生しました。

環境

VaultwardenはDockerで立ち上げています。

  • docker-compose.yml
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    environment:
      - TZ=Asia/Tokyo
      - SIGNUPS_ALLOWED=true
      - VIRTUAL_HOST=example.com
      - VIRTUAL_PORT=80
      - SMTP_HOST=smtp.example.com
      - SMTP_FROM=noreply-vaultwarden@example.com
      - SMTP_PORT=587
      - SMTP_SECURITY=starttls
      - SMTP_USERNAME=example.com
      - SMTP_PASSWORD=xxxxxxxxxxx
      - SMTP_AUTH_MECHANISM="Login"
    env_file:
        - ./vaultwarden.env
    volumes:
      - vol_wv-data:/data
    ports:
      - 80:80
    restart: always
volumes:
  vol_wv-data:

原因

どうやらVaultwardenでは、管理ページから設定を変更すると/data/config.jsonファイルが生成され、 以降はこのファイルの設定が優先されてしまうようです。
/data/のところは各自マウント先をご確認ください。)

解決方法

vaultwarden.envだけではなく、/data/config.jsonからも"admin_token": "xxxxxxxxxxx"を消すことで、 管理ページへアクセスできなくなります。
最後にdocker compose restartも忘れずに!

参考

Cant disable admin page on docker