Migration des uploads de S3 vers local

Je souhaite migrer mes fichiers de S3 vers le local. Je transfère manuellement tous les fichiers de S3 vers le dossier uploads. Ensuite, devrais-je modifier l’URL de base des liens de téléchargement pour revenir à l’URL de base du forum ? Cela suffira-t-il pour que le travail soit accompli ?

2 « J'aime »

Pourquoi n’utilisez-vous pas la tâche rake intégrée ? À ma connaissance, elle s’appelle uploads:migrate_from_s3

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

Ensuite, désactivez le paramètre du site enable s3 uploads :

Et enfin, rebakez :

rake posts:rebake
4 « J'aime »

Parce que mon S3 est Minio et je ne suis pas sûr que cette fonction soit compatible avec lui ou non.

1 « J'aime »

J’ai essayé cela et, une fois terminé, je n’ai constaté aucun changement dans les fichiers téléchargés. Ils sont toujours servis depuis S3. Au fait, cette tâche rake m’a semblé étrange. Elle s’est terminée si rapidement alors que j’ai des milliers de fichiers sur S3. Cela aurait dû prendre un certain temps.

1 « J'aime »

J’ai transféré manuellement tous mes fichiers uploadés en local. Existe-t-il une méthode pour modifier directement tous les liens dans la base de données et dans les publications ? Je n’ai pas besoin d’utiliser cette tâche rake.

1 « J'aime »

Avez-vous résolu ce problème ? Je souhaite également migrer tous les actifs (tout sauf les sauvegardes) de S3 vers le stockage local. Existe-t-il un moyen simple de le faire ?

3 « J'aime »

Je cherche aussi une option similaire. Mais j’ai lu quelque part sur ce même site que, pour que cela fonctionne correctement, certains gros problèmes doivent d’abord être résolus. Donc, pour le moment, ils recommandent de ne pas déplacer S3 vers un serveur local.

Cependant, j’attends aussi avec impatience la solution à ce problème.

4 « J'aime »

Il existe un paramètre de site caché appelé quelque chose comme « télécharger les uploads S3 en local lors de la sauvegarde ». Je pense que vous pouvez l’utiliser et restaurer sur un autre serveur (ou peut-être votre serveur si vous modifiez les paramètres avec des paramètres de site masqués dans les variables d’environnement). C’est ce que fait cdck lorsque vous fermez un compte, et je n’ai jamais eu de problème pour restaurer l’une de leurs sauvegardes.

5 « J'aime »

J’ai exécuté ce paramètre dans la console Rails : SiteSetting.include_s3_uploads_in_backups = true. Mais cela n’a toujours pas (semble-t-il) eu d’effet. La sauvegarde est restée de la même taille (environ 375 Mo, même lorsque mes uploads sont d’environ 700 Mo à 1 Go).

Si par « paramètres de site masqués », vous faites référence à tous les paramètres S3 dans l’interface utilisateur Web de Disco, alors j’ai bien rempli tous ces champs avec les paramètres correspondants.

2 « J'aime »

Je cherche également à migrer mes fichiers uploadés de S3 vers un stockage local (VPS séparé). Existe-t-il une procédure documentée pour cela ?

1 « J'aime »

Pas vraiment. J’essaierais d’utiliser le paramètre que j’ai décrit ci-dessus.

1 « J'aime »

Existe-t-il un moyen de trouver ces paramètres cachés ?

2 « J'aime »

Celui dont vous pourriez avoir besoin dans le cadre de cette discussion est mentionné ci-dessus. Vous pouvez tous les consulter dans le fichier site_settings.yml du code source de Discourse.

3 « J'aime »

Cette tâche rake n’est plus disponible dans la version 2.9.0 BETA 8.

Quelqu’un a-t-il des idées sur la façon de migrer de S3 vers le local ?

1 « J'aime »

Vous pouvez activer le paramètre de site caché appelé quelque chose comme download_s3_with_backups (ce n’est pas tout à fait ça, mais je ne le trouve pas sur mon téléphone pour le moment) et ensuite restaurer cette sauvegarde. C’est ce qui se passe lorsque vous quittez l’hébergement cdck, et cela fonctionne. Vous pourriez avoir besoin de restaurer sur un serveur différent (et vous le feriez de toute façon pour tester).

Edit : merci @Benjamin_D ! c’est include_s3_uploads_in_backups

2 « J'aime »

Je pense que c’est ça :

4 « J'aime »

Cette option n’est-elle pas disponible sur la page des paramètres dans les contrôles du site Web d’administration, page des paramètres Sauvegarde ? N’est-ce pas aussi l’inverse du téléchargement des fichiers S3 ?

1 « J'aime »

Non.

backup_with_uploads n’est pas la même chose que include_s3_uploads_in_backups. L’un inclut les fichiers locaux dans la sauvegarde. L’autre télécharge chaque fichier depuis S3 à chaque sauvegarde. Et le but de S3 est que vous n’ayez pas besoin de faire de sauvegardes de celui-ci.

3 « J'aime »

Donc, cela inclut les fichiers locaux lors de la sauvegarde sur S3

Ceci télécharge les fichiers du magasin S3 pour les inclure dans la sauvegarde (qui peut être locale ou sur S3)


J’essaie de comprendre les bonnes étapes ici, le but est de migrer tous les fichiers de S3 vers le local, donc si je comprends bien ce que vous dites :

  1. Activer backup_with_uploads depuis la console Rails
  2. Créer une sauvegarde (locale ou sur S3)
  3. Restaurer en utilisant la sauvegarde
  4. Désactiver backup_with_uploads depuis la console Rails

Est-ce correct ?

1 « J'aime »

Alors, quelle est la meilleure approche pour passer de S3 à local ? :slight_smile:

  • Déplacer manuellement les fichiers (dossiers optimized/original) et effectuer un post-rebake après avoir désactivé l’option S3 de Discourse ?
  • Utiliser l’option d’administration masquée download_s3_with_backups, télécharger et décompresser ces fichiers ?
  • rake uploads:migrate_from_s3 ?
1 « J'aime »