Cómo instalar Discourse Forum con Docker en CentOS 8

Instalación del discurso exitosa

Discourse es una plataforma gratuita y de código abierto creada para la próxima década de Internet. Es un software de foro moderno que se puede usar como lista de correo, foro de discusión, sala de chat de formato largo y más. Utiliza Ruby on Rails para el backend, Ember.js para el front-end, PostgreSQL como almacén de datos y Redis como servidor de almacenamiento en caché. Es simple, eficiente, compatible con dispositivos móviles, personalizable y hace que la discusión en línea sea fácil y divertida.

En este tutorial, le mostraremos cómo instalar el foro Discourse usando Docker en el servidor CentOS 8.

requisitos previos

  • Un servidor que ejecuta CentOS 8.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor.
  • Se configura una contrase√Īa de root en el servidor.

Instalar ventana acoplable

Primero, deber√° instalar Docker en su servidor. De forma predeterminada, Docker no est√° disponible en el repositorio est√°ndar de CentOS 8. Por lo tanto, deber√° agregar el repositorio oficial de Docker a su sistema. Puedes agregarlo con el siguiente comando:

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

Una vez que se crea el repositorio, instale Docker ejecutando el siguiente comando:

dnf install docker-ce --nobest

Después de instalar Docker, inicie el servicio de Docker y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start docker
systemctl enable docker

Ahora puede verificar la versión de Docker usando el siguiente comando:

docker --version

Debería ver el siguiente resultado:

Docker version 20.10.1, build 831ebea

Instalar Discurso

Primero, cree un directorio para Discourse con el siguiente comando:

mkdir /opt/discourse

A continuaci√≥n, descargue la √ļltima versi√≥n de Discourse desde el repositorio de Git usando el siguiente comando:

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

A continuación, cambie el directorio a Discourse e instale Discourse con el siguiente comando:

cd /opt/discourse
./discourse-setup

Se le pedirá que proporcione su FQDN como se muestra a continuación:

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

Proporcione su nombre de dominio v√°lido y presione Entrar. Se le pedir√° que proporcione su direcci√≥n de correo electr√≥nico y contrase√Īa v√°lidas:

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?

Proporcione todos los detalles y presione Entrar. Deberá verificar toda la configuración como se muestra a continuación:

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: 

Si todo está bien, presione Entrar para comenzar la instalación. Una vez que se haya completado la instalación, debería obtener el siguiente resultado:

+ /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

Ahora puede verificar el contenedor en ejecución de Discourse con el siguiente comando:

docker ps

Debería ver el siguiente resultado:

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

Acceder a la interfaz de usuario web de Discourse

Ahora, abra su navegador web y escriba la URL https://discurso.linuxbuz.com. Será redirigido a la pantalla de configuración de Discourse:

Instalación del discurso exitosa

Haga clic en el Registro botón. Deberías ver la página de registro:

Registrar cuenta de administrador

Proporcione su correo electr√≥nico, nombre de usuario, contrase√Īa y haga clic en el Registro bot√≥n. Deber√≠as recibir un correo electr√≥nico para activar tu cuenta.

Confirmar correo electrónico

Conclusión

¡Felicidades! Ha instalado correctamente el software de foro de Discourse en CentOS 8. Ahora puede explorar Discourse para obtener más funciones e implementarlo en el entorno de producción. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *