Bem, é realmente um problema de rede, porque meu servidor está na China
Encontrei as resoluções, copio aqui em chinês
Instalação do Discourse em ambiente chinêshttps://mypre.cn/2021/02/17/Discourcs-setup-on-cvm-ecs/
A atualização e manutenção do Discourse são feitas com base no github, e o próprio Discourse é escrito em ruby.
Tanto o CVM da Tencent Cloud, servidores leves quanto o ECS da Alibaba Cloud têm problemas de acesso lento a sites estrangeiros, principalmente devido a operações de limitação de fluxo para apoiar repositórios git domésticos.
Ao clonar o discourse hospedado no github, você pode acelerar o acesso ao github substituindo o link de clone github.com por github.com.cnpmjs.org, por exemplo:
Substitua git clone https://github.com/discourse/discourse_docker.git por git clone https://github.com.cnpmjs.org/discourse/discourse_docker.git
Além disso, ao executar ./discourse-setup, o programa de instalação também instalará alguns projetos adicionais no docker,
Por exemplo: gem update, que também requer a adição de um espelho ruby.
Você pode adicionar o endereço do espelho ruby modificando o arquivo de configuração, os arquivos envolvidos são docker.git
Além disso, ao executar ./discourse-setup, o programa de instalação também instalará alguns projetos adicionais no docker,
Por exemplo: gem update, que também requer a adição de um espelho ruby.
Você pode adicionar o endereço do espelho ruby modificando o arquivo de configuração, os arquivos envolvidos são
discourse/templates/web.template.yml
discourse/containers/app.yml
Antes de encontrar o local onde o gem update é chamado nos arquivos acima, adicione a seguinte declaração de espelhamento de site:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem update bundler
Para o bundle, você pode adicionar um site espelho com bundle config mirror.https://rubygems.org https://gems.ruby-china.com.
Modificações principais são as seguintes:
diff --git a/templates/web.template.yml b/templates/web.template.yml
index 28fb22d..bb0010c 100644
--- a/templates/web.template.yml
+++ b/templates/web.template.yml
@@ -86,6 +86,9 @@ run:
cd: $home
hook: code
cmd:
+ - git remote -v
+ - git remote set-url origin https://github.com.cnpmjs.org/discourse/discourse.git
+ - gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
- git reset --hard
- git clean -f
- git remote set-branches --add origin master
@@ -145,6 +148,7 @@ run:
hook: web
cmd:
# ensure we are on latest bundler
+ - gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
- gem update bundler
- find $home ! -user discourse -exec chown discourse {} \\+
@@ -152,6 +156,9 @@ run:
cd: $home
hook: bundle_exec
cmd:
+ - su discourse -c 'gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/'
+ - su discourse -c 'gem update bundler'
+ - su discourse -c 'bundle config mirror.https://rubygems.org https://gems.ruby-china.com'
- su discourse -c 'bundle install --deployment --retry 3 --jobs 4 --verbose --without test developme
- exec:
...skipping...
Sobre a configuração de e-mail
O fórum geralmente precisa de um servidor de e-mail para enviar vários códigos de verificação, mensagens de login, recuperação de senha, notificações e outras funções.
O e-mail corporativo gratuito da NetEase (ym.163.com) pode atender a essa necessidade, e o uso do e-mail QQ com o serviço SMTP ativado também é possível, claro, você também pode comprar e-mails pagos.
O e-mail corporativo gratuito da NetEase tem o serviço SMTP ativado por padrão. Abaixo está um exemplo de configuração de app.yml: O Discourse parece não oferecer suporte a conexões SSL, então o serviço SMTP é usado diretamente aqui. Observe que a função start_tls deve ser explicitamente desativada.
DISCOURSE_SMTP_ADDRESS: smtp.ym.163.com
DISCOURSE_SMTP_PORT: 25
DISCOURSE_SMTP_USER_NAME: mail@getblog.cn
DISCOURSE_SMTP_PASSWORD: "password"
DISCOURSE_SMTP_ENABLE_START_TLS: false # (optional, default true)
DISCOURSE_SMTP_DOMAIN: getblog.cn # (required by some providers)
Além disso, o e-mail do administrador do site não deve ser o mesmo que DISCOURSE_SMTP_USER_NAM, caso contrário, você pode não receber e-mails de registro.
Se você estiver na China continental, precisará de aceleração de espelho. Encontre o bloco templates no arquivo de configuração e adicione o espelho doméstico templates/web.china.template.yml:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/sshd.template.yml"
- "templates/web.template.yml"
- "templates/web.china.template.yml"