Actualización
groales edited this page 2025-12-03 12:41:49 +01:00

Actualización

Mantener Vaultwarden actualizado es importante para seguridad y nuevas funcionalidades.

🔄 Estrategia de Actualización

Frecuencia Recomendada

  • Actualizaciones de seguridad: Inmediatamente
  • Versiones estables: Cada 1-2 meses
  • Versiones beta: Solo en entornos de testing

Antes de Actualizar

SIEMPRE haz un backup antes de actualizar:

# Backup rápido
docker compose stop vaultwarden
docker run --rm \
  -v vaultwarden_data:/data \
  -v ~/backups:/backup \
  alpine tar czf /backup/pre-update-$(date +%Y%m%d).tar.gz -C /data .
docker compose start vaultwarden

Ver detalles completos en Backup y Restauración.

🚀 Actualización desde Portainer (Git Repository)

La forma más sencilla si usaste el método Git Repository.

1. Actualizar desde Portainer

  1. Ve a Stacksvaultwarden
  2. Haz clic en Editor (o Git Repository)
  3. Haz clic en Pull and redeploy

Portainer automáticamente:

  • Descarga la última imagen Docker
  • Recrea el contenedor
  • Conserva tus datos (volúmenes)
  • Mantiene las variables de entorno

2. Verificar la Actualización

# Ver versión actual
docker inspect vaultwarden | grep -i version

# Ver logs del proceso
docker compose logs -f vaultwarden

# Verificar que funciona
curl -I https://vaultwarden.tudominio.com

3. Probar Acceso

  1. Abre https://vaultwarden.tudominio.com
  2. Inicia sesión con tu cuenta
  3. Verifica que puedes ver tus contraseñas
  4. Prueba crear/editar una entrada
  5. Verifica sincronización en otro dispositivo

🖥️ Actualización desde CLI

Método Estándar

cd /ruta/a/vaultwarden

# 1. Backup (crítico)
bash ~/scripts/backup-vaultwarden.sh

# 2. Descargar nueva imagen
docker compose pull

# 3. Recrear contenedor con nueva imagen
docker compose up -d

# 4. Verificar logs
docker compose logs -f vaultwarden

Verificar Nueva Versión

Antes de actualizar, verifica la versión disponible:

# Ver versión actual
docker inspect vaultwarden --format '{{.Config.Image}}'

# Ver versión disponible
docker pull vaultwarden/server:latest
docker inspect vaultwarden/server:latest | grep -i version

📌 Actualización a Versión Específica

Por defecto usamos latest, pero puedes fijar una versión:

1. Modificar docker-compose.yml

services:
  vaultwarden:
    image: vaultwarden/server:1.30.5  # Versión específica
    # ...resto de la config

2. Actualizar

docker compose pull
docker compose up -d

Ventajas y Desventajas

Versión específica (ej: 1.30.5):

  • Control total sobre cuándo actualizar
  • Evita sorpresas de breaking changes
  • Debes actualizar manualmente
  • Puedes perderte parches de seguridad

latest:

  • Siempre la última versión
  • Actualizaciones de seguridad automáticas
  • ⚠️ Puede introducir bugs en raras ocasiones

Recomendación: Usa latest y actualiza periódicamente con backups previos.

🔔 Monitorizar Nuevas Versiones

Opción 1: Watchtower (Automático)

Watchtower actualiza contenedores automáticamente:

services:
  watchtower:
    image: containrrr/watchtower
    restart: unless-stopped
    environment:
      WATCHTOWER_CLEANUP: true
      WATCHTOWER_SCHEDULE: "0 0 3 * * *"  # 3 AM diario
      WATCHTOWER_INCLUDE_STOPPED: false
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

⚠️ Advertencia: Actualiza sin intervención. Solo recomendado si:

  • Tienes backups automáticos
  • Confías en la estabilidad de latest
  • Monitoreas logs regularmente

Opción 2: GitHub Watch (Manual)

  1. Ve a https://github.com/dani-garcia/vaultwarden
  2. Haz clic en WatchCustomReleases
  3. Recibirás notificaciones de nuevas versiones

Opción 3: Script de Verificación

#!/bin/bash
# check-vaultwarden-updates.sh

CURRENT=$(docker inspect vaultwarden --format '{{.Image}}')
docker pull vaultwarden/server:latest > /dev/null 2>&1
LATEST=$(docker inspect vaultwarden/server:latest --format '{{.Id}}')

if [ "$CURRENT" != "$LATEST" ]; then
  echo "🔔 Nueva versión de Vaultwarden disponible"
  echo "Actual: $CURRENT"
  echo "Nueva: $LATEST"
  exit 1
else
  echo "✅ Vaultwarden está actualizado"
  exit 0
fi

Ejecuta semanalmente con cron:

0 9 * * 1 /home/usuario/scripts/check-vaultwarden-updates.sh | mail -s "Vaultwarden Update Check" tu@email.com

📝 Changelog y Notas de Versión

Antes de actualizar, revisa el changelog:

Busca:

  • 🔒 Security fixes: Actualiza inmediatamente
  • ⚠️ Breaking changes: Requieren cambios en configuración
  • New features: Funcionalidades nuevas
  • 🐛 Bug fixes: Correcciones de errores

🔧 Actualización del Stack Completo

Si también usas Traefik o NPM, actualízalos periódicamente:

Actualizar Todo

# Traefik
docker compose -f /ruta/a/traefik/docker-compose.yml pull
docker compose -f /ruta/a/traefik/docker-compose.yml up -d

# Nginx Proxy Manager
docker compose -f /ruta/a/npm/docker-compose.yml pull
docker compose -f /ruta/a/npm/docker-compose.yml up -d

# Vaultwarden
docker compose -f /ruta/a/vaultwarden/docker-compose.yml pull
docker compose -f /ruta/a/vaultwarden/docker-compose.yml up -d

Orden Recomendado

  1. Primero: Actualiza el proxy (Traefik/NPM)
  2. Espera: Verifica que el proxy funciona
  3. Segundo: Actualiza Vaultwarden
  4. Prueba: Verifica acceso completo

🛠️ Migración de Versiones Antiguas

Desde Bitwarden_RS (Nombre Antiguo)

Si tienes el proyecto con su nombre antiguo bitwarden_rs:

  1. Es el mismo proyecto, solo cambió de nombre
  2. Actualiza la imagen:
    # Antiguo
    image: bitwardenrs/server:latest
    
    # Nuevo
    image: vaultwarden/server:latest
    
  3. Actualiza normalmente: docker compose pull && docker compose up -d
  4. Los datos se conservan automáticamente

Desde Versiones Muy Antiguas (<1.0)

Si llevas años sin actualizar:

  1. NO actualices directamente a latest
  2. Actualiza incrementalmente:
    • 0.x → 1.0
    • 1.0 → 1.20
    • 1.20 → latest
  3. Lee el changelog de cada versión mayor
  4. Haz backups entre cada actualización

⚠️ Rollback (Revertir Actualización)

Si algo sale mal después de actualizar:

Método 1: Volver a Versión Anterior

# 1. Detener versión nueva
docker compose down

# 2. Cambiar a versión anterior
docker compose pull vaultwarden/server:1.29.0  # Versión que funcionaba

# 3. Modificar docker-compose.yml
# image: vaultwarden/server:1.29.0

# 4. Iniciar con versión antigua
docker compose up -d

Método 2: Restaurar desde Backup

Si los datos se corrompieron:

# 1. Detener Vaultwarden
docker compose stop vaultwarden

# 2. Restaurar backup pre-actualización
docker run --rm \
  -v vaultwarden_data:/data \
  -v ~/backups:/backup \
  alpine sh -c "cd /data && rm -rf * && tar xzf /backup/pre-update-YYYYMMDD.tar.gz"

# 3. Volver a versión anterior (ver Método 1)

# 4. Reiniciar
docker compose start vaultwarden

📊 Post-Actualización

Checklist de Verificación

Después de cada actualización, verifica:

  • El contenedor está corriendo: docker compose ps
  • No hay errores en logs: docker compose logs vaultwarden
  • Acceso web funciona: https://vaultwarden.tudominio.com
  • Puedes hacer login
  • Puedes ver tus contraseñas
  • WebSocket funciona (sincronización en tiempo real)
  • Panel de administración accesible: /admin
  • Extensión del navegador sigue conectada
  • App móvil sincroniza correctamente

Ver Logs Post-Actualización

# Logs en tiempo real
docker compose logs -f vaultwarden

# Solo errores
docker compose logs vaultwarden | grep -i error

# Últimas 50 líneas
docker compose logs --tail=50 vaultwarden

Verificar Versión Instalada

# Inspeccionar contenedor
docker inspect vaultwarden | grep -i image

# Ver en el log de inicio
docker compose logs vaultwarden | grep -i "vaultwarden"

🔐 Actualización de Clientes

No olvides actualizar también los clientes de Bitwarden:

Extensiones de Navegador

Se actualizan automáticamente desde las stores:

  • Chrome Web Store
  • Firefox Add-ons
  • Edge Add-ons

Verifica manualmente: ExtensionesAdministrar extensionesActualizar

Aplicaciones de Escritorio

Descarga la última versión de: https://bitwarden.com/download/

Recomendado actualizar cada 3-6 meses.

Aplicaciones Móviles

Se actualizan desde:

  • iOS: App Store
  • Android: Google Play Store

Habilita actualizaciones automáticas en la configuración de la store.

CLI de Bitwarden

# Ver versión actual
bw --version

# Actualizar (con npm)
npm update -g @bitwarden/cli

# Verificar nueva versión
bw --version

📅 Calendario de Actualización Recomendado

Componente Frecuencia Método
Vaultwarden Mensual Manual con backup
Proxy (Traefik/NPM) Trimestral Manual
Clientes (extensión, apps) Automático Auto-update
Sistema Operativo Mensual apt update && apt upgrade
Docker Semestral Según distro

🆘 Problemas Comunes Post-Actualización

No arranca después de actualizar

Solución:

# Ver error exacto
docker compose logs vaultwarden

# Probar versión anterior
docker compose down
# Cambiar imagen a versión anterior
docker compose up -d

Database migration failed

Síntoma: Error sobre migración de base de datos

Solución:

  1. Restaurar backup pre-actualización
  2. Revisar changelog de breaking changes
  3. Actualizar incrementalmente

WebSocket deja de funcionar

Síntoma: Sincronización lenta después de actualizar

Solución:

# Verificar puerto 3012
docker compose logs vaultwarden | grep websocket

# Recrear contenedor
docker compose down && docker compose up -d

Última actualización: Diciembre 2025

💡 Buena práctica: Actualiza en viernes por la tarde, así tienes el fin de semana para resolver problemas si aparecen.