Atualmente não há como usar o Docker para o Discourse em um Mac com chip M1, certo?
Ao executar d/boot_dev --init, me deparei com este erro:
ActiveRecord::NoDatabaseError: Não conseguimos encontrar seu banco de dados: discourse_development. As configurações de banco de dados disponíveis podem ser encontradas em config/database.yml. (ActiveRecord::NoDatabaseError)
Não tenho certeza se isso é um bug no script boot_dev, ou se o banco de dados discourse_development deveria ser criado em outro lugar. De qualquer forma, consegui corrigi-lo com esta alteração:
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
Depois disso, o processo de configuração foi executado corretamente, seguindo as instruções do OP.
Não estou familiarizado o suficiente com a base de código do Discourse para saber se esta é a correção correta, mas ficaria feliz em enviar um PR se isso ajudar. ![]()
Ah sim, por favor, crie um PR e o vincule aqui. Obrigado!
Feito!
Conseguiu fazê-lo funcionar?
Eu recebi esse mesmo erro. Eu executei docker rm -f /discourse_dev e reexecutei d/boot_dev --init, e desta vez Funcionou.
Atenção:
Notei agora que a pasta é data/postgres em vez de tmp/postgres, que é também o motivo pelo qual o comando “reset database” visa excluir a pasta data ![]()
Eu pensei em dar outra olhada na instalação de desenvolvimento do Docker, mas continuo recebendo:
Caused 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?
No entanto, posso confirmar que o serviço está ativo (e funciona quando uso minha instalação “manual” normal do Discourse fora do Docker)
~/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.
O Docker Dev tem necessidades de conectividade Postgres específicas e diferentes?
Achei os níveis de log :debug padrão muito verbosos - as consultas SQL abafam erros importantes. config/environments/development.rb permite a configuração de DISCOURSE_DEV_LOG_LEVEL, mas não sei se isso pode ser feito através do script d/rails?
De qualquer forma, apenas codifiquei temporariamente em config/environments/development.rb para config.log_level = :info e isso resolveu o problema para mim. Pode ajudar outras pessoas também.
Estou tentando iniciar isso com o plugin Data Explorer porque gostaria de investigar a automação do DE.
Consegui iniciar o contêiner.
Em seguida, passei por “instalar” o plugin clonando o repositório e criando um link simbólico para ele no diretório discourse/plugins (foi isso que eu deveria ter feito? O guia poderia ser muito mais claro nesse ponto).
Habilitei o plugin através da interface do usuário. Mas quando tento acessá-lo, recebo um erro.
Tudo o que aparece no log é isto:
Processing by DiscourseDataExplorer::QueryController#index as JSON
Completed 500 Internal Server Error in 62ms (ActiveRecord: 9.8ms (5 queries, 0 cached) | GC: 2.9ms)
O que devo fazer com isso? Onde estão os detalhes?
Você executou as migrações?
Não tive muita sorte com a criação de links simbólicos para minha pasta de plugins:
Acabei mudando para uma pasta normal como resultado (veja meu último comentário nesse tópico).
Acho que existem algumas incompatibilidades atualmente com volumes Docker, observadores de arquivos e links simbólicos.
Obrigado pela resposta @Arkshine! O que deveria ter me alertado que isso precisava ser feito? Eu verifiquei o tutorial sobre a instalação de um plugin, mas acho que o plugin que o tutorial usa como exemplo não precisa de migrações?
Enquanto isso, não sei se isso me ajuda a superar o obstáculo porque esbarrei na necessidade de colocar o certificado proxy da minha empresa no contêiner Docker e não tenho muita experiência com Docker antes ![]()
Que problema você está resolvendo? Uma instalação de desenvolvimento geralmente se destina a ser acessível apenas ao localhost (ou seja, seu computador) onde a instalação está em execução.
Ou talvez você esteja tentando depurar algo que requer um certificado, como um sistema de autenticação?
Quando tentei iniciar minha imagem novamente ontem, ela pediu para baixar gems?
Instalando gems...
Buscando índice de origem em https://rubygems.org/
Tentando novamente o fetcher devido a erro (2/4): Bundler::Fetcher::CertificateFailureError Não foi possível verificar o certificado SSL para https://rubygems.org/.
Há uma chance de você estar sofrendo um ataque man-in-the-middle, mas o mais provável é que seu sistema não tenha os certificados CA necessários para verificação. Para informações sobre certificados OpenSSL, veja https://railsapps.github.io/openssl-certificate-verify-failed.html.
Tentando novamente o fetcher devido a erro (3/4): Bundler::Fetcher::CertificateFailureError Não foi possível verificar o certificado SSL para https://rubygems.org/.
Há uma chance de você estar sofrendo um ataque man-in-the-middle, mas o mais provável é que seu sistema não tenha os certificados CA necessários para verificação. Para informações sobre certificados OpenSSL, veja https://railsapps.github.io/openssl-certificate-verify-failed.html.
Tentando novamente o fetcher devido a erro (4/4): Bundler::Fetcher::CertificateFailureError Não foi possível verificar o certificado SSL para https://rubygems.org/.
Há uma chance de você estar sofrendo um ataque man-in-the-middle, mas o mais provável é que seu sistema não tenha os certificados CA necessários para verificação. Para informações sobre certificados OpenSSL, veja https://railsapps.github.io/openssl-certificate-verify-failed.html.
Não foi possível verificar o certificado SSL para https://rubygems.org/.
Há uma chance de você estar sofrendo um ataque man-in-the-middle, mas o mais provável é que seu sistema não tenha
os certificados CA necessários para verificação. Para informações sobre certificados OpenSSL, veja
https://railsapps.github.io/openssl-certificate-verify-failed.html.
Ei, então… o que acontece se você esquecer a senha da conta de administrador? Reinstalar todo o desenvolvimento?
Nenhum e-mail pode ser enviado, portanto, redefinições não são possíveis.
Você pode usar o console para definir uma nova senha ou criar uma nova conta de administrador.
Existe uma rota para se tornar qualquer usuário.
http://localhost:4200/session/any-username/become