Centminmod + discourse

Bonjour.
J’aimerais essayer la plateforme Discourse sur ma pile LEMP Centminmod ( https://centminmod.com/ )

J’ai réussi à installer Docker

docker -v
Docker version 20.10.17, build 100c701

J’ai suivi le guide d’installation ( https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md) avec quelques ajustements mineurs - Je n’ai pas de serveur cloud à proprement parler. C’est mon instance gérée.

J’ai également dû modifier manuellement mon /containers/app.yml.

Une fois que j’ai fait cela, je n’ai aucune erreur lors de la reconstruction de l’application via ./launcher rebuild app

Cependant, je ne peux pas non plus me connecter à l’instance Docker. Elle atteint la page d’accueil de mon hôte virtuel.

Que dois-je faire pour pouvoir faire du reverse proxy de la configuration nginx vers Docker ? Ou quelqu’un a-t-il écrit un guide pour installer Discourse sur Centminmod ?

Merci !

Andy

Je suppose que ce serait le plus proche de ce que vous recherchez Run other websites on the same machine as Discourse .

1 « J'aime »

J’ai réussi à installer Discourse.

Installer Docker - non couvert ici
Installer Discourse -

git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

Configurer app.yaml dans /var/discource/containers

ajuster app.yml pour supprimer les ports 80+443

## Après avoir modifié ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ *TRÈS* PRUDENT LORS DE LA MODIFICATION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.socketed.template.yml"
  #- "templates/web.ratelimited.template.yml"

## quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous souhaitez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## voir https://meta.discourse.org/t/17247 pour plus de détails
expose:

  #- "25654:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Définissez db_shared_buffers à un maximum de 25% de la mémoire totale.
  ## sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
  db_shared_buffers: "128MB"
 
  ## peut améliorer les performances de tri, mais augmente l'utilisation de la mémoire par connexion
  #db_work_mem: "40MB"
 
  ## Quelle révision Git ce conteneur doit-il utiliser ? (défaut : tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
  ## sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
  UNICORN_WORKERS: 2

  ## TODO : Le nom de domaine auquel cette instance Discourse répondra
  ## Considérez ceci comme ce qui se transforme en server_name dans une configuration Nginx
  DISCOURSE_HOSTNAME: 'your.site.com'
 
  ## Décommentez si vous souhaitez que le conteneur soit démarré avec le même
  ## nom d'hôte (-h option) que celui spécifié ci-dessus (défaut "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO : Liste des e-mails séparés par des virgules qui seront rendus administrateurs et développeurs
  ## lors de la première inscription, par exemple 'user1@example.com,user2@example.com'
  ## Cet e-mail est celui que vous utiliserez pour vous connecter à l'instance Discourse la première fois.
  DISCOURSE_DEVELOPER_EMAILS: 'email@your.com'

  ## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
  DISCOURSE_SMTP_ADDRESS: smtp.your.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@your.com
  DISCOURSE_SMTP_PASSWORD: addpasswordhere  # ATTENTION un caractère '#' dans le mot de passe peut causer des problèmes !
  ## Il n'y aurait aucun problème comme celui-ci avec le mot de passe si c'est un objet JSON

  ## L'adresse CDN pour cette instance Discourse (configurée pour tirer)
  ## voir https://meta.discourse.org/t/14857 pour plus de détails
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Les plugins vont ici
## voir https://meta.discourse.org/t/19157 pour plus de détails
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Toutes les commandes personnalisées à exécuter après la construction
run:
  - exec: echo "Début des commandes personnalisées"
  ## Si vous souhaitez définir l'adresse e-mail 'De' pour votre première inscription, décommentez et modifiez :
  ## Après avoir reçu le premier e-mail d'inscription, re-commentez la ligne. Elle ne doit s'exécuter qu'une seule fois.
  - exec: rails r "SiteSetting.notification_email='noreply@khophi.co'"
  - exec: echo "Fin des commandes personnalisées"

Trouver /usr/local/nginx/conf/conf.d
modifier la conf pertinente

ajouter

proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;

à location / {

remplacer include /usr/local/nginx/conf/503include-only.conf; par un #

aussi

#include /usr/local/nginx/conf/pre-staticfiles-local-yourdomain.com.conf;
  #include /usr/local/nginx/conf/pre-staticfiles-global.conf;
  #include /usr/local/nginx/conf/staticfiles.conf;
  #include /usr/local/nginx/conf/drop.conf;
  #include /usr/local/nginx/conf/errorpage.conf;
  #include /usr/local/nginx/conf/vts_server.conf;

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.