Come installare Discourse Forum con Docker su CentOS 8

18 gen 2021 3 min di lettura
Come installare Discourse Forum con Docker su CentOS 8
Indice dei contenuti

Introduzione

Discourse è una piattaforma gratuita e open source. È un moderno software per forum che può essere utilizzato come mailing list, forum di discussione, chat room di lunga durata e altro ancora. Utilizza Ruby on Rails per il backend, Ember.js per il front-end, PostgreSQL come archivio dati e Redis come server di cache. È semplice, efficiente, ottimizzato per i dispositivi mobili, personalizzabile e rende la discussione online facile e divertente.

In questo tutorial, ti mostreremo come installare il forum Discourse utilizzando Docker sul server CentOS 8.

Prerequisiti

  • Un server che esegue CentOS 8.
  • Un nome di dominio valido puntato all''IP del tuo server.
  • Una password di root è configurata sul server.

Installare Docker

Innanzitutto, dovrai installare Docker sul tuo server. Per impostazione predefinita, Docker non è disponibile nel repository standard di CentOS 8. Quindi dovrai aggiungere il repository ufficiale Docker al tuo sistema. Puoi aggiungerlo con il seguente comando:

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

Una volta creato il repository, installa Docker eseguendo il seguente comando:

sudo dnf install docker-ce --nobest

Dopo aver installato Docker, avvia il servizio Docker e abilitalo all'avvio al riavvio del sistema con il seguente comando:

sudo systemctl start docker
sudo systemctl enable docker

È ora possibile verificare la versione Docker utilizzando il seguente comando:

docker --version

Dovresti vedere il seguente output:

Docker version 20.10.2, build 2291f61

Installare Discourse

Innanzitutto, crea una directory per Discourse con il seguente comando mkdir:

sudo mkdir /opt/discourse

Successivamente, scarica l'ultima versione di Discourse dal repository Git utilizzando il seguente comando:

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

Quindi, cambia la directory con il comando cd in Discourse e installa il Discourse con il seguente comando:

cd /opt/discourse
./discourse-setup

Ti verrà chiesto di fornire il tuo FQDN come mostrato di seguito:

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.noviello.it

Fornisci il tuo nome di dominio valido e premi Invio. Ti verrà chiesto di fornire un indirizzo email e una password validi:

Checking your domain name . . .
Connection to discourse.noviello.it 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?

Fornisci tutti i dettagli e premi Invio. Dovrai verificare tutte le impostazioni come mostrato di seguito:

Hostname      : discourse.noviello.it
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: 

Se tutto va bene, premere Invio per avviare l'installazione. Una volta completata l'installazione, dovresti ottenere il seguente output:


+ /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.noviello.it -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 01:c0:31:60:c3:04 local_discourse/app /sbin/boot
cd32342343459d43452345605224sdav2345b651b92342394cc38723

È ora possibile verificare lo stato del container di Discourse in esecuzione con il seguente comando:

docker ps

Dovresti vedere il seguente output:

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

Accedere all'interfaccia utente Web di Discourse

Ora apri il tuo browser web e digita l'URL https://discourse.noviello.it. Verrai reindirizzato alla schermata di configurazione Discourse.

Fare clic sul pulsante Register. Dovresti vedere la pagina di registrazione.

Fornisci la tua email, nome utente, password e fai clic sul pulsante Register. Dovresti ricevere un'e-mail per attivare il tuo account.

Conclusione

Congratulazioni! hai installato con successo il software Discourse forum su CentOS 8. Ora puoi esplorare Discourse per ulteriori funzionalità e distribuirlo nell'ambiente di produzione.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.