Instale Discourse no CloudPanel

Eu o transformei em uma wiki. Você é bem-vindo para atualizar o OP para detalhar melhor tudo. Como você tem experiência aqui, espero que acompanhe este tópico para que possa ajudar outras pessoas que queiram seguir seu caminho.
O fato é que nenhum dos contribuidores regulares aqui usa o Cloud Panel, e a pessoa que criou o guia não está participando de seu suporte. Apenas dar suporte à instalação padrão, onde há muito pouca coisa que pode dar errado, já consome bastante tempo.

:+1: Assumindo que ninguém se oponha, incorporarei minhas sugestões quando tiver tempo para garantir que fluam corretamente (e funcionem). Sei que pelo menos executar discourse-setup com --skip-connection-test será necessário.

Acho que isso é provavelmente injusto, eles têm atualizado o guia com base no feedback e provavelmente outras pessoas apenas chegaram às perguntas primeiro.

5 curtidas

Isso é provavelmente verdade. Faz apenas um dia ou dois que esta discussão começou. Este pode ser um caso em que seria melhor para mim simplesmente não dizer nada e deixar que outros resolvam.

5 curtidas

Olá!! Estou aqui e feliz em ajudar! É por isso que criei o tutorial e convidei feedback!

Adicionei a tag unsupported-install e um aviso no topo com uma sugestão para a instalação padrão para os fracos de coração. :slight_smile:

Sugeri uma tag #here-be-dragons, mas ainda está em avaliação… :slight_smile:

5 curtidas

No entanto, no final, seguindo mais atentamente o que é relatado aqui e fazendo algumas pesquisas em outros fóruns, consegui instalar tudo. Obrigado a todos pela ajuda.

2 curtidas

O que você encontrou seria uma informação útil para o tutorial atual?

2 curtidas

Na época eu não entendi que também era necessário alterar outros pontos do arquivo app.yml como servidor de e-mail e outras coisas, já que o guia aqui foi feito para especialistas, apenas as coisas mais óbvias foram indicadas para especialistas e não também coisas para pessoas inexperientes como eu. Então tive dificuldade com a configuração de e-mail, pois meu provedor tem a porta 587 em TLS.

3 curtidas

Olá @denvergeeks :blob_wave:

Estou revisando este guia. :slight_smile:

A parte

Prepare o Domínio e Configure o SSL

onde você usa o Cloudflare é obrigatória? Devo usar um serviço semelhante, ou o SSL funcionaria sem exigir o uso de um serviço de terceiros?


Neste tipo de parte:

Seria bom explicar rapidamente por que precisamos fazer isso (notas de rodapé seriam aceitáveis) :slight_smile:

@Canapin você pode encontrar instruções para usar o SSL integrado do CloudPanel aqui…

Usar o Cloudflare é apenas minha preferência, tanto para nameservers quanto para SSL.

Muitas pessoas usam o Cloudflare. Como eu uso o Cloudflare no meu processo, foi o que forneci no meu tutorial para outros que usam (ou gostariam de usar) o Cloudflare para esses fins.

Você não precisa usar o Cloudflare. Você pode usar quaisquer nameservers que normalmente usaria para apontar seu domínio para o seu endereço IP do CloudPanel. Eu apenas uso o Cloudflare normalmente.

Além disso, você pode usar qualquer fornecedor de SSL em vez do Cloudflare, ou além dele.

Se quiser, você pode adicionar instruções para outros Nameservers e fornecedores de SSL.

Espero que isso esclareça!

3 curtidas

Segui minuciosamente seu guia para usar o Cloudflare como um proxy reverso usando meu domínio de teste canapin.ovh, mas atualmente ele retorna um erro do Cloudflare:

https://canapin.ovh

Além de seguir seu guia, deixei todas as outras configurações do Cloudflare como padrão e modifiquei apenas aquelas que você mencionou no guia.

Não sei nada sobre instalações avançadas e o erro pode não estar relacionado ao seu guia, a menos que falte alguma parte - mas outro usuário conseguiu fazer funcionar, então acho que é mais provável que seja comigo. :slight_smile:

3 curtidas

@Canapin você se lembrou (no final) de:\n\n ./launcher start app\n\n(Essa é uma das muitas causas possíveis.)\n\n :grey_question: Eu poderia ajudar mais se você pudesse fornecer mais informações.:grey_question:

1 curtida

Sim, meu contêiner está em execução e o problema pode ser muitas coisas… Mas não quero adicionar ruído ao seu tópico, especialmente sendo alguém que não está familiarizado com instalações não suportadas :stuck_out_tongue:

1 curtida

Eu uso o fastpanel, onde uma configuração é suficiente para trabalhar com o discourse. O fastpanel tem mais recursos (postgres, backups automáticos para a nuvem, apache/ngnix, etc.) para instalar aplicativos mais complexos do que o wordpress. O discourse funciona muito bem no fastpanel!

1 curtida

Olá, obrigado por postar um ótimo tutorial que pode potencialmente economizar muitos custos para o meu projeto, uma vez que eu aprender a configurá-lo corretamente, de uma vez por todas. Atualmente, a economia não está muito boa e os custos estão sendo cortados em todos os lugares.

Olhando para o tutorial, não havia muitos passos, então decidi tentar, então acredito que estou perto.

Falhei na etapa de bootstrap

Status: Downloaded newer image for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T01:45:55.552861 #1]  INFO -- : Reading from stdin
I, [2025-02-05T01:45:55.600413 #1]  INFO -- : File > /etc/runit/1.d/remove-old-socket  chmod: +x  chown:
I, [2025-02-05T01:45:55.612817 #1]  INFO -- : File > /etc/runit/3.d/remove-old-socket  chmod: +x  chown:


FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
70d853c5066a283a84838676ef16a243cc6f418cee8802eb34b1edfc598a7bd9
root@Vultr2409:/var/discourse#

Tentei pedir ao Deepseek para resolver este problema, e ele me sugeriu:
Criar manualmente /etc/nginx/conf.d/discourse.conf com o seguinte conteúdo:

server {
    listen 80;
    server_name <mydomain.com (replaced by my domain)>;
    location / {
        proxy_pass http://unix:/shared/nginx.http.sock;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
root@Vultr2409:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
Ensuring launcher is up to date
Launcher is up-to-date
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-05T02:21:24.487508 #1]  INFO -- : Reading from stdin
I, [2025-02-05T02:21:24.505619 #1]  INFO -- : File > /etc/runit/1.d/remove-old-socket  chmod: +x  chown:
I, [2025-02-05T02:21:24.510777 #1]  INFO -- : File > /etc/runit/3.d/remove-old-socket  chmod: +x  chown:


FAILED
--------------------
Errno::ENOENT: No such file or directory @ rb_sysopen - /etc/nginx/conf.d/discourse.conf
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
replace failed with the params {"filename"=>"/etc/nginx/conf.d/discourse.conf", "from"=>"/listen 80;/", "to"=>"listen unix:/shared/nginx.http.sock;\nset_real_ip_from unix:;\n"}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
1c7c2a9d055439d23b9300f77e4bc6e912d4db5cf372ea1261e7b8bccb1be3ee

Tentei algumas soluções sugeridas pelo GPT, incluindo comentar # - "templates/web.template.yml", mas não funcionou. Qualquer ajuda seria muito apreciada!

Houve algumas mudanças significativas na configuração do nginx. Isso passou nos testes ou é outra coisa?

Mas você pode tentar novamente agora.

Você pode me dizer onde estão as últimas configurações do nginx? No momento, meu discourse está conectado ao fastpanel com a configuração padrão. Tudo está funcionando, mas eu gostaria de uma configuração mais precisa para o funcionamento ideal do discourse.