Wie man Discourse Forum mit Docker auf CentOS 8 installiert

Discourse ist eine freie und Open-Source-Plattform, die für das nächste Jahrzehnt des Internets gebaut wurde. Es ist eine moderne Forensoftware, die als Mailingliste, Diskussionsforum, Longform-Chatroom und mehr verwendet werden kann. Es verwendet Ruby on Rails für das Backend, Ember.js für das Frontend, PostgreSQL als Datenspeicher und Redis als Caching-Server. Es ist einfach, effizient, mobilfreundlich, anpassbar und macht Online-Diskussionen einfach und unterhaltsam.

In diesem Tutorial zeigen wir Ihnen, wie Sie das Discourse-Forum mithilfe von Docker auf einem CentOS 8-Server installieren.

Voraussetzungen

  • Ein Server, auf dem CentOS 8 läuft.
  • Ein gültiger Domain-Name, der auf die IP des Servers zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Docker installieren

Zunächst müssen Sie Docker auf Ihrem Server installieren. Standardmäßig ist Docker nicht im Standard-Repository von CentOS 8 verfügbar. Sie müssen also das offizielle Docker-Repository zu Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:

dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Sobald das Repo erstellt ist, installieren Sie Docker mit dem folgenden Befehl:

dnf install docker-ce --nobest

Starten Sie nach der Installation von Docker den Docker-Dienst und aktivieren Sie ihn mit dem folgenden Befehl, damit er beim Neustart des Systems gestartet wird:

systemctl start docker
systemctl enable docker

Sie können nun die Docker-Version mit dem folgenden Befehl überprüfen:

docker --version

Sie sollten die folgende Ausgabe sehen:

Docker version 20.10.1, build 831ebea

Discourse installieren

Erstellen Sie zunächst ein Verzeichnis für Discourse mit dem folgenden Befehl:

mkdir /opt/discourse

Als nächstes laden Sie die neueste Version von Discourse aus dem Git-Repository mit folgendem Befehl herunter:

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

Wechseln Sie anschließend in das Verzeichnis Discourse und installieren Sie Discourse mit dem folgenden Befehl:

cd /opt/discourse
./discourse-setup

Sie werden aufgefordert, Ihren FQDN wie unten gezeigt anzugeben:

which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
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.example.com]: discourse.linuxbuz.com

Geben Sie Ihren gültigen Domainnamen ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, Ihre gültige E-Mail-Adresse und Ihr Passwort einzugeben:

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]: yourpassword
Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected]

Does this look right?

Geben Sie alle Details ein und drücken Sie die Eingabetaste. Sie müssen die gesamte Einrichtung wie unten gezeigt überprüfen:

Hostname      : discourse.linuxbuz.com
Email         : [email protected]
SMTP address  : smtp.gmail.com
SMTP port     : 587
SMTP username : [email protected]
SMTP password : yourpassword
Let's Encrypt : [email protected]

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

Wenn alles in Ordnung ist, drücken Sie die Eingabetaste, um die Installation zu starten. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:

+ /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=yourpassword -e [email protected] -h centos8-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:e0:37:60:d3:09 local_discourse/app /sbin/boot
ab3bdf3c169d47d9ff06052f48ff078d46393f1152b651b9fd3354594cc38714

Sie können nun den laufenden Discourse-Container mit folgendem Befehl verifizieren:

docker ps

Sie sollten die folgende Ausgabe sehen:

CONTAINER ID   IMAGE                 COMMAND        CREATED          STATUS          PORTS                                      NAMES
ab3bdf3c169d   local_discourse/app   "/sbin/boot"   22 seconds ago   Up 21 seconds   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app

Zugriff auf Discourse Web UI

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://discourse.linuxbuz.com ein. Sie werden zum Einrichtungsbildschirm von Discourse weitergeleitet:

Diskurs-Installation erfolgreich

Klicken Sie auf die Schaltfläche Registrieren. Sie sollten die Registrierungsseite sehen:

Admin-Konto registrieren

Geben Sie Ihre E-Mail, Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche “ Registrieren“. Sie sollten eine E-Mail erhalten, um Ihren Account zu aktivieren.

E-Mail bestätigen

Fazit

Herzlichen Glückwunsch! Sie haben die Forensoftware Discourse erfolgreich auf CentOS 8 installiert. Sie können nun Discourse auf weitere Funktionen untersuchen und in der Produktionsumgebung einsetzen. Wenn Sie Fragen haben, können Sie sich gerne an mich wenden.

Das könnte dich auch interessieren …