Come disattivare l'archiviazione S3?

Ciao @Pravi

Eccolo, proprio per te…

Quel file si trova nel contenitore.

Troverai quel file e altri file di configurazione qui:

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

Ti consiglio assolutamente di non modificare nessuno di quei file a meno che tu non sappia davvero cosa stai facendo.

Tuttavia, è senz’altro interessante leggerli e capirli.

Ma non riesco a trovare il file discourse.config nel contenitore. Ho solo app.yml nella cartella del contenitore.

La cartella del container di cui stai parlando NON è il container.

Il container è un’unità Docker creata e avviata per funzionare come container Docker.

A proposito, non prenderla sul personale, ma sai cos’è un container Docker? Va benissimo anche se non lo sai. Molte persone usano Discourse ogni giorno senza ancora aver appreso le basi dei container Docker. Non è mai troppo tardi per imparare :slight_smile:

Riferimento:

PS: @Pravi. Ti ho fornito il codice per entrare nel container e spostarti nella directory dove si trova il file di configurazione. Hai pensato di seguire quel codice che ho pubblicato?

PS2: Il task rake con cui stai avendo problemi (migrate_from_s3) si trova qui:

Non ho molta esperienza con Discourse.

Sì, ho trovato quei file.

Come posso risolvere il problema partendo dal codice rake?

Ciao @Pravi,

Un approccio potrebbe essere esaminare le voci del file di log immediatamente prima del messaggio di errore e verificare se riesci a individuare la riga (o le righe) nel file del task rake; quindi prova a isolare esattamente ciò che sta causando il problema.

Le soluzioni sono solitamente la parte più semplice. La parte difficile è scoprire qual è il problema.

Potresti essere più specifico? Vuoi dire che devo cercare il file di log sul mio sito web prima di eseguire il comando rake. Non ho capito…

Ciao @Pravi,

Questo sta diventando una lezione sulle basi del troubleshooting degli errori software… il che va bene.

Hai già le informazioni di log nel tuo post #4 in questo argomento:

C’è un sacco di informazioni lì.

Hai anche il codice Ruby completo di Discourse per questo task rake, sopra.

Mi scuso, ma ho anche io molte cose da fare, quindi sto solo cercando di mostrarti, a un livello alto, come fare il debug e risolvere i tuoi problemi allo stesso modo in cui la maggior parte di noi procedrebbe.

Spero che questo aiuti.

Mi scuso per avervi fatto perdere così tanto tempo. Un’ultima volta, ho provato a migrare verso S3 invece di migrare da S3, il che mi ha restituito il seguente errore, nonostante abbia fornito tutti i dettagli dell’archiviazione S3 nel mio pannello di amministrazione. Vi prego di dare un’occhiata se vi è familiare questo errore.

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: Si prega di fornire le seguenti variabili d'ambiente:
  - DISCOURSE_S3_BUCKET
  - DISCOURSE_S3_REGION
  e una delle seguenti:
  - DISCOURSE_S3_ACCESS_KEY_ID
  - DISCOURSE_S3_SECRET_ACCESS_KEY
  oppure
  - 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
(Vedi traccia completa eseguendo il task con --trace)

Aggiornamento:

Ho aggiunto tutte queste variabili, DISCOURSE_S3_BUCKET, DISCOURSE_S3_REGION, DISCOURSE_S3_ACCESS_KEY_ID, DISCOURSE_S3_SECRET_ACCESS_KEY, a app.yml e il problema sopra è stato risolto. Ora riesco a migrare verso S3, ma non riesco a migrare da S3. Mi chiede di disattivare gli upload su S3, anche se ho aggiunto DISCOURSE_USE_S3: false nel mio app.yml

Come posso confermare che gli upload su S3 sono disattivati?

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

Ciao @Pravi,

Sto passando il testimone alla grande discussione su questo argomento, presente in questo topic del team meta:

Ci sono molti dettagli nella discussione.

Tanti auguri… e spero che questo possa essere d’aiuto.