Migrando cargas desde S3 a local

Quiero migrar mis archivos de S3 de nuevo a local. Estoy transfiriendo manualmente todos los archivos de S3 a la carpeta de cargas. ¿Será suficiente cambiar la URL base de los enlaces de cargas a la URL base del foro para completar el trabajo?

2 Me gusta

¿Por qué no estás utilizando la tarea integrada de rake? Según tengo entendido, se llama uploads:migrate_from_s3

cd /var/discourse
./launcher enter app
rake uploads:migrate_from_s3

Luego, desactiva la configuración del sitio “enable s3 uploads”:

Y finalmente, vuelve a hornear:

rake posts:rebake
4 Me gusta

Porque mi S3 es MinIO y no estoy seguro de si esta función es compatible con él o no.

1 me gusta

Lo intenté y, una vez finalizado, no noté ningún cambio en las cargas. Las cargas siguen siendo servidas desde S3. Por cierto, la tarea de Rake me pareció extraña. Terminó tan rápido, aunque tengo miles de archivos subidos a S3. Debería haber tomado más tiempo.

1 me gusta

He transferido manualmente todas mis subidas a local. ¿Hay algo que pueda hacer para cambiar todos los enlaces en la base de datos y en las publicaciones directamente? No necesito usar esta tarea rake.

1 me gusta

¿Lo lograste? Yo también estoy buscando migrar todos los activos (todo excepto las copias de seguridad) de S3 de nuevo a local. ¿Hay alguna forma sencilla de hacerlo?

3 Me gusta

Yo también estoy buscando una opción similar. Pero leí en algún lugar de este mismo sitio que, para que esto funcione correctamente, primero hay que resolver algunos problemas importantes. Por lo tanto, por el momento, recomiendan no migrar S3 a local.

Aunque también estoy esperando con ansiedad la solución a este problema.

4 Me gusta

Hay una configuración oculta del sitio llamada algo así como “descargar las cargas de S3 a local en la copia de seguridad”. Creo que puedes usarla para restaurar en otro servidor (o quizás en tu servidor si cambias la configuración con configuraciones de sitio enmascaradas en variables de entorno). Esto es lo que hace cdck cuando cierras una cuenta y nunca he tenido problemas al restaurar una de sus copias de seguridad.

5 Me gusta

Ejecuté ese comando en la consola de Rails: SiteSetting.include_s3_uploads_in_backups = true. Pero aún así, no pareció tener ningún efecto. La copia de seguridad seguía teniendo el mismo tamaño (aproximadamente 375 MB, incluso cuando mis subidas rondan los 700 MB a 1 GB).

Si con “configuraciones del sitio enmascaradas” te refieres a todas las configuraciones de S3 en la interfaz web de Disco, entonces tengo todos esos campos rellenados con los valores correspondientes.

2 Me gusta

También estoy buscando migrar mis subidas de S3 a local (VPS separado). ¿Existe un procedimiento documentado para esto?

1 me gusta

No realmente. Intenta usar la configuración que describí anteriormente.

1 me gusta

¿Hay alguna manera de encontrar estos ajustes ocultos?

2 Me gusta

El que podrías necesitar en el contexto de esta discusión se menciona arriba. Puedes verlos todos en site_settings.yml en el código fuente de Discourse.

3 Me gusta

Esta tarea de rake ya no está disponible en 2.9.0 BETA 8

¿Alguien tiene ideas sobre cómo migrar de S3 a local?

1 me gusta

Puedes activar la configuración oculta del sitio llamada algo así como download_s3_with_backups (no es exactamente así, pero no la encuentro ahora en mi teléfono) y luego restaurar esa copia de seguridad. Eso es lo que sucede cuando dejas el alojamiento de cdck, y funciona. Es posible que necesites restaurar en un servidor diferente (y de todos modos lo harías para probar).

Editar: ¡gracias @Benjamin_D! es include_s3_uploads_in_backups

2 Me gusta

Creo que es esto:

4 Me gusta

¿No está esa opción disponible en la página de Configuración en los controles del sitio web de administración, en la página de Configuración de Copia de seguridad? ¿Y no es esto lo opuesto a descargar los archivos de S3?

1 me gusta

No.

backup_with_uploads no es lo mismo que include_s3_uploads_in_backups. Uno incluye archivos locales en la copia de seguridad. El otro descarga cada archivo de s3 cada vez que se realiza una copia de seguridad. Y el propósito de s3 es que no necesites hacer copias de seguridad de él.

3 Me gusta

Entonces, ¿esto incluye archivos locales al hacer una copia de seguridad en S3?

Esto descarga archivos de la tienda S3 para incluirlos en la copia de seguridad (que podría ser local o en S3).


Estoy tratando de entender los pasos correctos aquí, el objetivo es migrar todos los archivos de S3 a local, así que si entiendo lo que dices:

  1. Habilita backup_with_uploads desde la consola de Rails
  2. Crea una copia de seguridad (local o en S3)
  3. Restaura usando la copia de seguridad
  4. Deshabilita backup_with_uploads desde la consola de Rails

¿Es correcto?

1 me gusta

Entonces, ¿cuál es el mejor enfoque para pasar de S3 a local? :slight_smile:

  • ¿Mover manualmente los archivos (carpetas optimizadas/originales) y hacer un post-rebake después de deshabilitar la opción S3 de Discourse?
  • ¿Usar la opción de administrador download_s3_with_backups en sombra, descargar y descomprimir esos archivos?
  • ¿rake uploads:migrate_from_s3?
1 me gusta