Sto provando a eseguire "bundle exec rake s3:upload_assets" come root e restituisce il seguente errore: Could not locate Gemfile or .bundle/ directory.
Ho anche provato a eseguirlo senza essere root, usando "sudo -E -u discourse bundle exec rake s3:upload_assets" e ha restituito il seguente errore: sudo: unknown user discourse\nsudo: error initializing audit plugin sudoers_audit
Ho eseguito entrambi i comandi nella seguente directory: /var/discourse
Questa è un’installazione normale, non sto usando docker o altro.
Come posso risolvere questo problema per poterlo eseguire?
Grazie! Questo mi ha fatto fare ulteriori progressi, ora sono arrivato a questo errore:
root@redacted:/var/www/discourse# sudo -E -u discourse bundle exec rake s3:upload_assets
/root non è scrivibile.
Bundler utilizzerà temporaneamente `/tmp/bundler20250409-510203-w6snye510203` come directory home.
ERRORE: Assicurati che S3 sia configurato in config/discourse.conf o nelle variabili ambientali
Ho tutto configurato nelle impostazioni del sito Discourse. Non sto usando Docker, quindi non dovrei aver bisogno delle variabili di ambiente?
Ho provato ad aggiungere le variabili d’ambiente in app.yml, ricostruire e reinserire l’app ed eseguire il comando e questo è ciò che viene visualizzato:
`/root` non è scrivibile.
Bundler utilizzerà temporaneamente `/tmp/bundler20250409-1393-48ek5u1393` come directory home.
Installazione delle regole CORS...
Tentativo di applicare il set di regole CORS S3 ASSETS nel bucket biohacking-forum.
rake interrotto!
Seahorse::Client::NetworkingError: Corpo della risposta vuoto o incompleto (Seahorse::Client::NetworkingError)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/plugins/raise_response_errors.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/dualstack.rb:21:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/accelerate.rb:43:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/checksum_algorithm.rb:169:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:16:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/invocation_id.rb:16:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/idempotency_token.rb:19:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/param_converter.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/plugins/request_callback.rb:89:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/response_paging.rb:12:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/plugins/response_target.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/telemetry.rb:39:in `block in call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/telemetry/no_op.rb:29:in `in_span'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/telemetry.rb:53:in `span_wrapper'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/telemetry.rb:39:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/request.rb:72:in `send_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/client.rb:6359:in `get_bucket_cors'
/var/www/discourse/lib/s3_helper.rb:401:in `fetch_bucket_cors_rules'
/var/www/discourse/lib/s3_helper.rb:168:in `ensure_cors!'
/var/www/discourse/lib/s3_cors_rulesets.rb:60:in `sync'
/var/www/discourse/lib/tasks/s3.rake:183:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => s3:upload_assets => s3:ensure_cors_rules
(Vedere la traccia completa eseguendo il task con --trace)
Tutte le variabili S3 dovrebbero essere spostate nelle impostazioni nascoste, poiché per lo più non può derivare nulla di buono dalla loro configurazione nelle impostazioni.
Mi dispiace, e ho dimenticato che non stai usando Docker. Ma sì, devi comunque impostarle nelle variabili ENV. Lo faccio nel mio ambiente di sviluppo per ripristinare i database da S3.
Se non lo stai facendo per un ambiente di sviluppo, stai molto probabilmente commettendo un grosso errore.
L’ho risolto facendo quanto segue: c’erano due errori.
Per prima cosa, ho corretto il secondo errore facendo quanto segue:
rails c
Upload.find(386).destroy!
exit
Questo ha corretto il post corrotto (testo malformattato o qualcosa del genere).
Quindi gli errori rossi sullo schermo provenivano dall’uso del sottodominio casuale (fornito da cloudflare) e dal caricamento su quello. Ho dovuto caricare i file sul nuovo dominio (che include il mio dominio connesso).
Quindi il forum si è caricato correttamente e facendo clic destro e aprendo le immagini in una nuova scheda si vede che sono ospitate su R2. Poi ho fatto un backup.
Il che ha liberato lo spazio di archiviazione rispettivamente dei file (nota che ho ancora un backup locale di entrambi i file (a livello di sistema operativo) e a livello di discourse prima della migrazione).