Bueno, en realidad es un problema de red, porque mi servidor está en China.
Encontré las soluciones, las copio aquí en chino.
Instalación de Discourse en un entorno nacionalhttps://mypre.cn/2021/02/17/Discourcs-setup-on-cvm-ecs/
La actualización y el mantenimiento de la versión de Discourse se completan en base a GitHub, y Discourse en sí está escrito en Ruby.
El acceso lento a sitios web extranjeros existe tanto en CVM de Tencent Cloud, servidores ligeros como ECS de Alibaba Cloud, principalmente debido a las operaciones de limitación de velocidad para apoyar los repositorios de git nacionales.
Al clonar Discourse alojado en GitHub, puede acelerar el acceso a GitHub reemplazando el enlace de clonación de github.com por github.com.cnpmjs.org, por ejemplo:
Reemplace git clone https://github.com/discourse/discourse_docker.git por git clone https://github.com.cnpmjs.org/discourse/discourse_docker.git
Además, al ejecutar ./discourse-setup, el programa de instalación también instalará algunos proyectos adicionales en Docker,
por ejemplo: gem update, que también requiere agregar un espejo de Ruby.
Puede agregar la dirección del espejo de Ruby modificando el archivo de configuración, los archivos principales involucrados son docker.git
Además, al ejecutar ./discourse-setup, el programa de instalación también instalará algunos proyectos adicionales en Docker,
por ejemplo: gem update, que también requiere agregar un espejo de Ruby.
Puede agregar la dirección del espejo de Ruby modificando el archivo de configuración, los archivos principales involucrados son
discourse/templates/web.template.yml
discourse/containers/app.yml
Busque el lugar donde se llama a gem update en los archivos anteriores y agregue la siguiente declaración para agregar un sitio espejo antes:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem update bundler
Para bundle, puede usar bundle config mirror.https://rubygems.org https://gems.ruby-china.com para agregar un sitio espejo.
Modificación principal la siguiente:
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 la configuración del correo electrónico
El foro generalmente necesita un servidor de correo electrónico para enviar varios códigos de verificación, mensajes de inicio de sesión o recuperación de contraseña, funciones de notificación de mensajes, etc.
El correo electrónico empresarial gratuito de NetEase (ym.163.com) puede satisfacer esta necesidad. Habilitar el servicio SMTP con el correo electrónico de QQ también es posible, por supuesto, también puede comprar un correo electrónico de pago.
El correo electrónico empresarial gratuito de NetEase tiene el servicio SMTP habilitado por defecto. A continuación se muestra un ejemplo de configuración de app.yml: Discourse parece no proporcionar una forma de conexión compatible con SSL, aquí se utiliza directamente el servicio SMTP. Tenga en cuenta que la función start_tls debe cerrarse explícitamente aquí.
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)
Además, el correo electrónico del administrador del sitio no debe ser el mismo que DISCOURSE_SMTP_USER_NAM, de lo contrario, es posible que no reciba el correo electrónico de registro.
Si se encuentra en China continental, necesita acelerar el espejo. Encuentre el bloque templates en el archivo de configuración y agregue el espejo nacional 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"