Vaultwarden es un servidor de contraseñas ligero y compatible con Bitwarden. Usas las aplicaciones y extensiones de navegador normales de Bitwarden, pero tu caja fuerte vive en un servidor que controlas tú. Usa muy poca memoria, así que un VPS pequeño es suficiente. Como guarda tus contraseñas, configúralo con cuidado.
Antes de empezar
- Un VPS con Docker. Consulta instalar Docker.
- Un dominio que apunte al servidor. Consulta registros DNS explicados.
- Un plan para respaldar los datos. Consulta copias de seguridad del VPS.
Encontrarás más información en nuestra página de Vaultwarden autoalojado.
Paso 1: archivo Docker Compose
mkdir -p ~/vaultwarden && cd ~/vaultwarden
cat > compose.yaml <<'EOF'
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true" # switch to false after you create your account
ADMIN_TOKEN: "${ADMIN_TOKEN}"
volumes:
- ./data:/data
ports:
- "127.0.0.1:8081:80"
EOF
Paso 2: generar un token de administrador
La página de administración te permite gestionar usuarios. Guarda un token con hash, no en texto plano. La imagen de Vaultwarden incluye una utilidad:
docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
Paso 3: iniciarlo
docker compose up -d
docker compose logs -f
Paso 4: HTTPS con Caddy
Los clientes de Bitwarden exigen HTTPS.
vault.example.com {
reverse_proxy 127.0.0.1:8081
}
Recarga Caddy y abre el sitio. Crea tu cuenta, luego establece SIGNUPS_ALLOWED en false y ejecuta docker compose up -d de nuevo para que los desconocidos no puedan registrarse.
Paso 5: activa la verificación en dos pasos
En la caja fuerte web, activa la verificación en dos pasos con una aplicación de autenticación o una llave de hardware. Guarda el código de recuperación sin conexión.
Respalda la caja fuerte
Todos los datos están en ./data, principalmente la base de datos SQLite y los archivos adjuntos. Haz una copia consistente de forma programada y guárdala fuera del servidor:
sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*
Prueba una restauración al menos una vez. Una copia de seguridad que nunca probaste es solo una esperanza.