Sommaire
Dans ce second exemple d’installation d’une image Docker, on va voir comment installer l’image Discourse qui est un forum et qui utilise quasiment les mêmes composantes serveurs comme :
- PostgreSQL
- Ruby
- Redis
Après cette installation sur un même serveur, nous aurons deux applications totalement indépendantes avec certain composant en « double » et sans conflit.
Sur un serveur, un même serveur, la cohabitation de Discourse et Gitlab n’est pas facile à faire, même impossible, dans les faits je n’ai pas essayé.
Pour l’installation de Discourse, je ne vais pas rentrer dans le détail comme avec Gitlab, car un « utilitaire » de gestion du conteneur est founis.
Sur le serveur, créer un dossier pour Discourse :
sudo mkdir /var/discourse/
Cloner le repository git dans le dossier :
sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse/
La configuration de Discourse et du conteneur se fait l’aide d’un fichier, copier le fichier d’exemple standalone.yml dans le dossier containers en le nommant app.yml
sudo cp /var/discourse/samples/standalone.yml /var/discourse/containers/app.yml
Editer le fichier app.yml à l’aide de nano
sudo nano /var/discourse/containers/app.yml
Dans le fichier, configurer la section expose, indiquant les ports pour http / https.
expose:
- "32080:80" # http
- "32443:443" # https
Configurer les variables d’environnement suivantes :
DISCOURSE_HOSTNAME: 'discourse.rdr-it.local'
DISCOURSE_DEVELOPER_EMAILS: '[email protected],[email protected]'
Configurer un serveur SMTP valide, c’est « obligatoire ».
Enregistrer ensuite le fichier.
Si ce n’est pas fait, aller dans le dossier /var/discourse/
.
Lancer la génération de l’image du conteneur :
sudo ./launcher bootstrap app
Patienter pendant le téléchargement et la configuration de l’image.
Maintenant démarrer le conteneur avec la commande :
sudo./launcher start app
Vérifier le bon fonctionnement avec la commande :
sudo docker ps
Dans Cockpit, on peut voir également les deux conteneurs :
Comme pour Girtlab, on va créer un virtualhost, comme cela a été vu précédent, je vais uniquement mettre ici la configuration du virtualhost.
Une fois le virtualhost de configurer, lancer un navigateur et aller à l’url configurée.
Discourse est installé et fonctionnel.
Comme pour Gitlab, il est possible de générer un certificat SSL Let’s Encrypts.
Comme pour Gitlab pour éviter les problèmes de mixed content, il faut forcer le SSL dans la configuration de Discourse