Bitwarden-export, mantén a salvo tus contraseñas
Exporta todas tus contraseñas de Bitwarden de manera segura

Regístrate en HDS+
Tutoriales y soporte sobre sistemas NAS, Redes, Docker y SelfHosting.
Sin SPAM. Es gratuito. Ten acceso a todo el contenido.
Somos cada vez más usuarios los que elegimos almacenar nuestras contraseñas en nuestro servidor usando Bitwarden (o su implementación en un solo contenedor Vaultwarden). Recientemente, hemos conocido la existencia de una herramienta que se acaba de desarrollar para exportar de manera fiable toda nuestra bóveda.
Copiar las carpetas del contenedor docker al uso puede dar lugar a incompatibilidades entre versiones o podría llegar a quedar corrupto si justo en el momento de la copia existe alguna modificación. Es por eso que hacer una exportación de todas las contraseñas (la bóveda completa) es el método más seguro de hacer copias de seguridad de nuestro Bitwarden.
Requisitos previos
- Tener docker (con docker-compose) instalado en el servidor
- Tener Bitwarden instalado
- Obtener datos necesarios:
Para obtener los datos que necesitamos vamos a acceder a nuestro portal de Bitwarden vía web y seguiremos los siguientes pasos:



Nuestros valores a modo de ejemplo son los siguientes:
client_id:user.8d440c92-a90f-496b-81c5-8bd18036ad0c
client_secret:IN5mLuf3fo7CytFB54ufFqzYmXYG54
También nos hará falta conocer los valores uid y gid de nuestro usuario. Para eso es tan sencillo como entrar por SSH a nuestro servidor y ejecutar el comando id
.

En nuestro caso los valores son:
UID: 1026
GID: 100
Instalación

Para este contenedor será necesario crear en nuestro servidor una ruta donde se exportarán los ficheros json (nuestra copia de seguridad).
El docker-compose.yaml es el siguiente:
version: '3.3'
services:
bw-export:
container_name: bw-export
image: 0netx/bw-export:latest
volumes:
- /ruta/del/backup:/var/data
- /ruta/del/backup:/var/attachments
environment:
- BW_CLIENTID=user.8d440c92-a90f-496b-81c5-8bd18036ad0c
- BW_CLIENTSECRET=IN5mLuf3fo7CytFB54ufFqzYmXYG54
- BW_PASSWORD=HDSTEST12345
- BW_URL_SERVER=https://bitwarden.hdstest.duckdns.org
- EXPORT_PASSWORD=PASSWORDdeEXPORTACION
- BW_ORGANIZATIONS_LIST=
- PUID=1026
- PGID=100
network_mode: host
-
/ruta/del/backup
: Vuestra ruta de exportación-
BW_CLIENTID
: client_id obtenido en el primer paso-
BW_CLIENTSECRET
: client_secret obtenido en el primer paso-
BW_PASSWORD
: vuestra contraseña de acceso a Bitwarden-
BW_URL_SERVER
: Vuestra URL de acceso a Bitwarden-
EXPORT_PASSWORD
: La contraseña de cifrado para los ficheros exportados-
PUID
: Vuestro UID-
PGID
: Vuestro GIDEn Synology
En este caso sí podemos crear una carpeta para almacenar el fichero docker-compose.yaml, en mi caso he creado la siguiente: /docker/bw-export
y /docker/bw-export/backup
- Crearemos un nuevo proyecto en Container Manager.
- Seleccionamos la carpeta de
bw-export
y nos autodetectará el fichero, ya solo sería pulsar en siguiente sin modificar nada hasta completar su instalación


Cuando se termine de descargar e instalar, solo funcionará fugazmente. Ya que al ejecutarse correctamente se detendrá. Ya tendremos nuestro backup en la carpeta descrita:

Programación en Synology
Como hemos visto, este contenedor, tras ejecutarse y realizar la exportación se detiene. Es por eso que para hacer efectivo su uso, lo ideal es ejecutarlo antes de nuestra copia con Hyperbackup.
Si por ejemplo, nuestra copia con Hyperbackup se realiza diariamente a las 3:00 de la mañana, podemos programarlo a las 2:55.




#!/bin/bash
docker start bw-export
bw-export
realmente habrá que poner el nombre del contenedor. En mi caso se llama justamente así.
La instalación en UnRAID es súper sencilla ya que disponemos de la plantilla oficial. Necesita los mismos datos de los que ya disponemos:


Programación en UnRAID
La programación en UnRAID es muy sencilla gracias al Plug-in UserScripts.





#!/bin/bash
docker start bw-export
bw-export
realmente habrá que poner el nombre del contenedor. En mi caso se llama justamente así.Restauración de los datos
Llega el desastre, servidor roto, la copia de las carpetas fue corrupta... solo nos queda el backup que hemos hecho a través de este docker... ¿Cómo lo restauramos?
Partimos de una instalación de Bitwarden nueva, sin datos de ningún tipo. Pulsamos en herramientas, importar datos y cargamos el fichero json. Nos pedirá una contraseña que será la que pusimos en EXPORT_PASSWORD.





Ya tendríamos nuestras contraseñas correctamente importadas en la nueva cuenta tras la instalación desde cero.
Espero que os sea de gran ayuda este breve tutorial.