Instale o gerenciador de senhas Vaultwarden no Ubuntu 20.04, 22.04

Vaultwarden é uma alternativa não oficial ao gerenciador de senhas Bitwarden, escrito em Rust, é mais leve e roda em servidores com configurações mais “modestas”.
A instalação será feita no Ubuntu 20.04/22.04 com Docker e docker-compose, e usa o Caddy para gerar o certificado SSL.
Pré requisitos
Servidor com Ubuntu 20.04 ou 22.04
Docker e docker-compose
Acesso SSH ao servidor
domínio, pago ou grátis (.tk, .ml, etc)
porta 443 aberta no servidor.
Iniciando
Remova quaisquer versões mais antigas do Docker e do Docker compose.
$ sudo apt remove docker docker.io containerd runsAtualiza o snapd.
$ sudo snap install core; sudo snap refresh coreInstale o Docker usando o snap
$ sudo snap install dockerContâiner Docker
Crie um diretório chamado vaultwarden e entre nele
$ mkdir ~/vaultwarden
$ cd ~/vaultwardenCrie um novo arquivo docker-compose.yml
$ sudo nano docker-compose.ymlAdicione o conteúdo a seguir no arquivo
version: '3'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - WEBSOCKET_ENABLED=true
    volumes:
      - ./vw-data:/data
  caddy:
    image: caddy:2
    container_name: caddy
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-config:/config
      - ./caddy-data:/data
    environment:
      - DOMAIN=
      - EMAIL=
      - LOG_FILE=/data/access.logAdicione o domínio ou subdomínio na linha DOMAIN e e-mail na linha EMAIL em environment do Caddy
Exemplo:
environment:
  - DOMAIN=dominio.com
  - [email protected]Para salva e sair digite CTRL + X, (command + X no Mac)digite Y e em seguida ENTER
Arquivo de configuração do Caddy
Crie e abra um novo Caddyfile
$ sudo nano CaddyfileAdicione no arquivo:
{$DOMAIN}:443 {
  log {
    level INFO
    output file {$LOG_FILE} {
      roll_size 10MB
      roll_keep 10
    }
  }
  # Get a cert by using the ACME HTTP-01 challenge.
  tls {$EMAIL}
  encode gzip
  # Headers to improve security.
  header {
  # Enable HSTS
  Strict-Transport-Security "max-age=31536000;"
  # Enable cross-site filter (XSS)
  X-XSS-Protection "1; mode=block"
  # Disallow the site to be rendered within a frame (clickjacking protection)
  X-Frame-Options "DENY"
  # Prevent search engines from indexing
  X-Robots-Tag "none"
  # Remove Caddy branding
  -Server
  }
  # Redirect notifications to the WebSocket.
  reverse_proxy /notifications/hub vaultwarden:3012
  reverse_proxy vaultwarden:80 {
       header_up X-Real-IP {remote_host}
  }
}Para salva e sair digite CTRL + X, (command + X no Mac)digite Y e em seguida ENTER
O Caddyfile configura o Caddy para encaminhar solicitações HTTPS da porta 443 para o Vaultwarden e adiciona cabeçalhos adicionais para melhorar a segurança, como a proteção HTTP Strict Transport Security (HSTS) e Cross-Site Scripting (XSS).
Executando a instalação
Instale executando o docker-compose. Isso pode demorar alguns segundos.
$ sudo docker-compose up -dVerifique se o container do Vaultwarden está sendo executado:
$ sudo docker pso status deve ser UP:
STATUS
Up x seconds/minutesAcesse o domínio ou subdomínio de instalação.
Exemplo: https://vault.dominio.com ou https://dominio.com e clique em criar conta para criar um usuário.

Configurações adicionais de segurança:
Desativando o registro de novos usuários
Por padrão, qualquer pessoa que acesse sua instância do Vaultwarden pode criar uma conta. Isso é útil ao criar sua instância pela primeira vez, mas pode representar um risco de segurança mais tarde.
Depois de criar sua conta, você pode desativar o registro definindo a variável de ambiente SIGNUPS_ALLOWED como false no arquivo docker-compose.yml.
services:
  vaultwarden:
    ... other configuration ...
    environment:
      - SIGNUPS_ALLOWED=false
      ... other configuration ...Desabilitando convites
O Vaultwarden também permite que usuários registrados convidem outros novos usuários para criar contas no servidor. Esse recurso não é um risco de segurança, desde que você confie em seus usuários. No entanto, se você é o único usuário, pode querer desativar isso.
Você pode desativar os convites definindo a variável INVITATIONS_ALLOWED como false em docker-compose.yml
services:
  vaultwarden:
    ... other configuration ...
    environment:
      - INVITATIONS_ALLOWED=false
      ... other configuration ...Desabilite as dicas de senha
As dicas de senha do Bitwarden geralmente são enviadas por e-mail. Mas as dicas de senha podem revelar informações pessoais, caso seja configurado o serviço de envio de emails.
Se você quiser desativar as dicas de senha, defina a variável SHOW_PASSWORD_HINT como false em docker-compose.yml
services:
  vaultwarden:
    ... other configuration ...
    environment:
      - SHOW_PASSWORD_HINT=false
      ... other configuration ...Etapas finais:
Reiniciando o Vaultwarden
Se você alterou qualquer uma das variáveis de ambiente das etapas acima, deve reiniciar o Vaultwarden. Para fazer isso, siga estes passos:
Pare o Vaultwarden usando o docker-compose:
$ sudo docker-compose downInicie o Vaultwarden usando o docker-compose:
$ sudo docker-compose up -dAs configurações serão salvas.
Usando o Vaultwarden
Acesse seu cofre pelo domínio que você configurou:
https://dominio.comUsando os aplicativos oficiais do Bitwarden
Pata usar os aplicativos oficiais do Bitwarden, altere o servidor de US para Self Hosted:

Altere para a URL do seu cofre:

Fontes:
https://github.com/dani-garcia/vaultwarden
https://www.vultr.com/docs/how-to-install-vaultwarden-on-ubuntu-20-04/
