Qual a melhor forma de instalar o Discourse Forum em uma VM Proxmox e expô-lo na internet

Oi, sou novo em tudo isso de servidores.

Por favor, me ajude a
configurar o Discourse em uma VM ou CL do Proxmox.
Ou existe alguma imagem pré-configurada em algum lugar para importar?

Muito obrigado.

@pfaffman pode ter um procedimento de instalação pago que ele pode executar. Vale cada centavo.

Obrigado, Alex!

A primeira coisa seria olhar a Instalação Padrão Oficial do Discourse, mas, considerando o que é o Proxmox, acho que a resposta é “pergunte a eles”. Se você pesquisar, no entanto, pode encontrar Trying to install Discourse in an Ubuntu VM on Proxmox

Não tenho certeza do que você acha de especial em estar em uma VM Proxmox. Instale o Ubuntu 18 em uma VM. Expanda as portas 80 e 443 para a Internet. Siga a documentação do Discourse linkada acima. Em qual parte disso você precisa de ajuda?

Sou totalmente novo nisso de servidores, mas estou aprendendo.
Como agora: → Não há diferença em qual hipervisor eu uso. OBRIGADO.

No guia está:
Você deve ter acesso SSH (eu tenho com IP local e Putty) a
um servidor Linux de 64 bits com suporte a Docker.
(Isso significa que o Docker não deve estar instalado antes de iniciar a instalação??

Deve ser uma VM ou um CT também é possível?
O que você recomenda?

Qual Linux você recomendaria?

Acho que o resto está claro no guia, mas vamos ver.

Ele pode ser instalado ou não. Se não estiver instalado, o script de instalação o instalará.

Não tenho certeza se o Docker funcionará corretamente em um CT — você estaria colocando um container dentro de outro container, o que pode causar problemas. Opte por uma VM.

O guia diz:

O padrão da atual versão LTS suportada do Ubuntu Server funciona bem

A menos que você tenha algo contra o Ubuntu, eu usaria esse (é o que estou usando para meus sites Discourse). A versão LTS atual é a 20.04. Meu post anterior mencionava “Ubuntu 18” porque é o que estou usando (e ainda é suportado por mais três anos, então não tenho pressa em mudar), mas para uma nova instalação, provavelmente é melhor usar a versão atual.

A VM estará então em minha rede com o IP
Um Nginx Reverse Manager está apontando o domínio para o Discourse, do roteador para o IP da VM na porta 80?
Qual deve ser a configuração?

Acho que preciso solicitar um certificado Let’s Encrypt antes da instalação para que essa conexão funcione.

Acho que você provavelmente está certo. Você também precisaria desativar o Let’s Encrypt integrado na instalação do Discourse. Sei que isso pode ser feito, mas não tenho tido muitas razões para fazer isso. Mas tenho certeza de que uma busca por aqui encontraria instruções sobre isso.

Não tenho certeza se consigo lidar com a alteração de um script. (Parece perigoso para um iniciante)

E se eu encaminhar as portas 80 e 443 diretamente para a VM para a instalação e, ao terminar, devolver as portas 80 e 443 ao RevManager?

Ou apenas a porta 80?

Também acho que pode ser uma boa ideia, especialmente para esta situação, que, se alguém já possui um certificado, o script simplesmente (como iniciante, não posso dizer o quão complicado isso é) faça uma pergunta: “Deseja obter um certificado? S/N”.

O que você acha?
Será perfeito?

É isso que você terá que fazer. O Discourse-setup não funcionará para sua configuração. Você escolheu um caminho decididamente difícil. Existem guias de como instalar com outros servidores web.

Recomendo tentar uma instalação mais simples primeiro.

Obrigado!

Pode me dizer como alterar o script?
Vou tentar.
Tenho que aprender essas coisas.

E quanto a essa proposta?

Ou isso seria perfeito!

Isso funcionaria e permitiria que a instalação automatizada fosse concluída sem problemas. O problema é que, agora, sua instalação do Discourse espera gerenciar seu próprio certificado TLS, o que não será possível assim que você parar de redirecionar as portas 80 e 443 para essa VM. O que você precisa fazer é dizer ao Discourse para não tentar obter um certificado nem lidar com TLS de forma alguma. E eu acho (embora eu não tenha testado isso) que você pode fazer isso comentando as linhas web.ssl.template.yml e web.letsencrypt.ssl.template.yml no arquivo app.yml. Run other websites on the same machine as Discourse também teria algumas informações relevantes e parece concordar com isso.

Não há motivo real para fazer isso, pois é trivial (se você não estiver complicando demais as coisas, como você está) apenas obter um novo certificado — o fato de você já ter um certificado existente realmente não importa. O fator complicador na sua configuração pretendida não é que você já tenha um certificado, mas sim que essa arrangement não permitirá que o Discourse gerencie seu próprio certificado.

OBRIGADO, vou tentar.
Significado:
Encaminhar as portas 80 e 443 do roteador para o IP da VM.
Depois, posso instalar com o script normal.
Quando a instalação terminar, edito os arquivos?

Outros requisitos:

Hostname para seu Discourse? [discourse.example.com]:
NoIp.domain.com do No-IP

Endereço de e-mail para conta(s) de administrador? [me@example.com, you@example.com]:
→ Posso usar aqui um endereço de e-mail da 1und1 (IONOS)
me@MEU.Dominio.com
diferente do NoIp.domain.com?

Endereço do servidor SMTP? [smtp.example.com]: → da IONOS
Porta SMTP? [587]: → da IONOS
Nome de usuário SMTP? [user@example.com]: → é o e-mail
Senha SMTP? [pa$word]: → OK
E-mail da conta do Let’s Encrypt? (ENTER para pular) [me@example.com]: E-mail da conta No-Ip Mas sem senha?

Não, quero dizer editar o arquivo antes que a instalação seja executada. Como mencionado acima, você não poderá usar o script discourse-setup.

Você pode usar qualquer endereço(s) de e-mail que desejar, independentemente do domínio.

Certifique-se de que o servidor permita envio de e-mails em massa, caso você pretenda que este seja um fórum público.

Por que seria necessária uma senha? O único propósito desse e-mail é para que o Let’s Encrypt notifique você sobre a expiração iminente do certificado (o que realmente nunca deveria acontecer). Mas seu contêiner não deveria estar obtendo nenhum certificado de forma alguma.

OBRIGADO
Acho que posso usar o script depois de reunir todas as informações
Vou fazer um resumo da minha configuração que vou configurar mais tarde

Mal posso esperar para ver o seu progresso.

Isso deve funcionar com o script.
Em vez de um VPS alugado, uso uma VM na rede.

Domain.xx CNAME para Fritz!Domain
Fritz!Box encaminha as portas 80 e 443 para o IP do Reverse Manager
Reverse Manager encaminha
Domain.xx para as portas 80 e 443 para o IP da VM IP 2

Nenhum certificado no Domain.xx

Tenho apenas uma instalação fresca do Ubuntu na VM IP 2
Como testar?
O que você acha?