Primero intenté solucionar la migración fuera de S3, y después de completar el uso de mi propia migración como banco de pruebas para el código que estaba escribiendo, me informaron que había tomado un enfoque completamente incorrecto. Esta afirmación se vio respaldada por corrupción de datos en mi instancia (grande) que migré desde S3 a archivos locales. Hace relativamente poco, terminé reparando manualmente datos dañados en la base de datos, y no espero haber terminado de limpiar los efectos de mi intento.
Si fuera a iniciar hoy una migración desde S3 hacia mi propio almacenamiento, levantaría un contenedor de Minio junto a Discourse, usaría minio-client para copiar desde S3 a mi contenedor de Minio, reconfiguraría Discourse para la nueva ubicación “S3” de mi Minio local y luego ejecutaría posts:remap o volvería a hornear todos los posts para servir desde mi contenedor de Minio como si fuera “S3”.
Aquí hay un ejemplo de cómo debería funcionar posts:remap en este caso. Tengo la sensación de que existe un ejemplo mejor en algún lugar aquí, pero esto debería ser suficiente para empezar.