Discourse

Updated 6 Août 2019

Nextcloud

Introduction

Discourse est un forum Internet open source, ainsi qu'un outil de gestion de listes de diffusion.

Note

Un conteneur Docker personnalisable utilise les ports 80 et 443. Si vous ne voulez pas installer Discourse dans un conteneur LXC dédié, assurez-vous qu'ils ne sont pas utilisés par d'autres logiciels.

Préparation d'un conteneur LXС

Nous recommandons d'installer Discourse dans un conteneur séparé et de le configurer conformément au manuel.

Installer Discourse dans un conteneur Docker

Installez Docker :

emerge app-emulation/docker

Démarrez Docker et ajoutez-le au démarrage automatique :

/etc/init.d/docker start

rc-update add docker

Pour obtenir une image Docker, il faut d'abord faire une copie du code source :

mkdir /var/discourse

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

cd /var/discourse

./discourse-setup
Ports 80 and 443 are free for use
'samples/standalone.yml' -> 'containers/app.yml'
Found 134GB of memory and 8 physical CPU cores
setting db_shared_buffers = 4096MB
setting UNICORN_WORKERS = 8
containers/app.yml memory parameters updated.

Hostname for your Discourse? [discourse.example.com]: discourse.example.org
Email address for admin account(s)? [me@example.com,you@example.com]: admin@example.org
SMTP server address? [smtp.example.com]: mail.example.org
SMTP port? [587]: 25
SMTP user name? [user@example.com]: ''
SMTP password? [pa$$word]: ''
Optional email address for setting up Let's Encrypt? (ENTER to skip) [me@example.com]: 

Does this look right?

Hostname      : discourse.example.org
Email         : admin@example.org
SMTP address  : mail.example.org
SMTP port     : 25
SMTP username : ''
SMTP password : ''

ENTER to continue, 'n' to try again, Ctrl+C to exit:

Configuration file at  updated successfully!

DISCOURSE_SMTP_USER_NAME not present
DISCOURSE_SMTP_PASSWORD left at incorrect default of 

Sorry, these containers/app.yml settings aren't valid -- can't continue!
If you have unusual requirements, edit containers/app.yml and then: 
./launcher bootstrap app

Editez l'identifiant et le mot de passe du serveur de messagerie dans le fichier app.yml :

containers/app.yml

DISCOURSE_SMTP_USER_NAME: ''
DISCOURSE_SMTP_PASSWORD: ''

Activez le certificat SSL :

containers/app.yml

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

Lancez le processus :

./launcher bootstrap app

Obtenir le certificat Let's Encrypt

Obtenez un certificat discourse.example.org en suivant les instructions du manuel.

Copiez le certificat SSL et la clé dans le conteneur :

cp fullchain.pem /var/discourse/shared/standalone/ssl/ssl.crt

cp privkey.pem /var/discourse/shared/standalone/ssl/ssl.key

Démarrez le conteneur Discourse :

./launcher start app

Ouvrez https://discourse.example.org dans votre navigateur pour compléter la configuration.

Mise à jour de Discourse

Mettez à jour le code source pour obtenir l'image Docker :

cd /var/discourse

git pull

Maintenant, il faut reconstruire le conteneur avec Discourse :

./launcher rebuild app

Attention

Sachez que la reconstruction du conteneur prendra un certain temps, pendant lequel le forum Discourse restera indisponible.