Files
guias_informatica/Guia_vaultwarden.md
T
2026-08-04 19:24:21 +02:00

3.5 KiB

Docker Compose

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vw.domain.tld"
    volumes:
      - ./vw-data/:/data/
    ports:
      - 127.0.0.1:8000:80

Docker CLI

docker pull vaultwarden/server:latest
docker run --detach --name vaultwarden \
  --env DOMAIN="https://vw.domain.tld" \
  --volume /vw-data/:/data/ \
  --restart unless-stopped \
  --publish 127.0.0.1:8000:80 \
  vaultwarden/server:latest

🔹 backup cd /opt/vaultwarden tar -czvf vaultwarden-backup-$(date +%F).tar.gz vw-data

Or if you are using docker: docker exec -it vaultwarden /vaultwarden backup

🔹 Restore sudo docker-compose down rm -rf vw-data tar -xzvf vaultwarden-backup-2025-09-15.tar.gz sudo docker-compose up -d

🔹 Backup automático con cron crontab -e 0 3 * * * tar -czf /opt/vaultwarden/backups/vaultwarden-$(date +%F).tar.gz -C /opt/vaultwarden vw-data

🔹 backup.sh #!/bin/bash

Backup de Vaultwarden

Carpeta de datos

DATA_DIR="/opt/vaultwarden/vw-data"

Carpeta de backups

BACKUP_DIR="/opt/vaultwarden/backups"

Crear carpeta de backups si no existe

mkdir -p "$BACKUP_DIR"

Nombre del archivo con fecha

BACKUP_FILE="$BACKUP_DIR/vaultwarden-$(date +%F-%H%M).tar.gz" echo "📦 Creando backup en $BACKUP_FILE ..." tar -czvf "$BACKUP_FILE" -C /opt/vaultwarden vw-data echo " Backup completado."

🔹 restore.sh #!/bin/bash

Restaurar backup de Vaultwarden

DATA_DIR="/opt/vaultwarden/vw-data" BACKUP_DIR="/opt/vaultwarden/backups" if [ -z "$1" ]; then echo "Uso: $0 archivo_backup.tar.gz" exit 1 fi BACKUP_FILE="$1" if [ ! -f "$BACKUP_FILE" ]; then echo " El archivo $BACKUP_FILE no existe." exit 1 fi echo "🛑 Deteniendo contenedor..." cd /opt/vaultwarden sudo docker-compose down echo "🗑️ Eliminando datos actuales..." rm -rf "$DATA_DIR" echo "📂 Restaurando desde $BACKUP_FILE ..." tar -xzvf "$BACKUP_FILE" -C /opt/vaultwarden echo "🚀 Iniciando contenedor..." sudo docker-compose up -d echo " Restauración completada."


ejecutar backup sh chmod +x /opt/vaultwarden/backup.sh /opt/vaultwarden/restore.sh

/opt/vaultwarden/backup.sh
/opt/vaultwarden/restore.sh /opt/vaultwarden/backups/vaultwarden-2025-09-15-1530.tar.gz


Añadir menu administrador:
openssl rand -base64 48 - generar token mac/linux o (git bash windows)

[Convert]::ToBase64String((1..48 | ForEach-Object {Get-Random -Maximum 256})) - generar token windows

environment:

  • ADMIN_TOKEN=pon_aqui_un_token_seguro

http://IP-DE-TU-SERVIDOR:8080/admin

Docker-Based Automated Backups (Example)

If you're using Vaultwarden via Docker and want to automate your backups to a remote machine, the following method might help. It stops the container to ensure consistency, zips the data directory, transfers it via scp, and then restarts Vaultwarden.

Backup Script Example:

#!/bin/bash docker-compose down datestamp=$(date +%m-%d-%Y) backup_dir="/home//vw-backups" zip -9 -r "${backup_dir}/${datestamp}.zip" /opt/vw-data* scp -i /.ssh/id_rsa "${backup_dir}/${datestamp}.zip" user@<REMOTE_IP>:/vw-backups/ docker-compose up -d

You can automate this via cron: 0 0 * * * /root/transfer_vaultwarden_logs.sh

Cleanup Script (optional) to keep only the most recent backup: #!/bin/bash cd ~/backups || exit find . -type f -name '*.zip' ! -mtime -1 -exec rm {} + Always test restores. To restore, unzip the archive back into /opt/vw-data, replacing the previous data directory.