Base de Conhecimento

Vaultwarden na VPS: gerenciador de senhas próprio

  • vaultwarden na vps, vaultwarden, gerenciador de senhas, docker, vps
  • Usuários acharam útil: 0

Aprenda a instalar o Vaultwarden no seu servidor com Docker, ligar o HTTPS, fechar o cadastro, proteger o painel de administração e manter backup e atualização.

Por Redação Eleven Host · @robson.direitodigital · 1 de novembro de 2026 · 10 min de leitura

Arte da Eleven Host: janela de terminal com o título: Vaultwarden na VPS: gerenciador de senhas próprio

Capa da Redação Eleven Host para o guia: Vaultwarden na VPS: gerenciador de senhas próprio Arte: Eleven Host

O Vaultwarden na VPS é um servidor de senhas que implementa a API de cliente do Bitwarden, sem associação com a Bitwarden, Inc. Você o instala no seu servidor com Docker, e o cofre web exige HTTPS para funcionar.

O que é o Vaultwarden e o que ele não é

Segundo o README do projeto no GitHub, o Vaultwarden é uma implementação alternativa do servidor da API de cliente do Bitwarden, escrita em Rust. A licença exibida no repositório é a AGPL-3.0.

O README também diz que o projeto não tem associação com o Bitwarden nem com a Bitwarden, Inc. Por isso, o pedido do projeto é que bugs e sugestões vão direto à equipe do Vaultwarden, e não aos canais oficiais da Bitwarden.

O Vaultwarden não é o Bitwarden oficial. É um projeto independente, que você hospeda e mantém por conta própria.

O Vaultwarden serve para quem quer manter as próprias senhas num servidor sob seu controle. A troca vem junto: quem hospeda o cofre cuida de HTTPS, backup e atualização. Se você ainda está conhecendo servidores, leia antes o guia de iniciantes sobre servidor VPS.

Antes de começar

Você precisa de três coisas prontas antes do primeiro comando:

  • Uma VPS com Docker instalado. Os comandos abaixo usam o docker run do README.
  • Um domínio ou subdomínio. O exemplo do README usa vw.domain.tld; troque pelo seu endereço, apontado para o IP da VPS.
  • HTTPS. O README informa que o cofre web exige HTTPS e um contexto seguro para a Web Crypto API. Sem HTTPS, o cofre web não funciona.

O próprio README recomenda colocar um proxy reverso na frente do Vaultwarden. É ele que recebe o acesso pela internet e cuida do certificado. Mais abaixo, a seção sobre HTTPS mostra esse caminho.

Instalar o Vaultwarden com Docker

O README traz o comando abaixo, com o volume de dados em /vw-data/. Antes de rodar, troque o endereço de DOMAIN pelo seu:

docker run --detach --name vaultwarden \

--env DOMAIN="https://vw.domain.tld" \

--volume /vw-data/:/data/ \

--restart unless-stopped \

--publish 127.0.0.1:8000:80 \

vaultwarden/server:latest

Cada parte tem uma função:

  • --name vaultwarden dá nome ao contêiner, e é com esse nome que você o para e o atualiza depois.
  • --env DOMAIN informa o endereço público do cofre, com https.
  • --volume /vw-data/:/data/ guarda os dados do cofre fora do contêiner. É esse volume que preserva as suas senhas quando você atualiza.
  • --restart unless-stopped religa o contêiner quando o Docker reinicia, a menos que você o tenha parado.
  • --publish 127.0.0.1:8000:80 publica a porta 8000 só no próprio servidor. O acesso de fora passa pelo proxy, e não direto pela porta.

HTTPS com um proxy reverso

Como a porta 8000 só escuta no próprio servidor, o proxy reverso precisa estar no mesmo servidor, recebendo o tráfego do seu domínio e encaminhando para 127.0.0.1:8000. O guia Caddy na VPS: servidor web com HTTPS automático mostra um servidor web que cuida do certificado para você.

Para o proxy emitir o certificado, o domínio precisa apontar para o IP da VPS antes. Quando o endereço https://vw.domain.tld (com o seu domínio no lugar) abrir sem aviso de certificado, o cofre web já deve abrir normalmente.

Para conferir o que está escutando no servidor, o guia Portas abertas no Linux: como ver com ss e lsof na VPS ajuda. Na lista, confira se a porta 8000 aparece só no endereço 127.0.0.1.

Está escolhendo uma VPS? VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Ver os planos de VPS

Criar a sua conta e fechar o cadastro

A wiki do projeto avisa que, por padrão, quem consegue acessar a sua instância pode registrar uma conta nova. Se o seu cofre está na internet, isso significa que outra pessoa pode criar uma conta no seu servidor.

O caminho seguro é este:

  1. Abra o endereço do cofre e crie a sua conta.
  2. Pare e remova o contêiner com docker stop vaultwarden e docker rm vaultwarden. O volume /vw-data/ fica no servidor, e as suas senhas junto.
  3. Rode o comando da instalação de novo, acrescentando a variável que fecha o cadastro: -e SIGNUPS_ALLOWED=false.

Com o cadastro fechado, a wiki informa que o dono ou administrador de uma organização ainda pode convidar pessoas, e o administrador convida pelo painel.

Outras opções de cadastro

  • SIGNUPS_DOMAINS_WHITELIST=example.com,example.net,example.org limita o cadastro a e-mails de certos domínios. Se ela estiver definida, a wiki diz que o valor de SIGNUPS_ALLOWED é ignorado.
  • SIGNUPS_VERIFY=true exige que a pessoa confirme o e-mail.

Painel de administração e ADMIN_TOKEN

O Vaultwarden tem um painel de administração, que abre no caminho /admin do seu endereço. Segundo a wiki, para habilitá-lo você precisa configurar um token de autenticação, na variável ADMIN_TOKEN. O painel é opcional: se você não precisa dele, não configure o token.

Se for usar, gere um token longo e aleatório. A wiki dá este exemplo:

openssl rand -base64 32

Em vez de guardar o token em texto puro, a wiki recomenda guardar um hash Argon2. O comando vaultwarden hash gera esse texto. Com o nome de contêiner usado acima, o comando fica assim:

docker exec -it vaultwarden /vaultwarden hash

A wiki também menciona a opção --preset owasp, que usa o mínimo da OWASP. O objetivo do hash, nas palavras da wiki, é garantir que o token fique guardado em formato com hash, de modo que não possa simplesmente ser lido. Depois, coloque o texto gerado em ADMIN_TOKEN ao recriar o contêiner.

Se o painel reclamar do token

  • O aviso You are using a plain text ADMIN_TOKEN which is insecure. aparece quando o token está em texto puro.
  • A wiki explica que o arquivo config.json, salvo pelo painel, tem precedência sobre a variável de ambiente. Um valor antigo ali pode mascarar o que você configurou.
  • O mesmo aviso também pode vir de um hash malformado, com aspas a mais ou com o símbolo $ duplicado.
  • A wiki descreve a opção DISABLE_ADMIN_TOKEN, mas avisa que ela dá acesso irrestrito ao painel. Não a use se não tiver certeza do que faz.

A wiki recomenda muito ativar o HTTPS antes de habilitar o painel, para evitar ataques do tipo homem no meio (MITM). Por isso, deixe o proxy funcionando antes de definir o token.

Backup do cofre

A wiki lista o que existe na pasta de dados do Vaultwarden e o que copiar:

  • db.sqlite3: obrigatório.
  • attachments/: obrigatório.
  • config.json: recomendado. Tem segredos em texto, então proteja a cópia.
  • rsa_key*: recomendado. Sem esses arquivos, os usuários são deslogados.
  • sends/ e icon_cache/: opcionais.

O cuidado principal está no banco. A wiki alerta que copiar o arquivo do banco com o serviço ligado pode corrompê-lo, e desaconselha o snapshot da VM ou do sistema de arquivos. Use um destes comandos, que a wiki indica. O preferido usa a Online Backup API do SQLite (troque os caminhos pelos seus; aqui a pasta data/ é a que o volume /vw-data/ expõe):

sqlite3 data/db.sqlite3 ".backup '/path/to/backups/db-$(date '+%Y%m%d-%H%M').sqlite3'"

A alternativa é o VACUUM INTO:

sqlite3 data/db.sqlite3 "VACUUM INTO '/path/to/backups/db-$(date '+%Y%m%d-%H%M').sqlite3'"

A partir da versão 1.32.1, também existe um comando embutido:

docker exec -it vaultwarden /vaultwarden backup

Um detalhe prático da wiki: a imagem Docker não traz o sqlite3 nem o cron. Para agendar o backup, agende no servidor ou use o comando embutido. A wiki sugere ainda criptografar o backup junto com o config.json e o rsa_key.

Para restaurar, a wiki manda parar o Vaultwarden, trocar os arquivos da pasta de dados e apagar o db.sqlite3-wal antes de restaurar um arquivo gerado por .backup ou VACUUM INTO. Teste a restauração de tempos em tempos, como a wiki orienta, porque um backup não testado é só uma suposição.

Atualizar o Vaultwarden

A wiki de atualização resume em uma frase: atualizar é direto, desde que você preserve o volume montado. O roteiro é baixar a imagem nova, parar e remover o contêiner e criar de novo:

docker pull vaultwarden/server:latest

docker stop vaultwarden

docker rm vaultwarden

Em seguida, rode o mesmo comando da instalação, o do README, com o DOMAIN, o volume em /vw-data/ e a porta 127.0.0.1:8000:80, mais as variáveis que você escolheu, como SIGNUPS_ALLOWED=false.

A wiki mostra um comando de exemplo com -p 80:80, que deixaria a porta 80 aberta na internet, e sem a variável DOMAIN. Por isso, recomendamos repetir o comando do README. A wiki não manda fazer backup antes de atualizar, mas recomendamos fazer um antes, com um dos comandos da seção de backup. Com Docker Compose, a atualização usa docker compose pull e docker compose up -d.

Cuidados com o servidor que guarda as senhas

A segurança do cofre também depende do servidor em volta dele. Se a sua VPS aceita conexão por SSH, o guia Mudar a porta do SSH: passo a passo na VPS mostra um cuidado a mais. Confira também, de tempos em tempos, quais portas estão abertas.

Checklist do cofre

  • O domínio aponta para a VPS e o endereço abre por HTTPS, sem aviso de certificado.
  • O contêiner foi criado com --publish 127.0.0.1:8000:80 e o volume /vw-data/:/data/.
  • Criei a minha conta e recriei o contêiner com -e SIGNUPS_ALLOWED=false.
  • Se uso o painel /admin, o ADMIN_TOKEN é um hash gerado com vaultwarden hash, e o HTTPS já estava ativo.
  • Faço backup do banco com .backup ou com o comando embutido, sem copiar o arquivo com o serviço ligado.
  • Guardo config.json e rsa_key* com proteção, porque têm segredos.
  • Já testei uma restauração.
  • Atualizo repetindo o comando do README, com o volume preservado.

Vale ter o seu próprio servidor de senhas

Hospedar o próprio cofre dá controle, mas também dá trabalho. As atualizações, o backup e o HTTPS passam a ser responsabilidade sua, e problemas do Vaultwarden vão para a equipe do projeto.

Quer conhecer a VPS da Eleven Host? VPS a partir de R$ 17,00/mês no Plano Bronze; confira na loja o que cada plano inclui. Conhecer a VPS

Perguntas frequentes

O Vaultwarden é o Bitwarden oficial?

Não. O README diz que o projeto não tem associação com o Bitwarden nem com a Bitwarden, Inc. Ele é uma implementação alternativa da API de cliente do Bitwarden, escrita em Rust.

O Vaultwarden funciona sem HTTPS?

O cofre web não. O README informa que ele exige HTTPS e um contexto seguro para a Web Crypto API. Por isso, configure o domínio e o proxy com certificado antes de usar.

Como impedir que outras pessoas criem conta no meu servidor?

Crie a sua conta e recrie o contêiner com -e SIGNUPS_ALLOWED=false. Por padrão, quem acessa a instância pode se cadastrar.

Como fazer backup do Vaultwarden?

Use o sqlite3 com .backup ou o comando docker exec -it vaultwarden /vaultwarden backup, disponível a partir da versão 1.32.1. Copiar o arquivo do banco com o serviço ligado pode corrompê-lo.

Como atualizar o Vaultwarden?

Baixe a imagem com docker pull, pare e remova o contêiner e rode de novo o comando do README, preservando o volume /vw-data/.

Esta resposta lhe foi útil?

Artigos Relacionados