Presentación de Vaultwarden
Vaultwarden es una reimplementación en Rust de la API del servidor de Bitwarden. Funciona con las aplicaciones y extensiones oficiales de Bitwarden (navegador, móvil, escritorio y línea de comandos) y consume muy pocos recursos, por lo que encaja bien en un VPS pequeño. Lo usan desarrolladores, familias y equipos reducidos que quieren guardar sus credenciales en un servidor que controlan.
Cuando se entrega el servidor, el script de instalación ya ha desplegado Docker y ha arrancado dos contenedores con Docker Compose en /opt/vaultwarden. Vaultwarden escucha solo en local (127.0.0.1:8080) y Caddy publica la interfaz en el puerto 443 con HTTPS. Los datos se guardan en un volumen de Docker llamado vw_data.
El certificado es autofirmado (directiva tls internal de Caddy) y está asociado a la dirección IP pública del servidor, así que el navegador mostrará una advertencia hasta que asocies un nombre de dominio. El registro de usuarios está abierto de partida (SIGNUPS_ALLOWED=true): crea tu cuenta y ciérralo después.
Lo que puede hacer con Vaultwarden
Compatible con los clientes Bitwarden
Las aplicaciones y extensiones de Bitwarden se conectan a tu servidor con solo indicar su URL. Sigues usando las herramientas de siempre, sin servicios de terceros.
Bajo consumo de recursos
Escrito en Rust, Vaultwarden funciona con holgura en un VPS modesto. Deja margen para otros servicios en la misma máquina.
HTTPS proporcionado por Caddy
Caddy se ejecuta en la red del host y sirve la interfaz en el puerto 443 con un certificado autofirmado. El contenedor de Vaultwarden no queda expuesto directamente a Internet.
Despliegue con Docker Compose
Toda la configuración está en
/opt/vaultwarden/docker-compose.ymlyCaddyfile. Basta con editar y ejecutardocker compose up -dpara aplicar los cambios.Datos en un volumen propio
La base de datos y los adjuntos viven en el volumen
vw_data, separado del contenedor. Puedes actualizar la imagen sin tocar tus cajas fuertes.Registros bajo control
La variable
SIGNUPS_ALLOWEDpermite cerrar la creación de cuentas cuando tus usuarios ya se han registrado, de modo que ningún desconocido pueda darse de alta en tu instancia.
Empezar con Vaultwarden
Del pedido a la puesta en producción en pocos minutos.
- 1
Pide el VPS con Vaultwarden
Elige un VPS Linux (París o Fráncfort) con Debian 12, Debian 13 o Ubuntu 20.04, 22.04, 24.04. Marca Vaultwarden en la pestaña Aplicaciones del formulario de pedido.
- 2
Comprueba la instalación tras la entrega
Espera unos minutos después de recibir el servidor: el script instala Docker y luego arranca los contenedores. Conéctate por SSH y verifica que
vaultwardenycaddyestén activos.Bashssh root@SERVER_IP cd /opt/vaultwarden docker compose ps - 3
Crea tu cuenta principal
Abre https://SERVER_IP en el navegador y acepta la advertencia del certificado autofirmado. Crea tu cuenta y cierra después los registros para que nadie más pueda abrir una.
Bashsed -i 's/SIGNUPS_ALLOWED=true/SIGNUPS_ALLOWED=false/' /opt/vaultwarden/docker-compose.yml cd /opt/vaultwarden && docker compose up -d - 4
Pasa a un dominio con HTTPS válido
Crea un registro A de YOUR_DOMAIN que apunte a SERVER_IP. En el Caddyfile, sustituye el bloque por YOUR_DOMAIN sin
tls internal, defineDOMAIN=https://YOUR_DOMAINen docker-compose.yml, abre los puertos 80 y 443 y reinicia.Bashcd /opt/vaultwarden nano Caddyfile nano docker-compose.yml ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp docker compose up -d --force-recreate
Casos de uso de Vaultwarden
Caja fuerte personal o familiar
Guardas las contraseñas, notas seguras y códigos de recuperación de tu casa en un servidor propio, accesible desde todos tus dispositivos.
Gestión de accesos de un equipo pequeño
Compartes credenciales (acceso a servidores, cuentas SaaS, claves de API) entre unos pocos compañeros mediante organizaciones y colecciones de Bitwarden.
Alternativa a una suscripción en la nube
Dejas un gestor alojado por un tercero y mantienes el mismo cliente de Bitwarden, con tus datos en un VPS en Europa.
Pieza de un servidor de herramientas internas
Colocas la caja fuerte junto a otros servicios autoalojados en el mismo VPS, gracias a su bajo consumo de memoria.
Preguntas frecuentes sobre Vaultwarden
El certificado lo genera Caddy (tls internal) para la dirección IP del servidor, de modo que no está firmado por ninguna autoridad pública. Puedes aceptarlo para crear tu cuenta. Para un uso duradero, asocia un nombre de dominio y deja que Caddy obtenga un certificado válido.
Más sobre Vaultwarden
Archivos y servicios que conviene conocer
Todo está en /opt/vaultwarden: el script install-vaultwarden.sh, el archivo docker-compose.yml y el Caddyfile. Los tres volúmenes de Docker son vw_data (tus datos), caddy_data (certificados) y caddy_config. Los dos contenedores se reinician solos (restart: always).
Usar un nombre de dominio
El certificado que se entrega con el servidor es autofirmado y está asociado a la IP. Las aplicaciones móviles y algunas extensiones pueden rechazarlo, así que para el uso diario conviene un dominio con certificado válido. Si necesitas uno, consulta nuestros dominios. Con un nombre de dominio, un Caddyfile mínimo tiene este aspecto:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:8080
}
Caddy podrá entonces obtener un certificado público, siempre que el DNS apunte al servidor y los puertos 80 y 443 sean accesibles. Tras la modificación, reinicia con docker compose restart caddy. No olvides ajustar también la variable DOMAIN de Vaultwarden.
Copias de seguridad
Haz copia del volumen vw_data: contiene la base SQLite, las claves y los adjuntos. El nombre exacto del volumen depende de la carpeta del proyecto, así que compruébalo con docker volume ls (debería llamarse vaultwarden_vw_data).
docker run --rm -v vaultwarden_vw_data:/data -v /root:/backup alpine tar czf /backup/vw-backup.tgz -C /data .
Después, copia el archivo fuera del servidor. Una copia que se queda en el mismo VPS no te protege si pierdes la máquina. Los tutoriales de la sección /learn pueden ayudarte a automatizar este paso.
Actualizaciones
La imagen utilizada es vaultwarden/server:latest. Para pasar a la última versión, haz primero una copia de seguridad y luego:
cd /opt/vaultwarden
docker compose pull
docker compose up -d
