Un gestor de contraseñas es imprescindible. Pero los cloud de pago (LastPass, 1Password) han tenido brechas serias y Bitwarden cloud cobra 40€/año por funciones que puedes tener gratis con Vaultwarden en tu VPS. Instala tu propio servidor en 20 minutos y sincroniza contraseñas entre móvil y escritorio sin depender de terceros.
Qué vamos a montar
- Servidor Vaultwarden (compatible con clientes Bitwarden oficiales)
- Sincronización automática entre móvil, tablet, ordenador y navegadores
- Extensión de navegador (Chrome/Firefox/Safari) con autocompletado
- App móvil con Face ID/Touch ID
- Todas las funciones "Pro" de Bitwarden: 2FA integrado, adjuntos cifrados, colecciones compartidas
- HTTPS con Let's Encrypt
Requisitos
- VPS con Ubuntu 22.04+ (500 MB RAM basta; Vaultwarden es ligerísimo)
- Dominio propio o subdominio (
vault.tudominio.com) - Acceso SSH
- 20-30 minutos
¿Aún no tienes VPS?
Argos corre en Rootnerds. VPS europeos económicos, ideales para servicios ligeros como Vaultwarden que apenas consumen recursos.
Paso 1: apunta el subdominio al VPS
En el panel de tu registrador, añade un registro A:
Tipo: A
Nombre: vault
Valor: TU_IP_DEL_VPS
TTL: 3600
Verifica con nuestra herramienta DNS que vault.tudominio.com resuelve
a tu IP antes de continuar.
Paso 2: instala Docker en el VPS
ssh root@TU_IP_DEL_VPS
apt update && apt upgrade -y
curl -fsSL https://get.docker.com | sh
apt install -y docker-compose-plugin Paso 3: crea la configuración
Crea el directorio y el docker-compose.yml:
mkdir -p /opt/vaultwarden && cd /opt/vaultwarden
nano docker-compose.yml
Pega esto (sustituye vault.tudominio.com y el email admin):
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://vault.tudominio.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: "GENERA_UN_TOKEN_LARGO_AQUI"
SMTP_HOST: ""
SMTP_FROM: ""
volumes:
- ./data:/data
ports:
- "127.0.0.1:8080:80"
Genera un ADMIN_TOKEN aleatorio con openssl rand -base64 48 y
pégalo entre las comillas. Este token protege el panel de administración
en /admin.
Paso 4: instala nginx y certbot
Vaultwarden debe ir siempre detrás de un proxy con HTTPS (los clientes oficiales rechazan HTTP en producción).
apt install -y nginx certbot python3-certbot-nginx Configura el vhost:
nano /etc/nginx/sites-available/vault.conf server {
listen 80;
server_name vault.tudominio.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
} ln -s /etc/nginx/sites-available/vault.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d vault.tudominio.com Certbot te pedirá email para avisos de expiración y renovará el cert automáticamente cada 90 días.
Paso 5: arranca Vaultwarden
cd /opt/vaultwarden
docker compose up -d
docker compose logs -f # comprueba que arranca sin errores
Abre https://vault.tudominio.com en tu navegador. Verás la
interfaz de Bitwarden. Pulsa "Crear cuenta", introduce email y contraseña
maestra muy fuerte (usa nuestro analizador de
fortaleza para verificarla).
Paso 6: cierra los registros al público
Ya has creado tu cuenta. Edita el compose para desactivar registros (así nadie más puede crear cuentas en tu servidor):
nano /opt/vaultwarden/docker-compose.yml
# Cambia SIGNUPS_ALLOWED: "true" a "false"
docker compose down && docker compose up -d
Si quieres invitar a familiares, ve al panel admin en
https://vault.tudominio.com/admin, introduce el ADMIN_TOKEN y
envía invitaciones por email desde ahí.
Rootnerds (afiliado): el proveedor que usamos para alojar Argos.
Paso 7: instala los clientes
Extensión de navegador
- Instala "Bitwarden" desde el store de Chrome, Firefox, Safari o Edge.
- Abre la extensión, pulsa el engranaje.
- Cambia "URL del servidor" a
https://vault.tudominio.com. - Vuelve al login y accede con tu email + contraseña maestra.
Móvil (iOS / Android)
- Instala "Bitwarden" desde App Store / Google Play.
- Antes de acceder, toca el icono del servidor arriba a la derecha.
- Introduce la URL propia y guarda.
- Accede. Activa Face ID/Touch ID para desbloqueo rápido.
Escritorio (Windows / Mac / Linux)
- Descarga la app oficial de Bitwarden desde bitwarden.com/download.
- Antes de login, pulsa el engranaje y cambia el servidor.
- Accede.
Paso 8: importa tus contraseñas actuales
Desde tu cliente actual (LastPass, 1Password, Chrome, etc.) exporta a CSV o JSON. Luego en Vaultwarden web: Herramientas → Importar datos → elige el formato origen → sube el archivo. Verifica que el número de entradas coincide y borra el archivo exportado (contiene tus contraseñas en claro).
Paso 9: activa 2FA en tu cuenta maestra
Aunque la contraseña maestra sea fuerte, activa 2FA para blindar el acceso. En Vaultwarden web: Configuración → 2 pasos de acceso. Usa una app tipo Aegis, 2FAS o Authy — no SMS. Guarda los códigos de recuperación fuera del gestor (en papel, en caja fuerte).
Paso 10: backups automáticos
Todo el vault vive en /opt/vaultwarden/data/. Un tar.gz nocturno
subido a otro lugar te salva de cualquier fallo del VPS. Ejemplo simple
con cron:
nano /etc/cron.d/vaultwarden-backup 0 3 * * * root tar -czf /root/backups/vault-$(date +\%Y\%m\%d).tar.gz -C /opt/vaultwarden data && find /root/backups -name "vault-*.tar.gz" -mtime +30 -delete Luego rsyncea la carpeta backups a otro sitio (S3, otro VPS, tu casa) con otro cron. Cifra con GPG antes de subir a cloud si es sensible.
Endurecimiento adicional
- Fail2ban con jail específico de Vaultwarden (evita brute force).
- Solo tú y personas de confianza deberían tener cuenta. Con
SIGNUPS_ALLOWED: falseel registro público está cerrado. - El panel
/admintiene su propio token — protégelo con IP allowlist en nginx si quieres máxima paranoia. - Actualiza Vaultwarden mensualmente:
docker compose pull && docker compose up -d
En media hora tienes gestor de contraseñas propio, compatible con la app oficial de Bitwarden, con todas las funciones "Pro" y sin pagar suscripciones. Los datos son tuyos, cifrados end-to-end.