Longue pause dans l'installation standard de la commande : cd /var/www/discourse

Bien, c’est bien un problème de réseau, car mon serveur est en Chine.
J’ai trouvé les solutions, je les copie ici en chinois.


Installation de Discourse dans un environnement national

La mise à niveau et la maintenance des versions de Discourse sont effectuées sur GitHub, et Discourse lui-même est écrit en Ruby.

L’accès lent aux sites Web étrangers est un problème avec les serveurs CVM, les serveurs légers de Tencent Cloud et les ECS d’Alibaba Cloud, principalement en raison des limitations de débit mises en place pour soutenir les dépôts Git nationaux.

Lors du clonage de Discourse hébergé sur GitHub, vous pouvez accélérer l’accès à GitHub en remplaçant le lien de clonage github.com par github.com.cnpmjs.org, par exemple :

Remplacez git clone https://github.com/discourse/discourse_docker.git par git clone https://github.com.cnpmjs.org/discourse/discourse_docker.git

En outre, lors de l’exécution de ./discourse-setup, le programme d’installation installera également des projets supplémentaires dans Docker,

Par exemple : gem update, qui nécessite également l’ajout d’un miroir Ruby.

Vous pouvez ajouter l’adresse du miroir Ruby en modifiant le fichier de configuration, les fichiers principalement concernés sont docker.git

En outre, lors de l’exécution de ./discourse-setup, le programme d’installation installera également des projets supplémentaires dans Docker,

Par exemple : gem update, qui nécessite également l’ajout d’un miroir Ruby.

Vous pouvez ajouter l’adresse du miroir Ruby en modifiant le fichier de configuration, les fichiers principalement concernés sont

discourse/templates/web.template.yml
discourse/containers/app.yml

Avant de rechercher les endroits où gem update est appelé dans les fichiers ci-dessus, ajoutez la déclaration suivante pour configurer le site miroir :

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem update bundler

Pour bundle, vous pouvez ajouter un site miroir avec bundle config mirror.https://rubygems.org https://gems.ruby-china.com.

Modifications principales comme suit :

--- 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...

Concernant la configuration de la messagerie

Les forums ont généralement besoin d’un serveur de messagerie pour envoyer divers codes de vérification, messages de connexion, récupération de mot de passe, notifications, etc.

La messagerie d’entreprise gratuite de NetEase (ym.163.com) peut répondre à ce besoin. L’activation du service SMTP pour la messagerie QQ est également possible, et bien sûr, vous pouvez également acheter une messagerie payante.

La messagerie d’entreprise gratuite de NetEase active le service SMTP par défaut. Voici un exemple de configuration de app.yml : Discourse ne semble pas prendre en charge les connexions SSL, nous utilisons donc directement le service SMTP ici. Notez qu’il faut désactiver explicitement la fonction start_tls.

  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)

De plus, l’adresse e-mail de l’administrateur du site ne doit pas être identique à DISCOURSE_SMTP_USER_NAM, sinon vous pourriez ne pas recevoir les e-mails d’inscription.

Installation de Discourse Forum/BBS System avec Docker (Nginx)

Si vous êtes en Chine continentale, vous devrez accélérer le miroir. Trouvez le bloc templates dans le fichier de configuration et ajoutez le miroir national 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"