Attualmente non c’è modo di eseguire Discourse su Docker su un Mac con chip M1, giusto?
Quando eseguo d/boot_dev --init, ho riscontrato questo errore:
ActiveRecord::NoDatabaseError: Non è stato possibile trovare il tuo database: discourse_development. Le configurazioni del database disponibili si trovano in config/database.yml. (ActiveRecord::NoDatabaseError)
Non sono sicuro se si tratti di un bug nello script boot_dev o se il database discourse_development debba essere creato altrove. In ogni caso, sono riuscito a risolverlo con questa modifica:
diff --git a/bin/docker/boot_dev b/bin/docker/boot_dev
index 89fdcf6f65..0e9c5ce7d5 100755
--- a/bin/docker/boot_dev
+++ b/bin/docker/boot_dev
@@ -122,6 +122,7 @@ echo "pnpm install..."
if [ "${initialize}" = "initialize" ]; then
echo "Migrating database..."
+ "${SCRIPTPATH}/rake" db:create
"${SCRIPTPATH}/rake" db:migrate
RAILS_ENV=test "${SCRIPTPATH}/rake" db:migrate
Dopo di che, il processo di configurazione è stato eseguito correttamente, seguendo le istruzioni nell’OP.
Non ho abbastanza familiarità con il codebase di Discourse per sapere se questa sia la correzione corretta, ma sarei felice di inviare una PR se potesse aiutare. ![]()
Oh sì, per favore crea una PR e collegala qui. Grazie!
Fatto!
Hai avuto successo nel farlo funzionare?
Ho riscontrato lo stesso errore. Ho eseguito docker rm -f /discourse_dev e rieseguito d/boot_dev --init e questa volta ha funzionato.
Attenzione:
Ho appena notato che la cartella è data/postgres invece di tmp/postgres, motivo per cui il comando “reimposta database” mira a eliminare la cartella data ![]()
Ho pensato di dare un’altra occhiata all’installazione di Docker dev, ma continuo a ricevere:\n\nCaused by: PG::ConnectionBad: connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: No such file or directory (PG::ConnectionBad) Is the server running locally and accepting connections on that socket?\n\nEppure posso confermare che il servizio è attivo (e funziona quando uso la mia normale installazione “manuale” di Discourse non Docker)\n\n```
~/discourse_docker/discourse$ sudo service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2025-03-10 17:26:13 GMT; 6min ago
Process: 2052109 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 2052109 (code=exited, status=0/SUCCESS)
Mar 10 17:26:13 black-knight systemd[1]: Starting PostgreSQL RDBMS…
Mar 10 17:26:13 black-knight systemd[1]: Finished PostgreSQL RDBMS.
Ho trovato i livelli di log predefiniti di :debug eccessivamente prolissi: le query SQL soffocano errori importanti. config/environments/development.rb consente l’impostazione di DISCOURSE_DEV_LOG_LEVEL, ma non so se questo possa essere fatto tramite lo script d/rails?
Comunque, l’ho semplicemente codificato temporaneamente in config/environments/development.rb su config.log_level = :info e questo ha risolto il problema per me. Potrebbe aiutare anche altri.
Sto cercando di avviarlo con il plugin Data Explorer perché vorrei esaminare l’automazione del DE.
Sono riuscito ad avviare il container.
Poi ho faticato per “installare” il plugin clonando il repository e creando un collegamento simbolico nella directory discourse/plugins (è quello che avrei dovuto fare? La guida potrebbe essere molto più chiara su questo punto).
Ho abilitato il plugin tramite l’interfaccia utente. Ma quando provo ad accedervi, ricevo un errore.
Tutto ciò che compare nel log è questo:
Processing by DiscourseDataExplorer::QueryController#index as JSON
Completed 500 Internal Server Error in 62ms (ActiveRecord: 9.8ms (5 queries, 0 cached) | GC: 2.9ms)
Cosa dovrei fare con questo? Dove sono i dettagli?
Hai eseguito le migrazioni?
Non ho avuto molta fortuna con il symlinking della mia cartella dei plugin:
Alla fine sono passato a una cartella normale come risultato (vedi il mio ultimo commento in quel thread).
Penso che ci siano attualmente alcune incompatibilità con i volumi Docker, i file watcher e i symlink.
Grazie per la risposta @Arkshine! Cosa avrebbe dovuto avvisarmi che era necessario farlo? Ho controllato il tutorial sull’installazione di un plugin, ma immagino che il plugin che il tutorial usa come esempio non necessiti di migrazioni?
Nel frattempo, non so se questo mi aiuterà a superare l’ostacolo perché mi sono imbattuto nella necessità di inserire il certificato proxy della mia azienda nel container Docker e non ho molta esperienza con Docker prima ![]()
Quale problema stai risolvendo? Un’installazione di sviluppo è generalmente destinata ad essere accessibile solo al localhost (cioè al tuo computer) su cui è in esecuzione l’installazione.
O forse stai cercando di eseguire il debug di qualcosa che richiede un certificato come un sistema di autenticazione?
Quando ho provato a riavviare la mia immagine ieri, ha voluto scaricare delle gemme?
Installing gems...
Fetching source index from https://rubygems.org/
Retrying fetcher due to error (2/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see https://railsapps.github.io/openssl-certificate-verify-failed.html.
Retrying fetcher due to error (3/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see https://railsapps.github.io/openssl-certificate-verify-failed.html.
Retrying fetcher due to error (4/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see https://railsapps.github.io/openssl-certificate-verify-failed.html.
Could not verify the SSL certificate for https://rubygems.org/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have
the CA certificates needed for verification. For information about OpenSSL certificates, see
https://railsapps.github.io/openssl-certificate-verify-failed.html.
Ehm… cosa succede se si dimentica la password dell’account admin? Reinstallare l’intero sviluppo?
Non è possibile inviare email, quindi i reset non sono possibili.
Puoi usare la console per impostare una nuova password o creare un nuovo account amministratore.
C’è un percorso per diventare qualsiasi utente.
http://localhost:4200/session/any-username/become