Intentaré resumir las respuestas a mis preguntas:
- ¿Chocan la interfaz de usuario web y la variable de entorno?
- ¿Cuándo se supone que los activos se subirán al bucket?
Al agregar este fragmento aapp.ymlen la secciónhook, se cargará después deafter_assets_precompile(durante la reconstrucción de la aplicación).
- ¿Cómo puedo depurar esto? No veo ningún error en los registros.
Ejecutando:
cd /var/discourse
sudo ./launcher enter app
sudo -E -u discourse bundle exec rake s3:upload_assets --trace
- ¿Es posible configurar una subcarpeta de un bucket en la configuración?
¿Realmente necesito usar buckets separados para cargas y copias de seguridad?
No, no es necesario, pero suele ser la forma más fácil de configurarlo. Esencialmente, necesitas usar dos buckets diferentes o un prefijo para el bucket de copias de seguridad. Por ejemplo, las siguientes combinaciones funcionarán:
- Cubetas diferentes
- s3_upload_bucket:
tu-bucket-de-cargas- s3_backup_bucket:
tu-bucket-de-copias-de-seguridad
- Prefijos diferentes
- s3_upload_bucket:
tu-bucket-de-cargas/cargas- s3_backup_bucket:
tu-bucket-de-cargas/copias-de-seguridad
- Una vez que esto funcione, ¿se transferirán las imágenes cargadas previamente al bucket? Si vuelvo a procesar, ¿cómo se verán las URL de las imágenes cargadas previamente?
He habilitado las cargas de S3 en mi instancia de Discourse (que ha estado funcionando durante un tiempo); ¿qué hago con las cargas locales existentes?
Para migrar tus cargas existentes a S3, puedes usar un par de tareas rake. Para realizarlas, necesitas acceso SSH, permisos de root y haber entrado en la aplicación de Discourse (según Operaciones masivas administrativas). Ah, y tienes que configurar algunas variables de entorno en app.yml. No apto para los débiles de corazón.
Una vez que hayas hecho todo eso, estarás listo para las tareas rake:
rake uploads:migrate_to_s3 rake posts:rebakeUna vez que estas se completen (y las cargas funcionen bien), ya no necesitarás incluir las cargas en tus copias de seguridad. Y como beneficio adicional, podrás Restaurar una copia de seguridad desde la línea de comandos en caso de catástrofe (simplemente guarda una copia de app.yml en algún lugar).