Discourse est une plate-forme de discussion gratuite et open source conçue pour créer des forums de discussion communautaires et des listes de diffusion pour votre équipe. Il est écrit en Ember.js et Ruby on Rails et utilise PostgreSQL pour le back-end de la base de données. Il s'agit d'une solution de forum moderne qui alimente les discussions sur des milliers de sites pour stimuler l'engagement des utilisateurs. Vous pouvez créer des questions et des idées personnalisables et les intégrer à des services populaires.
Discourse offre un riche ensemble de fonctionnalités, notamment le blocage du spam, les notifications dynamiques, la connexion sociale, l'authentification à deux facteurs, l'API complète, la modération puissante, la disposition mobile intégrée et bien d'autres .
Dans ce tutoriel, nous allons apprendre à installer le forum Discourse avec Docker sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide est pointé vers votre serveur.
- Un serveur de messagerie SMTP. Si vous n'avez pas de serveur de messagerie, vous pouvez utiliser le serveur SMTP de Gmail.
- Un mot de passe root est configuré sur votre serveur.
Installer Docker
Tout d'abord, vous devrez installer Docker sur votre système. Par défaut, la dernière version de Docker est disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous pouvez l'installer en exécutant la commande suivante :
apt-get install docker.io -y
Une fois le Docker installé, démarrez le service Docker et activez-le pour qu'il démarre au redémarrage avec la commande suivante :
systemctl start docker
systemctl enable docker
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Télécharger le discours
Avant de commencer, créez un répertoire pour Discourse. Vous pouvez le créer avec la commande suivante :
mkdir /opt/discourse
Ensuite, téléchargez la dernière version de Discourse depuis le référentiel Git Hub avec la commande suivante :
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Ensuite, vous installerez également le package net-tools sur votre système. Vous pouvez l'installer avec la commande suivante :
apt-get install net-tools -y
Une fois l'installation terminée, vous pouvez passer à l'étape suivante.
Installer et configurer Discourse
Maintenant, changez le répertoire en /opt/discourse et exécutez le script de configuration de Discourse en utilisant la commande suivante :
cd /opt/discourse
./discourse-setup
Il vous sera demandé de fournir le nom d'hôte de votre système comme indiqué ci-dessous :
Ports 80 and 443 are free for use 'samples/standalone.yml' -> 'containers/app.yml' Found 4GB of memory and 2 physical CPU cores setting db_shared_buffers = 1024MB setting UNICORN_WORKERS = 4 containers/app.yml memory parameters updated. Hostname for your Discourse? [discourse.linuxbuz.com]: discourse.linuxbuz.com
Indiquez votre nom de domaine complet valide et appuyez sur Entrée . Il vous sera demandé de fournir une adresse e-mail pour le compte administrateur, le serveur SMTP, le nom d'utilisateur SMTP, le mot de passe SMTP et l'adresse e-mail pour Let's Encrypt, comme indiqué ci-dessous :
Checking your domain name . . . Connection to discourse.linuxbuz.com succeeded. Email address for admin account(s)? [[email protected],[email protected]]: [email protected] SMTP server address? [smtp.example.com]: smtp.gmail.com SMTP port? [587]: SMTP user name? [[email protected]]: [email protected] SMTP password? [pa$$word]: [email protected] Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected]
Fournissez tous les détails et appuyez sur Entrée . Vous devriez voir le résultat suivant :
Does this look right? Hostname : discourse.linuxbuz.com Email : [email protected] SMTP address : smtp.gmail.com SMTP port : 587 SMTP username : [email protected] SMTP password : asdfgsd Let's Encrypt : [email protected] ENTER to continue, 'n' to try again, Ctrl+C to exit:
Appuyez sur Entrée pour démarrer l'installation. Une fois l'installation terminée, vous devriez voir le résultat suivant :
Enabling Let's Encrypt web.ssl.template.yml enabled letsencrypt.ssl.template.yml enabled Configuration file at updated successfully! Updates successful. Rebuilding in 5 seconds. Building app Ensuring launcher is up to date Fetching origin Launcher is up-to-date + /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=discourse.linuxbuz.com -e [email protected] -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e [email protected] -e DISCOURSE_SMTP_PASSWORD=asdfgsd -e [email protected] -h ubuntu2004-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:43:15:82:15:a7 local_discourse/app /sbin/boot 7e303b07344c3643846a03d5c2f758ec67a6aa94b2a6a399bcb2766ccd02b3c2
Le script d'installation ci-dessus générera un fichier de configuration appelé app.yml dans discourse/containers annuaire. Si vous souhaitez apporter des modifications à la configuration, modifiez simplement votre /opt/discouse/containers/app.yml fichier et exécutez ./launcher reconstruction app pour appliquer les modifications.
Accéder à l'interface Web de Discourse
Maintenant, ouvrez votre navigateur Web et tapez l'URL https://discourse.linuxbuz.com. Vous serez redirigé vers la page d'inscription à Discourse :
Cliquez sur S'inscrire bouton. Vous devriez voir la page suivante :
Fournissez un nom d'utilisateur et un mot de passe pour votre compte administrateur et cliquez sur S'inscrire bouton. Vous devriez voir la page suivante :
Vous devriez recevoir un e-mail pour activer votre compte.
Conclusion
Toutes nos félicitations! vous avez installé avec succès le forum Discourse avec Docker sur le serveur Ubuntu 20.04. J'espère que vous pourrez désormais déployer facilement votre propre forum de discussion en ligne avec Discourse. N'hésitez pas à me demander si vous avez des questions.