Cómo migrar los datos de Vaultwarden de un servidor a otro
Contexto
Hace poco creé una nueva instancia de Vaultwarden en mi homelab y quería migrar mi vault antiguo a la nueva instancia.
Sí, se puede exportar el vault desde la interfaz, pero yo tenía varios familiares como usuarios y no tenía acceso a sus cuentas, así que necesitaba otra forma de migrar todo a la nueva instancia.
Para dar contexto, ejecuto Vaultwarden en un LXC de Ubuntu en mi servidor Proxmox. Usé Proxmox Community Scripts para instalarlo.
Así puedes migrar tus datos de Vaultwarden
1. Haz una copia de seguridad de los datos originales
-
Conéctate por SSH a donde tengas instalado Vaultwarden
-
Localiza el directorio
data. Dependiendo de tu versión de Vaultwarden, la carpetadatapuede estar en:/opt/vaultwarden/data/var/lib/vaultwarden/data
-
Comprime el directorio
datacon:
tar -czvf vaultwarden_data.tar.gz /opt/vaultwarden/data
- Copia el archivo comprimido a un lugar seguro. Yo simplemente lo transferí a mi máquina local vía SFTP.
2. Migra los datos a una nueva instancia de Vaultwarden
- Instala la nueva instancia de Vaultwarden
- Detén Vaultwarden
systemctl stop vaultwarden
- Elimina el directorio de datos por defecto
sudo rm -r /opt/vaultwarden/data
-
Copia el archivo de datos comprimido a la nueva instancia (yo usé SFTP, pero puedes usar cualquier sistema de transferencia de archivos que prefieras).
-
Descomprime los datos:
tar -xzvf vaultwarden_data.tar.gz -C /
- Elimina las claves RSA antiguas del directorio
data. Estas se volverán a generar
sudo rm /opt/vaultwarden/data/rsa_key.pem
sudo rm /opt/vaultwarden/data/rsa_key.pub.pem
- Cambia el propietario del directorio a vaultwarden
sudo chown -R vaultwarden:vaultwarden /opt/vaultwarden/data
- Reinicia Vaultwarden
sudo systemctl start vaultwarden
¡Listo!
Ahora deberías poder acceder a Vaultwarden en el endpoint que hayas configurado y tener disponible todo tu vault antiguo.