¡Hola a todos!
**Esta es mi primera publicación. **
Soy un nuevo usuario de Discourse y vengo de phpBB.
Hace dos semanas, instalé Discourse en un contenedor Docker usando Nginx, ya que Apache usa los puertos 80 y 443 por defecto. Seguí cuidadosamente los pasos descritos en las guías de instalación y la configuración multisitio de Nginx.
Pude ejecutar y usar el foro durante una semana, solo iniciando sesión ocasionalmente para familiarizarme con la plataforma. Cuando le pedí a uno de los usuarios que se registrara y lo probara, el foro se bloqueó al día siguiente. El navegador mostró el mensaje: “El software que impulsa este foro de discusión encontró un problema inesperado”. No pude solucionarlo, así que reinstalé todo el foro desde cero y luego restauré los hilos de la última copia de seguridad disponible. Esto fue el jueves pasado. Después de todo esto, el foro volvió a estar en funcionamiento. Ahora, ha vuelto a fallar con un error 502 Bad Gateway de Nginx. Fui directamente a reconstruir la aplicación y se bloqueó de nuevo con el error:
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 580 exit 1>.
Esto mismo sucedió una y otra vez la semana pasada y me llevó a reinstalar todo desde cero. El foro está prácticamente inactivo porque aún no lo he hecho público. Me asusta la idea de que si sigue fallando sin actividad, ¿qué podría suceder con un grupo de usuarios más grande? Ejecuta estos comandos: ./launcher enter app
**cd /var/www/discourse**
**su discourse -c 'bundle exec rake db:migrate'**
Y en la respuesta, veo esto que me llamó la atención:
connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: the database system is starting up
Intenté reiniciar PostgreSQL manualmente y ejecutar la reconstrucción nuevamente, pero el proceso se interrumpió nuevamente con este mensaje de error:
**FAILED**
**--------------------**
**Pups::ExecError: if [ -f /root/install_postgres ]; then**
**/root/install_postgres && rm -f /root/install_postgres**
**elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then**
**socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1**
**fi**
** failed with return #<Process::Status: pid 18 exit 1>**
**Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'**
**exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\\n /root/install_postgres && rm -f /root/install_postgres\\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container exit ; 1\\nfi\\n"}**
**bootstrap failed with exit code 1**
Realmente no soy un usuario experimentado para identificar el error, pero sospecho que Postgres fallará en algún momento. Esto me llevó a reiniciar todo y empezar de nuevo la semana pasada, pero no creo que esta sea una práctica común o saludable para nadie.
Discourse se está ejecutando en un servidor con 4 núcleos, 6 GB de RAM y 180 GB de espacio en disco. Actualmente solo estoy ejecutando esta instalación de Discourse, por lo que, según entiendo, no estoy limitado por el hardware.