Fallo de restauración - Copia de seguridad S3 (compatible)

¡Gracias @Falco, lo aprecio! Funcionó completamente sin problemas :smiley:

Migré a un nuevo servidor; parece que también habría estado bien quedarme en el mismo.

Por si alguien más quiere consultar esto más adelante, los pasos con más detalle fueron (tenga en cuenta que mis configuraciones de S3 estaban solo en el archivo app.yml, tal como se especifica aquí, sin personalizaciones en la configuración de administración):

  1. En el sitio de origen, si no es una reversión, habilita ‘deshabilitar correos electrónicos’ (puede no ser necesario) y activa el modo de solo lectura (recuerda volver a cambiar estas opciones en la nueva instancia una vez que la migración esté completa). Crea una copia de seguridad; una vez completada, considera detener también la instancia antigua (./launcher stop app). Independientemente de si es una reversión o no, actualiza los registros A de DNS para que apunten a la dirección IP del nuevo servidor. Puedes hacer esto de una manera más elegante o en un orden diferente para minimizar el tiempo de inactividad; en mi caso, el tiempo de inactividad no fue un problema (reversión, foro no lanzado).

  2. Instala Discourse en el nuevo servidor y migra todo lo personalizado en app.yml, incluidas las configuraciones de S3. Asegúrate de que las versiones de Discourse sean iguales o muy similares.

  3. Comenta estas dos líneas (otras configuraciones de S3 en app.yml pueden dejarse tal cual):
    DISCOURSE_S3_BACKUP_BUCKET: BucketName
    DISCOURSE_BACKUP_LOCATION: s3

  4. Descarga manualmente la copia de seguridad deseada desde S3 o un servicio compatible con S3.

  5. Navega a /var/discourse/shared/standalone/backups y crea una nueva carpeta llamada ‘default’ si no existe (no existirá si es una instalación nueva). Luego, mientras estás en el directorio de copias de seguridad, ejecuta (esto cambia los permisos de la carpeta para que coincidan con los que tendría normalmente si Discourse hubiera creado una copia de seguridad local; no estoy seguro de si es necesario):
    chown -R 1000:www-data default

  6. Sube la copia de seguridad a la carpeta backups/default usando un cliente SFTP; no cambies el nombre del archivo de copia de seguridad.

  7. Reconstruye la aplicación:
    cd /var/discourse
    ./launcher rebuild app

  8. Entra en la aplicación, habilita las copias de seguridad y restaura (cambia el nombre de BackupFileName.tar.gz):

./launcher enter app
discourse enable_restore
discourse restore BackupFileName.tar.gz
  1. Una vez completado, descomenta las dos líneas de archivo de copia de seguridad de S3 en app.yml del paso 2 y reconstruye la aplicación.

  2. Puedes eliminar la carpeta local backups/default y la copia de seguridad contenida (/var/discourse/shared/standalone/backups).

Referencia:

4 Me gusta