Vaultwarden self-hosted: gestor de contraseñas Bitwarden en tu propio servidor
Qué cubre este artículo
- Qué es Vaultwarden: reimplementación del servidor Bitwarden en Rust, mucho más ligera.
- Setup con Docker en 5 minutos y configuración del panel admin.
- Usar los clientes Bitwarden: navegador, móvil, escritorio, todos compatibles.
- Seguridad: HTTPS, token admin, solo por invitación, copias de seguridad.
- Por qué Vaultwarden es el primer servicio self-hosted que tiene más sentido implementar.
Introducción
Vaultwarden es la reimplementación no oficial, pero extremadamente popular, del servidor Bitwarden en Rust. El servidor Bitwarden oficial es pesado (varios contenedores .NET, ~2 GB de RAM). Vaultwarden corre en un único contenedor con ~50 MB de RAM, perfecto para servidores caseros y VPS pequeños.
El truco: utilizas los clientes Bitwarden oficiales (extensión del navegador, iOS/Android, escritorio), solo tu servidor está alojado localmente. Las contraseñas permanecen en tu poder y las aplicaciones son maduras.
Casos de uso típicos
- Gestor de contraseñas familiar: padres e hijos, colecciones compartidas (WiFi, servicios de streaming).
- Contraseñas de equipo: credenciales corporativas, claves API, accesos a servidores compartidos y gestionados.
- Acceso de emergencia: función de acceso de emergencia para situaciones críticas.
- Secretos para automatización: claves API en Vaultwarden, scripts las recuperan vía CLI.
- RGPD: contraseñas en tu servidor en lugar de en la nube estadounidense.
Instalación: Docker
services:
vaultwarden:
image: vaultwarden/server:latest
ports:
- "127.0.0.1:8222:80"
environment:
- DOMAIN=https://vault.tu-dominio.com
- ADMIN_TOKEN=token-admin-largo-aleatorio
- SIGNUPS_ALLOWED=false # solo invitaciones
- INVITATIONS_ALLOWED=true
- WEBSOCKET_ENABLED=true
- SMTP_HOST=smtp.tu-servidor.com
- SMTP_PORT=587
- SMTP_USERNAME=vault@tu-dominio.com
- SMTP_PASSWORD=...
- SMTP_FROM=vault@tu-dominio.com
volumes: [vw_data:/data]
restart: always
volumes:
vw_data:
docker compose up -d
Importante: Vaultwarden necesita HTTPS para los clientes. Un proxy inverso (Caddy/Nginx) con TLS es obligatorio, no opcional. Consulta Proxy inverso.
Configuración inicial
- Panel admin:
https://vault.tu-dominio.com/adminconADMIN_TOKEN, configura los ajustes del servidor, gestión de usuarios, prueba SMTP. - Tu cuenta:
/accounts/register, establece una contraseña maestra fuerte. Si la pierdes, todo desaparece, no hay recuperación de contraseña con cifrado de extremo a extremo. - Invitar usuarios: panel admin, Users, Invite (o
SIGNUPS_ALLOWED=truetemporalmente para familia). - Organización: para colecciones compartidas (familia/empresa), crea una organización, invita miembros, define colecciones.
Conectar clientes
En cada aplicación Bitwarden, antes del inicio de sesión, cambia la URL del servidor:
- Extensión del navegador: engranaje, «Self-hosted», URL del servidor
https://vault.tu-dominio.com - Aplicación móvil: mismo ajuste en el inicio de sesión.
- Aplicación de escritorio: mismo procedimiento.
- CLI:
bw config server https://vault.tu-dominio.comluegobw login
Después todo funciona como en Bitwarden: autocompletar, generador de contraseñas, TOTP (las características premium son gratuitas en Vaultwarden).
Extensiones
CLI para automatización
# Bitwarden CLI con Vaultwarden
bw config server https://vault.tu-dominio.com
bw login
export BW_SESSION=$(bw unlock --raw)
# Obtener secreto en script
API_KEY=$(bw get password "ollama-api-key")
curl -H "Authorization: Bearer $API_KEY" http://ollama:11434/api/...
Así los secretos para scripts de automatización no están en archivos .env, sino en el vault. Consulta Claves API.
Send: compartir archivos y texto de forma segura
Bitwarden Send también funciona con Vaultwarden, enlaces únicos para contraseñas, texto y archivos (por ejemplo, compartir acceso con clientes en lugar de por correo).
Organizaciones para equipos
Colecciones por equipo (desarrollo, administración, contabilidad), miembros con permisos (solo lectura, edición, administración), intercambio limpio de secretos en lugar de hojas de cálculo de contraseñas.
Seguridad, crítica aquí
- HTTPS obligatorio: los clientes requieren TLS. Contraseñas sin HTTPS es catastrófico.
- Contraseña maestra: fuerte, no utilizada en ningún otro lugar, anotada en un lugar seguro. Sin recuperación.
- ADMIN_TOKEN: largo, aleatorio, secreto. El acceso al panel admin es poderoso.
- SIGNUPS_ALLOWED=false: si no, cualquiera se registra en tu instancia.
- Copias de seguridad:
/data(base de datos SQLite, adjuntos, claves RSA) diariamente. Consulta Backup. Sin copia de seguridad, todo se pierda si el servidor falla. - 2FA: activa dos factores en cada cuenta (Vaultwarden soporta TOTP y WebAuthn).
- No expongas a internet sin endurecimiento: Vaultwarden es seguro, pero un servidor de contraseñas en línea es un objetivo. VPN/Tailscale o al menos rate-limiting y fail2ban.
Vaultwarden vs. alternativas
| Herramienta | Fortaleza | Debilidad |
|---|---|---|
| Vaultwarden | Ligero, clientes Bitwarden, gratuito | No oficial (pero estable desde hace años) |
| Bitwarden Server | Oficial | Pesado (~2 GB RAM, stack .NET) |
| Bitwarden Cloud | Sin configuración | Contraseñas con proveedor estadounidense |
| KeePassXC | Offline, simple | Sin sincronización, clientes o compartir |
| 1Password | Maduro | Propietario, nube, suscripción |
Enlaces relacionados
- IRC-Coding.de: Tutoriales de programación: uso de CLI, gestión de secretos.
- Claves API: gestiona secretos de forma segura.
- Autenticación: 2FA y fundamentos de autenticación.
- Proxy inverso: TLS para Vaultwarden.
- Docker: fundamentos de despliegue.
- Backup: protege tus datos.
Puntos clave:
- Vaultwarden es el servidor Bitwarden en Rust, ligero (~50 MB de RAM), un contenedor.
- Los clientes oficiales de Bitwarden funcionan (navegador, móvil, escritorio, CLI).
- HTTPS es obligatorio, la contraseña maestra es irreemplazable, las copias de seguridad son críticas.
- Las características premium (TOTP, Send, organizaciones) son gratuitas en Vaultwarden.
- El primer servicio self-hosted que tiene más sentido, ganancia de privacidad inmediata.
FAQ
¿Es Vaultwarden suficientemente seguro para contraseñas?
¿Qué pasa si pierdo la contraseña maestra?
¿Funcionan las aplicaciones Bitwarden?
¿Vaultwarden o Bitwarden oficial?
¿Para equipos/empresas?
¿Qué necesito respaldar?
/data: base de datos SQLite, adjuntos, claves RSA, caché de iconos. Respalda diariamente. Sin copia de seguridad, todo se pierde si falla el servidor. Consulta el artículo de Backup.Fuentes y referencias
- Vaultwarden: GitHub.
- Bitwarden: Clientes oficiales.
- IRC-Coding.de: Tutoriales de programación.


