Comment désactiver le stockage S3 ?

Salut @Pravi,

Voilà, rien que pour toi…

Ce fichier se trouve dans le conteneur.

Tu trouveras ce fichier et d’autres fichiers de configuration ici :

# docker exec -it app bash
# cd /var/www/discourse/config

Je te recommande absolument de ne modifier aucun de ces fichiers à moins de vraiment savoir ce que tu fais.

Cependant, il est tout à fait intéressant de les lire et de les comprendre.

1 « J'aime »

Mais je ne parviens pas à trouver le fichier discourse.config dans le conteneur. Je n’ai que app.yml dans le dossier du conteneur.

Le dossier du conteneur dont vous parlez n’est PAS le conteneur lui-même.

Le conteneur est une construction Docker créée et lancée pour s’exécuter en tant que conteneur Docker.

Au fait, ne le prenez pas mal, mais comprenez-vous ce qu’est un conteneur Docker ? Ce n’est absolument pas grave si ce n’est pas le cas. Beaucoup de personnes utilisent Discourse quotidiennement sans encore connaître les bases des conteneurs Docker. Il n’est jamais trop tard pour apprendre :slight_smile:

Référence :

PS : @Pravi, je vous ai fourni le code pour entrer dans le conteneur et changer de répertoire vers l’emplacement du fichier de configuration. Avez-vous envisagé de suivre ce code que j’ai publié ?

PS2 : La tâche Rake qui vous pose problème (migrate_from_s3) se trouve ici :

1 « J'aime »

Je ne connais pas vraiment Discourse.

Oui, j’ai trouvé ces fichiers.

Comment puis-je diagnostiquer le problème à partir du code Rake ?

Bonjour @Pravi,

Une approche consisterait à examiner les entrées de votre fichier journal juste avant votre message d’erreur, et à voir si vous pouvez localiser la ligne (ou les lignes) dans le fichier de la tâche Rake ; puis essayer d’isoler ce qui cause exactement votre problème.

Les solutions sont généralement la partie facile. La partie difficile consiste à découvrir quel est le problème.

Pourriez-vous être plus précis ? Vous voulez dire que je dois chercher le fichier journal sur mon site web avant d’exécuter la commande rake. Je n’ai pas bien compris…

Salut @Pravi,

Cela devient une leçon de dépannage de base des erreurs logicielles… ce qui est tout à fait normal.

Vous avez déjà vos informations de journalisation dans votre message n°4 de ce sujet :

Il y a beaucoup d’informations là-dedans.

Vous avez également le code Ruby complet de Discourse pour cette tâche rake, ci-dessus.

Veuillez m’excuser, mais j’ai aussi beaucoup de tâches à accomplir, alors j’essaie simplement de vous montrer, de manière générale, comment déboguer et résoudre vos propres problèmes comme la plupart d’entre nous le feraient.

J’espère que cela vous aidera.

Je suis désolé de vous avoir fait perdre autant de temps. Une dernière fois, j’ai tenté de migrer vers S3 au lieu de migrer depuis S3, ce qui m’entraîne l’erreur suivante, même si j’ai fourni tous les détails du stockage S3 dans mon panneau d’administration. Veuillez jeter un coup d’œil si vous êtes familier avec cette erreur.

root@ip-172-31-7-247:/var/discourse# ./launcher enter app
root@ip-172-31-7-247-app:/var/www/discourse# rake uploads:migrate_to_s3
rake aborted!
FileStore::ToS3MigrationError: Veuillez fournir les variables d'environnement suivantes :
  - DISCOURSE_S3_BUCKET
  - DISCOURSE_S3_REGION
  et soit
  - DISCOURSE_S3_ACCESS_KEY_ID
  - DISCOURSE_S3_SECRET_ACCESS_KEY
  soit
  - DISCOURSE_S3_USE_IAM_PROFILE
/var/www/discourse/lib/file_store/to_s3_migration.rb:38:in `s3_options_from_env'
/var/www/discourse/lib/tasks/uploads.rake:237:in `create_migration'
/var/www/discourse/lib/tasks/uploads.rake:245:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:224:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:68:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.3.0/lib/rails_multisite/connection_management.rb:78:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:222:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:218:in `block in <main>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => uploads:migrate_to_s3
(Voir la trace complète en exécutant la tâche avec --trace)

Mise à jour :

J’ai ajouté toutes ces variables DISCOURSE_S3_BUCKET, DISCOURSE_S3_REGION, DISCOURSE_S3_ACCESS_KEY_ID, DISCOURSE_S3_SECRET_ACCESS_KEY dans app.yml et le problème ci-dessus est résolu. Je peux maintenant migrer vers S3, mais je ne peux pas migrer depuis S3. Il me demande de désactiver le téléchargement S3, même si j’ai ajouté DISCOURSE_USE_S3: false dans mon app.yml.

Comment confirmer que le téléchargement S3 est désactivé ?

[5] pry(main)> SiteSetting.enable_s3_uploads
=> false
[6] pry(main)> GlobalSetting.use_s3
=> false
[7] pry(main)> GlobalSetting.use_s3?
=> true

Salut @Pravi,

Je transmets le relais à la grande discussion à ce sujet, dans ce sujet de l’équipe meta :

Il y a beaucoup de discussions très détaillées là-bas.

Tous mes vœux de succès… et j’espère que cela t’aidera.

1 « J'aime »