Deja de usar Amazon S3 para subir archivos

No sé más que tú, pero acabo de pasar por el proceso y logré salir adelante con la ayuda de @Pravi.

Pasos necesarios para volver desde la subida a S3 al estado original

No es algo súper sencillo; ten mucho cuidado con el texto y los enlaces, ya que si algo sale mal, será un caos ordenarlo. Pero es totalmente factible.

Paso 1: Copia los archivos desde tu bucket de S3 a la carpeta public/uploads/default

Primero, instala la AWS CLI dentro del contenedor de la aplicación:

cd /var/discourse
./launcher enter app
sudo apt install awscli

Configura AWS con tu ID y contraseña de S3 (por lo general es sencillo):

aws configure

Luego usa aws para copiar todo el contenido del bucket a public/uploads/default/:

aws s3 sync s3://my-bucket-name/ public/uploads/default/

Paso 2: Remapea la URL de S3

Esto es más fácil si encuentras una imagen en tu foro e inspeccionas su URL. Quieres cada parte hasta el nombre del archivo real (incluyendo la última /):

discourse remap //la-larga-url-en-tus-imagenes-hasta-el-nombre-del-archivo /uploads/default/

Paso 3: Recocina los posts y reconstruye la aplicación:

rake posts:rebake
exit
./launcher rebuild app

Paso 4: Desactiva S3

  1. Desactiva las subidas a S3 en la configuración (o en tu app.yml si lo configuraste así). Si has estado usando una CDN, también elimina el enlace a ella de la configuración (de lo contrario, no se desactiva realmente).
  2. Apaga tu contenedor. Yo lo hice moviendo el contenido a un nuevo contenedor como copia de seguridad en un paso inicial.

¡Uf! Listo. Hasta ahora no he encontrado ningún problema. ¡Ve y pruébalo!

10 Me gusta