Lunga pausa nell'installazione standard del comando: cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'

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"