Vaultwarden: gestor de contraseñas self-hosted en 20 minutos
Bitwarden es excelente, pero el servidor oficial es pesado. Vaultwarden es la implementación ligera compatible con las mismas apps — un contenedor en tu NAS y tus contraseñas cifradas en casa, no en la nube de Bitwarden Inc.
Un gestor de contraseñas en la nube (LastPass, 1Password, Bitwarden.com) cifra tus claves, pero el contenedor del vault sigue en servidores ajenos. Vaultwarden te da el mismo flujo — apps Bitwarden en móvil, extensión en el navegador, autocompletado — con el servidor en tu NAS.
Importante: Bitwarden cifra de extremo a extremo con tu contraseña maestra. Ni Vaultwarden ni nadie en tu casa puede leer el vault sin ella. Lo que ganas es control del servidor y que un fallo de un SaaS no te deje sin acceso.
Por qué Vaultwarden y no Bitwarden oficial self-hosted
Bitwarden publica su servidor completo, pero exige recursos considerables (base de datos, .NET, varios servicios). Vaultwarden (antes «bitwarden_rs») implementa la API que necesitan las apps oficiales en un solo binario Rust — perfecto para un NAS doméstico con 2–4 GB de RAM libres.
- Compatible con apps Bitwarden en iOS, Android, Firefox, Chrome, Safari.
- Un contenedor Docker, ~50 MB de RAM en reposo.
- 2FA, organizaciones familiares, Web Vault incluido.
- No incluye algunas funciones enterprise de Bitwarden pagado — irrelevante en casa.
Si aún no tienes claro qué gestor usar antes de autoalojarlo, en Privut te ayudo a elegir un gestor de contraseñas.
Instalar Vaultwarden en Docker
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- "8082:80"
volumes:
- ./vw-data:/data
environment:
DOMAIN: "https://vault.tudominio.com"
SIGNUPS_ALLOWED: "false"
ADMIN_TOKEN: "genera_un_token_largo_aleatorio"
Despliega el contenedor
Carpeta /docker/vaultwarden, pega el compose, ajusta puerto si 8082 está ocupado. docker compose up -d.
Crea la primera cuenta
Abre http://IP-NAS:8082 → registro. Luego pon SIGNUPS_ALLOWED: "false" para que nadie más cree cuentas sin tu permiso.
HTTPS en producción
En red local basta HTTP para probar. Para acceso fuera, usa reverse proxy (Synology Application Portal, NPM o Caddy) con certificado. Con Tailscale puedes usar HTTP solo en la red privada VPN si aceptas ese trade-off.
Conectar apps oficiales de Bitwarden
En móvil: instala Bitwarden (app oficial). En login → ⚙️ → Self-hosted environment → URL del servidor: http://IP-NAS:8082 (o tu dominio HTTPS). Mismo flujo en la extensión del navegador.
A partir de ahí funciona igual que Bitwarden en la nube: autocompletado, generador de contraseñas, 2FA TOTP guardado en entradas, sincronización entre dispositivos vía tu NAS.
Migrar desde LastPass, 1Password o Bitwarden.com
Exporta desde el gestor actual
LastPass/1Password/Bitwarden permiten export CSV o JSON. Hazlo en un ordenador de confianza. Borra el archivo exportado del disco cuando termines la importación.
Importa en el Web Vault
Vaultwarden → Tools → Import → elige formato. Revisa duplicados. Cambia contraseñas críticas (email, banco) tras migrar — la exportación pudo quedar en texto plano un momento.
Desactiva el gestor antiguo
Cuando todo funcione en móvil y navegador, cancela suscripción y borra cuenta en el servicio anterior.
Backup del vault (imprescindible)
Todo el vault vive en el volumen ./vw-data. Si pierdes ese directorio y no tienes copia, pierdes todo — aunque tengas la contraseña maestra.
- Incluye
/docker/vaultwarden/vw-dataen Hyper Backup local y en Backblaze B2. - Export periódico cifrado desde el Web Vault como segunda capa.
- Guarda la contraseña maestra y el 2FA de recuperación fuera del NAS.
Lo esencial
- Vaultwarden = servidor Bitwarden ligero en tu NAS.
- Apps oficiales Bitwarden apuntando a tu URL self-hosted.
- Cierra registros públicos tras crear tu cuenta.
- Migra con export/import; borra el CSV después.
- Backup de
vw-dataen la regla 3-2-1 — sin excusas.