Olá a todos!
**Este é o meu primeiro post. **
Sou um novo usuário do Discourse vindo do phpBB.
Duas semanas atrás, instalei o Discourse em um contêiner Docker usando Nginx, já que o Apache usa as portas 80 e 443 por padrão. Segui cuidadosamente os passos descritos nos guias de instalação e na configuração multisite do Nginx.
Consegui rodar e usar o fórum por uma semana, apenas acessando ocasionalmente para me familiarizar com a plataforma. Quando pedi a um dos usuários para se registrar e testar, o fórum travou no dia seguinte. O navegador exibiu a mensagem: “O software que alimenta este fórum de discussão encontrou um problema inesperado.” Não consegui consertar, então reinstalei todo o fórum do zero e restaurei os tópicos do último backup disponível. Isso foi na última quinta-feira. Depois de tudo isso, o fórum voltou a funcionar. Agora, ele travou novamente com um erro 502 Bad Gateway do Nginx. Fui direto para o rebuild app e ele travou novamente com o erro:
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' falhou com retorno #<Process::Status: pid 580 exit 1>.
Isso aconteceu repetidamente na semana passada e me levou a reinstalar tudo do zero. O fórum está praticamente inativo porque ainda não o tornei público. Tenho medo da ideia de que, se ele continuar travando sem atividade, o que pode acontecer com um grupo maior de usuários? Execute estes comandos: ./launcher enter app
**cd /var/www/discourse**
**su discourse -c 'bundle exec rake db:migrate'**
E na resposta, vejo isto que me chamou a atenção:
conexão com o servidor no socket "/var/run/postgresql/.s.PGSQL.5432" falhou: FATAL: o sistema de banco de dados está inicializando
Tentei reiniciar o Postgres manualmente e executar o rebuild novamente, mas o processo foi interrompido novamente com esta mensagem de erro:
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
Não sou realmente um usuário experiente para identificar o erro, mas suspeito que o Postgres falhe em algum momento. Isso me levou a reiniciar tudo e começar de novo na semana passada, mas não acho que essa seja uma prática comum ou saudável para ninguém.
O Discourse está rodando em um servidor com 4 núcleos, 6GB de RAM e 180GB de espaço em disco. Atualmente, estou executando apenas esta instalação do Discourse, então, pelo que entendi, não estou limitado pelo hardware.