Bene, è effettivamente un problema di rete, perché il mio server si trova in Cina
Trovo le risoluzioni, copio qui in cinese
Installazione di Discourse in un ambiente domesticohttps://mypre.cn/2021/02/17/Discourcs-setup-on-cvm-ecs/
L’aggiornamento e la manutenzione delle versioni di Discourse sono completati su github, e Discourse stesso è scritto in ruby.
Sia che si utilizzino CVM, server leggeri di Tencent Cloud o ECS di Alibaba Cloud, ci sono problemi di lentezza nell’accesso ai siti web esteri, principalmente a causa delle operazioni di limitazione del traffico per supportare i repository git nazionali.
Quando si clona discourse ospitato su github, è possibile accelerare l’accesso a github sostituendo il link di clone da github.com a github.com.cnpmjs.org, ad esempio:
Sostituire git clone https://github.com/discourse/discourse_docker.git con git clone https://github.com.cnpmjs.org/discourse/discourse_docker.git
Inoltre, durante l’esecuzione di ./discourse-setup, il programma di installazione installerà anche alcuni progetti aggiuntivi in docker,
Ad esempio: gem update, che richiede anche l’aggiunta di un mirror ruby.
È possibile aggiungere l’indirizzo del mirror ruby modificando il file di configurazione, i file principali coinvolti sono docker.git
Inoltre, durante l’esecuzione di ./discourse-setup, il programma di installazione installerà anche alcuni progetti aggiuntivi in docker,
Ad esempio: gem update, che richiede anche l’aggiunta di un mirror ruby.
È possibile aggiungere l’indirizzo del mirror ruby modificando il file di configurazione, i file principali coinvolti sono
discourse/templates/web.template.yml
discourse/containers/app.yml
Prima di cercare i punti in cui viene chiamato gem update nei file sopra menzionati, aggiungere la seguente istruzione per configurare il sito mirror:
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem update bundler
Per bundle è possibile aggiungere un sito mirror con bundle config mirror.https://rubygems.org https://gems.ruby-china.com.
Modifiche principali come segue:
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...
Problema di impostazione dell’email
Il forum di solito richiede un server di posta elettronica per inviare vari codici di verifica, messaggi di accesso, recupero password, notifiche e altre funzioni.
L’email aziendale gratuita di NetEase (ym.163.com) può soddisfare questa esigenza, è anche possibile abilitare il servizio SMTP utilizzando l’email QQ, oppure acquistare un’email a pagamento.
L’email aziendale gratuita di NetEase ha il servizio SMTP abilitato per impostazione predefinita. Ecco un esempio di impostazione di app.yml: Discourse sembra non supportare la connessione SSL, quindi qui viene utilizzato direttamente il servizio SMTP. Nota che la funzione start_tls deve essere disabilitata esplicitamente.
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)
Inoltre, l’indirizzo email dell’amministratore del sito web non deve essere uguale a DISCOURSE_SMTP_USER_NAM, altrimenti potresti non ricevere le email di registrazione.
Installazione del sistema forum/BBS Discourse con Docker (Nginx)
Se ti trovi in Cina, devi accelerare il mirror. Trova il blocco templates nel file di configurazione e aggiungi il mirror domestico 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"