Curso
Neste artigo, vou te mostrar como instalar o Bitwarden com o Docker em um servidor Ubuntu novo, configurar o HTTPS com o Let's Encrypt e resolver problemas comuns de configuração.
Se você está começando a usar o Docker, é melhor se inscrever no nosso Introdução ao Docker ou Docker Intermediário — aprenda o básico antes de gerenciar várias configurações de contêineres.
O que é a implantação do Docker do Bitwarden?
O Bitwarden tem uma instalação oficial baseada em Docker que te permite usar um gerenciador de senhas do jeito que você quiser.
Tudo o que você precisa fazer é rodar um único script de instalação. Não precisa instalar bancos de dados, servidores web ou escrever nenhum código manualmente. O Docker pega contêineres pré-configurados, configura a rede entre eles e coloca tudo pra funcionar. As atualizações funcionam da mesma maneira: basta executar o script de atualização e o Docker cuida do resto.
A configuração do Bitwarden no Docker funciona como vários contêineres trabalhando juntos. Você recebe um contêiner de cofre virtual para a interface do usuário, um contêiner de API para lidar com solicitações, um contêiner de banco de dados para armazenar dados criptografados do cofre e serviços de suporte para anexos e ícones. O Docker Compose coordena esses contêineres para que eles possam se comunicar entre si.
Tudo já está pré-configurado para você.
Essa abordagem de múltiplos contêineres significa que cada componente funciona de forma isolada. Se você precisar mexer no banco de dados, dá pra reiniciar só esse contêiner sem mexer na interface web. Se você quiser conferir os registros, cada serviço tem seu próprio fluxo de registros.
A implantação oficial usa o Docker Compose para gerenciar tudo por meio de um único arquivo de configuração, o que torna todo o sistema mais fácil de entender e manter do que uma instalação tradicional em servidor.
Requisitos antes de rodar o Bitwarden com o Docker
Você precisa de algumas coisas antes de poder usar o Bitwarden, mas nenhuma delas precisa de hardware empresarial ou configurações complicadas.
Um servidor Linux ou VM é o seu ponto de partida. O Ubuntu Server é realmente tudo o que você precisa. Você pode usar uma instância em nuvem da AWS, DigitalOcean ou Linode. Uma instância básica com 2 GB de RAM e 20 GB de armazenamento é suficiente para rodar o Bitwarden para uso pessoal ou equipes pequenas.
O Docker e o Docker Compose cuidam da instalação de verdade. Você vai instalar o Docker Engine (não o Docker Desktop) e o Docker Compose como pacotes separados. A maioria das distribuições Linux inclui ambos em seus gerenciadores de pacotes.
É preciso ter um nome de domínio porque o Bitwarden precisa de HTTPS pra funcionar. Não dá pra rodar isso em um endereço IP. Você vai precisar apontar seu domínio para o endereço IP do seu servidor antes de começar a instalação.
As portas 80 e 443 precisam estar abertas no seu servidor. A porta 80 lida com o tráfego HTTP e a validação de certificados, enquanto a porta 443 serve o tráfego HTTPS real. Configure seu firewall e os grupos de segurança do seu provedor de nuvem para permitir conexões de entrada em ambas as portas.
Você também precisa de conhecimentos básicos de linha de comando. Você vai acessar seu servidor via SSH, rodar scripts de instalação e editar arquivos de configuração. Se você sabe como navegar por diretórios e executar comandos com o sudo, está pronto.
E é isso! Tem coisas que você precisa saber, claro, mas quase qualquer pessoa que entenda um pouco de tecnologia consegue fazer isso. Deixa eu te mostrar como fazer.
Como instalar o Bitwarden usando o Docker (método oficial)
Este passo a passo usa um droplet Ubuntu da DigitalOcean e o Cloudflare para gerenciamento de domínio e DNS. Você pode usar outros provedores e serviços, mas se quiser acompanhar sem estresse, recomendo escolher o mesmo.
Configurando seu ambiente
Primeiro, crie um droplet DigitalOcean com Ubuntu 24.04 LTS. O droplet Básico de US$ 12/mês (2 GB de RAM, 1 CPU, 50 GB de SSD) roda o Bitwarden bem para uso pessoal ou equipes pequenas. Escolha uma região de datacenter perto de você para ter tempos de resposta melhores. Não esqueça de adicionar uma chave SSH que já existe ou criar uma nova.
Depois que o droplet inicializar, anote o endereço IP público dele no painel do DigitalOcean.

Detalhes do droplet da DigitalOcean
Depois, configura o DNS no Cloudflare. Faça login na sua conta Cloudflare e adicione um registro A apontando seu domínio para o endereço IP do droplet:
-
Tipo:
A -
Nome:
vault(ou o subdomínio que você preferir) -
Endereço IPv4: O IP do seu droplet
-
Status do proxy: Desligado (nuvem cinza)
Desative o proxy do Cloudflare para a configuração inicial. O Let's Encrypt precisa de acesso direto ao seu servidor para verificar a propriedade do domínio. Você pode ativar o proxy depois que o Bitwarden estiver funcionando e os certificados forem gerados.
Usei um dos meus domínios ativos para escrever este artigo:

Configuração do DNS da Cloudflare
A propagação do DNS leva alguns minutos. Execute este comando shell para verificar se as alterações estão visíveis:
nslookup vault.yourdomain.com
Você deve ver o endereço IP do seu droplet na resposta.

Resultados do Nslookup
Agora você pode se conectar ao seu droplet via SSH:
ssh root@your-droplet-ip
E você está dentro:

Conectando-se à instância do Ubuntu
Ok, então a primeira coisa a fazer aqui é atualizar os pacotes do sistema. Execute o seguinte comando:
apt update && apt upgrade -y
Agora você está pronto para instalar o Docker e o Bitwarden.
Como já falamos antes, você vai precisar do Docker e do Docker Compose. Execute estes comandos para instalá-los:
sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable docker
sudo systemctl start docker
E agora dá uma olhada na instalação:
docker --version
docker compose version
Você deve ver os números das versões para ambos os comandos.

Versões do Docker e do Docker Compose
A seguir, vou mostrar como instalar o Bitwarden.
Baixando e preparando o instalador do Bitwarden
O instalador oficial do Bitwarden tá guardado no repositório GitHub deles. Você pode baixar diretamente para o seu servidor:
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod +x bitwarden.sh
Isso baixa o script de instalação e o torna executável. O script cuida de tudo, desde baixar imagens do Docker, criar arquivos de configuração até montar a estrutura de diretórios.
O próximo passo é criar um diretório onde o Bitwarden vai guardar seus dados:
sudo mkdir /opt/bitwarden
Agora você pode mover o script de instalação para lá:
sudo mv bitwarden.sh /opt/bitwarden/
cd /opt/bitwarden
E, por fim, execute o instalador:
sudo ./bitwarden.sh install
O script cria um diretório bwdata que tem todos os arquivos de configuração, certificados, registros e arquivos de banco de dados do Bitwarden. É aqui que tudo fica, então faça backup desse diretório com frequência.
Executando a instalação
O instalador faz várias perguntas. Responda com cuidado, porque se errar, vai ter que começar tudo de novo.
Digite o nome do seu domínio exatamente como aparece nos seus registros DNS. Se você configurar vault.yourdomain.com no Cloudflare, digite exatamente essa sequência. Não inclua https:// nem barras finais.
Escolha Let's Encrypt para certificados SSL. O instalador vai cuidar da geração e renovação do certificado automaticamente. Se você estiver usando o proxy da Cloudflare (a nuvem laranja), talvez precise desativá-lo temporariamente durante a configuração inicial para que o Let's Encrypt possa verificar seu domínio.
Digite seu endereço de e-mail. É aqui que você vai receber os lembretes sobre o vencimento da sua certificação.

Instalação do Bitwarden (1)
O Bitwarden vai então baixar as imagens Docker necessárias. Vai demorar mais ou menos um minuto, e então você vai ver mais um monte de instruções.
Escolha um nome para o banco de dados. Não precisa ser criativo aqui, vault funciona perfeitamente bem.

Instalação do Bitwarden (2)
Então, a instalação vai continuar para baixar imagens adicionais do Docker.
Pega o ID e a chave de instalação em. Abra o página do Bitwarden Host e digite seu e-mail de administrador e região. Você vai pegar os dois valores - copie/cole quando for solicitado durante a instalação.

ID e chave de instalação do Bitwarden
E pronto, a instalação está concluída:

Instalação do Bitwarden (3)
O script gera arquivos de configuração em ./bwdata/config.yml e ./bwdata/env/global.override.env. Você pode editar esses arquivos diretamente se precisar alterar as configurações mais tarde.
Agora só falta iniciar o Bitwarden:
sudo ./bitwarden.sh start
O Docker pega todas as imagens necessárias e inicia os contêineres. Isso leva alguns minutos na primeira vez. O script mostra o progresso à medida que cada contêiner é iniciado.

Instalação do Bitwarden (4)
Depois de alguns minutos, você deve ver uma mensagem “ Bitwarden is up and running! ” (O programa está funcionando normalmente) no terminal. Isso quer dizer que a instalação deu certo e você está pronto para seguir para a próxima seção.

Instalação do Bitwarden (5)
Verificando a instalação
Abra seu domínio em um navegador. Você deve ver a página de login do Bitwarden com um certificado HTTPS válido.

Página de login do Bitwarden
Se você vir um aviso de certificado, provavelmente o Let's Encrypt não conseguiu verificar seu domínio. Dá uma olhada nisso:
- Seus registros DNS apontam para o endereço IP certo.
- As portas 80 e 443 estão abertas no seu firewall.
- Se você estiver usando o proxy da Cloudflare, tente desativá-lo temporariamente.
Clique em “Criar conta” para configurar seu primeiro usuário. Essa conta vai ser a dona do seu cofre, então use uma senha mestra forte que você não vai esquecer. O Bitwarden não consegue recuperar essa senha — se você a perder, os dados do seu cofre vão sumir.

Criação de usuário no Bitwarden
Depois de criar sua conta, faça login para ver se tá tudo funcionando. Você pode criar um item de login de teste e garantir que ele seja salvo corretamente.

Adicionando um item de login ao Bitwarden
Isso funciona como esperado, então, em seguida, voltarei ao terminal para verificar se tudo funciona bem lá também.
Execute este comando para verificar se todos os contêineres estão funcionando:
sudo docker ps
Você deve ver vários contêineres com nomes como bitwarden-web, bitwarden-api, bitwarden-db e outros.

Executando contêineres
Se algum contêiner aparecer como “Reiniciando” ou não estiver listado, dá uma olhada nos registros com esses comandos:
sudo docker logs bitwarden-api
sudo docker logs bitwarden-web
Se você tiver algum problema ao iniciar, geralmente é por causa de conflitos de porta ou problemas de permissão.
Os conflitos de porta acontecem se outra coisa estiver usando as portas 80 ou 443. Pare o serviço que tá causando conflito ou mude as portas do Bitwarden em ./bwdata/config.yml.
Falhas na inicialização do banco de dados geralmente significam problemas de permissões. Verifique se o usuário do Docker pode escrever no diretório ` bwdata `:
sudo chown -R root:root /opt/bitwarden/bwdata
sudo chmod -R 755 /opt/bitwarden/bwdata
Falhas na geração de certificados significam que o Let's Encrypt não conseguiu acessar seu servidor. Confira se o seu domínio está apontando para o IP certo e se o seu firewall deixa o tráfego entrar nas portas 80 e 443.
Se os contêineres continuarem reiniciando, dá uma olhada no espaço disponível em disco e na memória. O Bitwarden precisa de pelo menos 2 GB de RAM para rodar todos os seus serviços.
Configurando HTTPS e certificados
O Bitwarden precisa de HTTPS para todas as conexões. Não tem como rodar isso por HTTP simples.
As extensões do navegador e os aplicativos móveis do Bitwarden não se conectam a pontos finais HTTP. O protocolo em si precisa de conexões criptografadas pra proteger os dados do seu cofre enquanto eles estão sendo enviados.
O script de instalação configura os certificados Let's Encrypt. A Let's Encrypt é uma autoridade certificadora gratuita que emite certificados SSL/TLS e cuida das renovações. Quando você colocou seu domínio durante a instalação, o script configurou a geração automática de certificados pelo protocolo ACME do Let's Encrypt.
Os certificados expiram após 90 dias, mas a configuração do Docker do Bitwarden inclui renovação automática. Uma tarefa cron verifica os certificados que estão prestes a expirar e os renova antes que isso aconteça. Você não precisa fazer nada manualmente.
Os certificados personalizados fazem sentido em algumas situações. Se você estiver usando o Bitwarden atrás de um proxy reverso que já lida com a terminação SSL, pode desativar o Let's Encrypt e deixar o proxy cuidar dos certificados. Se a sua organização tiver uma autoridade certificadora interna, você pode configurar o Bitwarden para usar esses certificados.
Para usar certificados personalizados, edite ./bwdata/config.yml e defina ssl_certificate_path e ssl_key_path como seus arquivos de certificado.

Usando certificados personalizados
Depois, reinicie o Bitwarden:
sudo ./bitwarden.sh restart
Quando a renovação do certificado não der certo, você deve primeiro dar uma olhada nos registros:
sudo docker logs bitwarden-nginx
Falhas comuns na renovação acontecem quando:
- O DNS do seu domínio mudou e não está mais apontando para o servidor.
- O proxy da Cloudflare está ativado (a nuvem laranja), bloqueando a verificação do Let's Encrypt.
- A porta 80 está bloqueada, impedindo que os desafios ACME sejam concluídos.
- Os arquivos de certificado têm permissões erradas.
Resolva o problema e, em seguida, inicie manualmente a renovação:
sudo docker exec bitwarden-nginx certbot renew
Se isso der certo, a tarefa cron de renovação automática deve funcionar nas tentativas futuras.
Configuração de e-mail (SMTP)
O Bitwarden precisa de um e-mail pra mandar convites pra usuários, links pra redefinir senhas e códigos de autenticação de dois fatores.
Sem o SMTP configurado, os usuários não conseguem redefinir suas senhas. Você não pode convidar membros da equipe para sua organização. Os pedidos de acesso de emergência não vão funcionar. O sistema funciona, mas você perde recursos importantes de recuperação de conta e gerenciamento de usuários.
As configurações SMTP estão em ./bwdata/env/global.override.env.

Arquivo de configurações SMTP
Abra esse arquivo e adicione a configuração do seu provedor de e-mail:
globalSettings__mail__replyToEmail=no-reply@yourdomain.com
globalSettings__mail__smtp__host=smtp.gmail.com
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=false
globalSettings__mail__smtp__username=your-email@gmail.com
globalSettings__mail__smtp__password=your-app-password
O formato usa dois sublinhados para mostrar configurações aninhadas. Cada __ separa um nível na hierarquia de configurações.
Depois de editar o arquivo, não esqueça de reiniciar o Bitwarden:
sudo ./bitwarden.sh restart
Teste a entrega de e-mails solicitando uma redefinição de senha ou enviando um e-mail de teste pelo painel de administração.
Aqui estão alguns erros comuns de SMTP que você deve evitar:
-
Usar sua senha normal de e-mail em vez de uma senha específica para o aplicativo. A maioria dos provedores exige que você crie uma senha específica para acessar o SMTP. O Gmail chama isso de “senhas de aplicativos”, e você pode criá-las nas configurações de segurança da sua conta do Google.
-
Números de porta errados. A porta 587 cuida das conexões STARTTLS, a porta 465 cuida do SSL/TLS e a porta 25 geralmente é bloqueada pelos provedores de nuvem. Se uma porta não funcionar, tente outra.
-
Confusão entre SSL e TLS. Defina
ssl=falsepara STARTTLS na porta 587 oussl=truepara SSL direto na porta 465. Misturar essas configurações faz com que a conexão não funcione. -
Firewall bloqueando SMTP de saída. Alguns provedores de nuvem bloqueiam a porta de saída 25 por padrão. Use as portas 587 ou 465, que raramente são bloqueadas.
Se os e-mails não estiverem sendo enviados, dá uma olhada nos registros do contêiner da API:
sudo docker logs bitwarden-api
Procure por erros de conexão SMTP ou falhas de autenticação. Os registros mostram exatamente o que deu errado com a entrega do e-mail.
Atualizando e fazendo backup do Bitwarden
Com a instalação auto-hospedada, vem o trabalho de fazer backups e atualizações manuais. Felizmente, isso é fácil de fazer.
Atualizando o Bitwarden
Antes de atualizar, feche o Bitwarden e faça backup dos seus dados. As atualizações podem falhar ou trazer problemas, e você precisa de uma maneira de reverter se algo der errado.
cd /opt/bitwarden
sudo ./bitwarden.sh stop
Faça backup de todo o diretório bwdata:
sudo tar -czf bitwarden-backup-$(date +%Y%m%d).tar.gz bwdata/
Manda esse backup pra um lugar seguro, tipo um disco externo ou outro servidor.
Agora atualize o Bitwarden com este comando:
sudo ./bitwarden.sh update
O script de atualização pega as imagens mais recentes do Docker, atualiza os arquivos de configuração se precisar e reinicia todos os contêineres. Isso geralmente leva alguns minutos.

Atualizando o Bitwarden
Depois que a atualização terminar, dá uma olhada se tá tudo funcionando bem fazendo login no seu cofre virtual e conferindo se seus dados estão intactos.
Se a atualização causar algum problema, basta restaurar seu backup:
sudo ./bitwarden.sh stop
sudo rm -rf bwdata/
sudo tar -xzf bitwarden-backup-YYYYMMDD.tar.gz
sudo ./bitwarden.sh start
Backups
O diretório bwdata tem tudo que o Bitwarden precisa pra funcionar. Você deve fazer backup regularmente.
Esse diretório inclui:
- Seu banco de dados cofre com todas as senhas criptografadas
- Certificados SSL
- Arquivos de configuração
- Registros e anexos
- Definições do Docker Compose
Pare o Bitwarden antes de fazer o backup para garantir a consistência dos dados:
sudo ./bitwarden.sh stop
sudo tar -czf bitwarden-backup-$(date +%Y%m%d).tar.gz bwdata/
sudo ./bitwarden.sh start
Guarde os backups em vários lugares. Guarde uma cópia no servidor, outra em uma máquina diferente e, se possível, outra no armazenamento na nuvem.
Para restaurar a partir do backup, feche o Bitwarden, apague o diretório atual bwdata, extraia seu backup e reinicie. O processo é igual ao de reverter uma atualização que deu errado.
Você pode até automatizar os backups com uma tarefa cron que rola diariamente ou semanalmente, dependendo da frequência com que os dados do seu cofre mudam.
Problemas comuns ao rodar o Bitwarden no Docker
Mesmo com uma instalação limpa, você pode ter problemas. Veja como diagnosticar os mais comuns.
Os conflitos de porta acontecem quando outro serviço já está usando as portas 80 ou 443. Dá uma olhada no que tá usando essas portas:
sudo netstat -tlnp | grep ':80\\|:443'
Se você vir o Apache, Nginx ou outro servidor web funcionando, precisa parar esse serviço ou mudar as portas do Bitwarden. Para mudar as portas, edite ./bwdata/config.yml e defina http_port e https_port com valores diferentes, como 8080 e 8443. Depois reinicie:
sudo ./bitwarden.sh restart
Falhas no certificado aparecem como avisos no navegador ou o Bitwarden não inicia. Dá uma olhada nos logs do contêiner nginx com esse comando:
sudo docker logs bitwarden-nginx
Procure por falhas no desafio ACME ou erros de validação de certificado. Aqui estão as causas mais comuns:
- O DNS ainda não está apontando para o seu servidor.
- O proxy Cloudflare está bloqueando a verificação do Let's Encrypt
- A porta 80 está bloqueada pelo seu firewall.
- O domínio na sua configuração não bate com os seus registros DNS.
Resolva o problema de DNS ou firewall e, em seguida, solicite manualmente os certificados:
sudo docker exec bitwarden-nginx certbot renew --force-renewal
Os contêineres que não iniciam geralmente indicam problemas no banco de dados ou arquivos ausentes. Dá uma olhada em quais contêineres estão funcionando executando isso:
sudo docker ps -a
Os contêineres com status “Saída” ou “Reiniciando” têm problemas. Dá uma olhada nos registros deles:
sudo docker logs bitwarden-db
sudo docker logs bitwarden-api
Erros de inicialização do banco de dados significam que o diretório bwdata tem problemas de permissão. Corrigir permissões:
sudo chown -R root:root /opt/bitwarden/bwdata
sudo chmod -R 755 /opt/bitwarden/bwdata
Se os contêineres ainda não iniciarem, verifique o espaço em disco:
df -h
Lembre-se de que o Bitwarden precisa de pelo menos alguns GB de espaço livre para funcionar corretamente.
O SMTP não está funcionando, o que impede a redefinição de senhas e convites de usuários. Teste suas configurações SMTP primeiro, verificando os registros da API quando tentar enviar um e-mail:
sudo docker logs -f bitwarden-api
Tente redefinir a senha e fique de olho nos erros SMTP nos registros. Aqui estão os problemas mais comuns:
- Nome de usuário ou senha errados (use senhas específicas do aplicativo, não sua senha normal)
- Configurações erradas da porta ou SSL
- Firewall bloqueando conexões SMTP de saída
- Provedor de e-mail que precisa de etapas extras de autenticação
Você pode conferir se as configurações SMTP em ./bwdata/env/global.override.env estão certinhas com o que tá na documentação do seu provedor. Mesmo pequenos erros de digitação no nome do host ou na porta podem impedir a entrega do e-mail.
Depois de ajustar as configurações SMTP, reinicie o Bitwarden e tente de novo.
Bitwarden vs Vaultwarden (Escolha dos usuários do Docker)
Vaultwarden é uma implementação não oficial do servidor Bitwarden, mantida pela comunidade e escrita em Rust.
Não tem nada a ver com a Bitwarden Inc., mas funciona com todos os clientes oficiais da Bitwarden. Você usa as mesmas extensões de navegador, aplicativos móveis e aplicativos de desktop. A diferença está totalmente no lado do servidor.
Por que os usuários escolhem o Vaultwarden
- Menos uso de recursos. O Vaultwarden rola num único contêiner leve que precisa de menos de 100 MB de RAM. O Bitwarden oficial usa vários contêineres e precisa de pelo menos 2 GB. Se você estiver usando um pequeno VPS ou Raspberry Pi, o Vaultwarden faz mais sentido.
- Configuração mais simples. Um recipiente significa menos peças móveis. Sem contêiner de banco de dados separado, sem contêiner web separado. Você pega uma imagem, configura um contêiner e pronto.
- Algumas funcionalidades premium funcionam sem uma licença paga. O Vaultwarden oferece recursos como anexos de arquivos e acesso de emergência, que exigem uma assinatura premium no Bitwarden oficial.
Compromissos com o Vaultwarden
- É um projeto comunitário. As atualizações vêm de voluntários, não de uma empresa com equipe de suporte dedicada.
- Sem suporte oficial. A Bitwarden Inc. não vai te ajudar com problemas do Vaultwarden. Você tá por conta própria com os fóruns da comunidade e as questões do GitHub.
- Possíveis problemas de compatibilidade. Quando o Bitwarden lança novos recursos, o Vaultwarden precisa acompanhar. Normalmente, há um atraso antes que as novas funcionalidades comecem a funcionar.
Qual você deve usar?
Use o Bitwarden oficial se quiser suporte empresarial, compatibilidade garantida com todos os recursos e apoio da empresa que desenvolve os clientes. Os requisitos de recursos importam menos se você estiver em um VPS com o tamanho certo.
Escolha o Vaultwarden se você estiver usando um hardware limitado, quiser uma configuração mais simples ou precisar de recursos premium sem pagar por eles. É só entender que você está trocando o suporte oficial pela eficiência de recursos.
Ambos funcionam bem para hospedagem própria e protegem suas senhas com a mesma criptografia que os clientes esperam.
Práticas recomendadas básicas de segurança
É óbvio, mas o Bitwarden guarda suas senhas, então você vai querer mais proteção além da criptografia. Aqui estão algumas práticas recomendadas a seguir.
Mantenha seu servidor atualizado. Os patches de segurança são importantes, então atualize regularmente. Aqui está um comando para fazer isso:
sudo apt update && sudo apt upgrade -y
Você pode configurar atualizações automáticas de segurança para que patches críticos sejam instalados sem precisar mexer em nada. No Ubuntu, instale o unattended-upgrades:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades
Limite o acesso ao painel de administração. A interface administrativa do Bitwarden fica em /admin e usa um token administrativo separado para autenticação. Crie um token forte durante a instalação e guarde-o em um lugar seguro. Não exponha o painel de administração à internet pública, se puder evitar.
Se você precisar de acesso remoto de administrador, use o tunelamento SSH ou uma VPN em vez de deixar um /admin a acessível publicamente.
Use HTTPS em todos os lugares. Nunca desative o HTTPS nem ignore os avisos de certificado. Se seus certificados não estiverem funcionando, conserte-os em vez de tentar contornar o problema. Os clientes Bitwarden não se conectam via HTTP por um bom motivo.
Fique de olho nos lançamentos do Bitwarden. Inscreva-se nas versões do GitHub do Bitwarden ou confira o blog deles para ver as atualizações de segurança. Quando sair uma nova versão, dá uma olhada nas notas de lançamento antes de atualizar pra saber o que mudou.
Ative a autenticação de dois fatores na sua conta do cofre. Mesmo que alguém roube sua senha principal, a autenticação de dois fatores (2FA) bloqueia o acesso não autorizado. Use um aplicativo autenticador ou uma chave de hardware.
Use um firewall. Só pra você saber, veja como configurar o UFW pra deixar só as portas necessárias funcionarem:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Bloqueie tudo o resto por padrão.
Dá uma olhada de vez em quando nos registros pra ver se tem alguma atividade estranha. Procure por tentativas de login que não deram certo ou chamadas inesperadas da API:
sudo docker logs bitwarden-api | grep -i "failed\\|error"
Como você pode ver, o Bitwarden auto-hospedado significa que você vai ter que fazer umas coisinhas de vez em quando. Esse é o preço do controle total.
Conclusão
O Docker facilita a hospedagem própria do Bitwarden e você não precisa de infraestrutura empresarial.
O script de instalação oficial faz tudo por você. Você recebe atualizações automáticas, gerenciamento de certificados e um cofre funcional em menos de uma hora — levei cerca de 15 minutos para configurar, incluindo o provisionamento da instância de computação e a configuração do DNS. A maioria dos usuários nunca precisa de nada além do que eu falei neste artigo.
Comece com a configuração básica em um único servidor. Familiarize-se com backups, atualizações e solução básica de problemas antes de adicionar proxies reversos, bancos de dados externos ou configurações de alta disponibilidade. Essas configurações avançadas resolvem problemas que você provavelmente ainda não tem.
Se você não quer confiar suas senhas a terceiros, essa é a melhor opção. Mas também é importante não complicar demais a configuração e acabar estragando alguma coisa. Execute a implantação oficial do Docker, faça backups regularmente e você terá um gerenciador de senhas confiável sob seu controle.
Tá pronto pra saber mais sobre o Docker? Comece com nossos Conceitos de conteinerização e virtualização e, em seguida, veja-os em ação com Docker e Kubernetes.
Perguntas frequentes
Como posso garantir alta disponibilidade para minha instância auto-hospedada do Bitwarden?
A alta disponibilidade precisa de várias instâncias do Bitwarden rodando atrás de um balanceador de carga com um banco de dados externo compartilhado, tipo PostgreSQL ou MySQL. Você vai precisar configurar cada instância para se conectar ao mesmo banco de dados e usar armazenamento compartilhado para anexos. Para a maioria das implantações pessoais e em equipes pequenas, backups regulares e um processo de restauração documentado oferecem proteção adequada sem a complexidade da arquitetura de alta disponibilidade.
Quais são as melhores práticas para configurar o SMTP no Bitwarden?
Use senhas específicas para aplicativos em vez da sua senha normal de e-mail e veja se as configurações SMTP estão certinhas com o que diz a documentação do seu provedor. Teste sempre o envio de e-mails após a configuração, solicitando uma redefinição de senha ou usando a função de teste do painel de administração. Guarde as credenciais SMTP com segurança no arquivo global.override.env e restrinja as permissões do arquivo para evitar acesso não autorizado.
Como resolver um erro 502 Bad Gateway no Bitwarden?
Dá uma olhada se todos os contêineres estão funcionando com o comando ` sudo docker ps ` e vê se tem algum em status “Restarting”. Dá uma olhada nos logs do nginx e do contêiner da API usando sudo docker logs bitwarden-nginx e sudo docker logs bitwarden-api pra identificar o serviço com problema. As causas comuns incluem o contêiner da API não iniciar devido a problemas de conexão com o banco de dados, memória insuficiente ou problemas de certificado bloqueando o proxy reverso.
Posso usar portas de servidor personalizadas com o Bitwarden?
Sim, edite ./bwdata/config.yml e mude http_port e https_port para os valores que você preferir, tipo 8080 e 8443. Depois de mudar as portas, reinicie o Bitwarden com o comando ` sudo ./bitwarden.sh restart`. Lembre-se de que usar portas não padrão significa que você vai precisar incluir o número da porta na URL do seu domínio ao acessar o cofre.
Como faço para ativar o registro no syslog no Bitwarden?
Os contêineres Docker do Bitwarden registram em stdout/stderr por padrão, que o Docker captura automaticamente. Você pode mandar esses registros pro syslog configurando o driver de registro do Docker nas configurações do contêiner ou usando uma ferramenta de agregação de registros como Fluentd ou Logstash. Para uma integração simples do syslog, use o driver de registro syslog do Docker adicionando --log-driver=syslog à configuração do seu contêiner, embora isso exija a modificação manual do arquivo Docker Compose.



