Cómo instalar Discourse en un contenedor Docker
Hola a todos, hoy aprenderemos cómo instalar Discourse usando la plataforma Docker. Discourse es la plataforma de discusión 100% de código abierto construida para la próxima década de Internet que se presenta como una lista de correo, un foro de discusión y una sala de chat de formato largo. Es una forma inteligente de intentar reinventar lo que debería ser hoy en día una plataforma de debate de Internet moderna, sostenible y totalmente de código abierto, tanto desde el punto de vista tecnológico como desde el punto de vista sociológico. El discurso es una forma de discusión simple, limpia y directa. Es realmente una plataforma increíble para cualquier tipo de discusión en Internet con servicios tan geniales listos para usar. Docker es una plataforma de código abierto que proporciona una plataforma abierta para empaquetar, enviar y ejecutar cualquier aplicación como un contenedor liviano. Los contenedores Docker hacen que Discourse sea una aplicación muy útil y fácil de configurar.
Entonces, aquí hay algunos pasos rápidos y fáciles para instalar Discourse dentro de un entorno Docker.
1. Instalación de Docker
En primer lugar, debemos asegurarnos de tener Docker instalado en nuestro sistema operativo host. Para instalar, necesitaremos ejecutar el siguiente comando en un shell o terminal.
En Ubuntu
La ventana acoplable de paquetes está disponible en el repositorio de Ubuntu, por lo que usaremos apt manager para instalarlo en modo sudo o root.
# apt-get install docker
En CentOS 7
En la máquina CentOS 7, usaremos yum manager para instalar la ventana acoplable, ya que también está disponible en el repositorio de CentOS.
# yum install docker
2. Configuración de la memoria de intercambio
Si tiene un tamaño de RAM inferior a 1 GB, asegúrese de actualizar su sistema a 1 GB o más porque Discourse no se instala en 512 MB de RAM. Si ahora está listo para instalar Discourse con 1 GB o más, siga los siguientes pasos para configurar la memoria de intercambio para su VPS o servidor.
Crearemos un archivo de intercambio vacío ejecutando el siguiente comando.
# install -o root -g root -m 0600 /dev/null /swapfile
Si desea que su memoria de intercambio sea de 1 GB, realice el siguiente paso y omita el siguiente.
# dd if=/dev/zero of=/swapfile bs=1k count=1024k
si desea que sea de 2 GB, siga lo siguiente. Asegúrese de omitir el paso anterior.
# dd if=/dev/zero of=/swapfile bs=1k count=2048k
Luego, señalaremos Swap Memory como swapfile.
#mkswap /swapfile
Para activarlo ejecute el siguiente comando.
#swapon /swapfile
Ahora, lo agregaremos a la tabla del sistema de archivos para que esté allí después del reinicio:
# echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab
Establezca el intercambio en 10 para que solo se use como un búfer de emergencia.
# sudo sysctl -w vm.swappiness=10 # echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
2. Instalar Discourse
Después de instalar Docker en nuestra máquina host, ahora avanzaremos hacia la instalación de Discourse. Ahora clonaremos Discourse del Discourse Github oficial en el directorio / var / speech. Para hacerlo, necesitaremos ejecutar el siguiente comando.
# mkdir /var/discourse/ # cd /var/discourse/ # git clone https://github.com/discourse/discourse_docker.git /var/discourse/
Después de clonar el repositorio de git, copiaremos el archivo de configuración de nuestro servidor de discurso.
# cp samples/standalone.yml containers/app.yml
3. Configurar el discurso
A continuación, editaremos la configuración del discurso, es decir, app.yml ubicado dentro del directorio de contenedores usando nuestro editor de texto favorito.
# nano contenedores / app.yml
Ahora, debemos configurar la dirección de correo electrónico del desarrollador en DISCOURSE_DEVELOPER_EMAILS de la siguiente manera.
DISCOURSE_DEVELOPER_EMAILS: 'arun@linoxide.com'
Luego, configuraremos el nombre de host como el nombre de dominio de nuestro servidor.
DISCOURSE_HOSTNAME: 'discourse.linoxide.com'
Luego, configure las credenciales de correo según nuestro servidor SMTP alojado en la misma máquina de discurso o vps. La configuración de SMTP es necesaria para enviar correo desde su instancia de Discourse
DISCOURSE_SMTP_ADDRESS: smtp.linoxide.com DISCOURSE_SMTP_PORT: 587 # (optional) DISCOURSE_SMTP_USER_NAME: admin@linoxide.com # (optional) DISCOURSE_SMTP_PASSWORD: test123 # (optional)
Si está utilizando una instancia de 1 GB, configure UNICORN_WORKERS en 2 y db_shared_buffers en 128 MB para tener más espacio de memoria.
Es obligatorio crear un servidor de correo para ejecutar Discourse. Si tiene un servidor, entonces está bien, podemos usar sus credenciales. ¿Si no tiene un servidor de correo existente o no sabe cuál es? No hay problema, cree una cuenta gratuita en Mandril (Mailgun, o Mailjet) y utilice las credenciales proporcionadas en el panel.
4. Inicio de la aplicación Discourse
Después de configurar el archivo de configuración del discurso, seguramente querremos iniciar nuestro servidor Discourse. Para hacerlo, primero lanzaremos el programa de arranque del discurso ejecutando el siguiente comando en el directorio actual, es decir, / var / discurso /.
# ./launcher bootstrap app
El comando anterior puede tardar algunos minutos y configura automáticamente nuestro entorno Discourse. Luego, una vez finalizados los procesos, tendremos que ejecutar lo siguiente para iniciar nuestra aplicación Discourse.
#./launcher start app
Si todo salió como se esperaba, podremos acceder a nuestra nueva interfaz web Discourse utilizando nuestro navegador web favorito apuntando la URL a http: // ip-address / o http://discourse.linoxide.com/. Luego, podemos crear una nueva cuenta y convertirnos en administradores.
Mantenimiento
A continuación, se muestran los usos del comando de inicio dentro del directorio / var / discurso / para que podamos realizar el mantenimiento y el control del contenedor de Docker de Discourse.
Usage: launcher COMMAND CONFIG [--skip-prereqs] Commands: start: Start/initialize a container stop: Stop a running container restart: Restart a container destroy: Stop and remove a container enter: Use nsenter to enter a container ssh: Start a bash shell in a running container logs: Docker logs for container mailtest: Test the mail settings in a container bootstrap: Bootstrap a container for the config based on a template rebuild: Rebuild a container (destroy old, bootstrap, start new) cleanup: Remove all containers that have stopped for > 24 hours Options: --skip-prereqs Don't check prerequisites --docker-args Extra arguments to pass when running docker
Conclusión
¡Viva! Hemos instalado con éxito Discourse with Docker Technology. La tecnología Docker hace que Discourse sea mucho más fácil de instalar en cualquier plataforma con todos los requisitos cumplidos. Necesitamos nuestro propio servidor de correo o las credenciales de un servidor de correo para empezar a utilizarlo. Es una gran plataforma para una lista de correo moderna y sencilla, una plataforma de discusión.