Discourse
Updated 6 Août 2019
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
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.