Auto-hospedagem do Discourse com Docker compose

Olá a todos! :blush:

Espero que estejam todos bem! Tenho uma pergunta sobre o Discourse: é possível fazer a auto-hospedagem (self-host) do Discourse? Estou muito interessado na plataforma e adoraria saber se alguém aqui tem experiência com isso. Existem requisitos específicos ou dicas que devo ter em mente?

Agradeço desde já pela ajuda! :folded_hands:

6 curtidas

Sim, e há uma subcategoria inteira dedicada a isso!:

Documentation > Self-Hosting
Você vai querer ler especificamente a instalação padrão

14 curtidas

Muito obrigado pelas suas respostas!

Gostaria de ter um arquivo ‘docker-compose’ independente que eu possa iniciar e usar o discourse em nossa associação.

Isso é possível?

Não sou fã de executar mil scripts em segundo plano que eu não conheço.

Sim, é possível, mas você precisaria escrevê-lo e mantê-lo você mesmo.

Aqui está um Dockerfile que alguém postou recentemente para desenvolvimento, que pode servir como um ponto de partida

O Discourse é de código aberto. Por que não ler os scripts e modelos do launcher? (o que também informaria seu Compose)

3 curtidas

Isso não é suportado, mas há esforços para acompanhar o Discourse principal. Você pode procurar por docker compose aqui, ou visitar estas duas variantes:

Cuidado, porém, manter o Discourse entre versões pode ser difícil. Mas os IndieHosters vêm fazendo isso há alguns anos.

Ambos os projetos usam a imagem docker original Discourse/base, mas não tenho certeza se eles estão adaptando a instalação como o pups do @sam faz para o discourse-docker.

6 curtidas

Obrigado pelas respostas!

Eu instalei apenas a imagem discourse/base, mas o contêiner saiu sem logs
A imagem mostra uma interface de linha de comando exibindo um contêiner chamado "discourse-container" em um ambiente Docker, que saiu recentemente sem processos em execução.

Vocês sabem o porquê?

Porque a imagem base não faz nada por si só. Você precisa compilar o Discourse nela e, em seguida, executá-lo. E isso é feito executando um script ./launcher fora da imagem primeiro. Portanto, você deve primeiro tentar instalá-lo da maneira oficial e, em seguida, pensar nas opções.

O procedimento de instalação do Discourse não é muito comum, mas ao longo dos anos eu realmente gostei da abordagem por um motivo, que você só apreciará depois de ser um administrador por algum tempo. E essa é a possibilidade de atualizá-lo após cada commit no código-fonte. É incrível. Você relata um Bug, após 1 hora ele pode muito bem ser abordado pela equipe ou pela comunidade, os testes automatizados são executados e o commit é mesclado e disponível. E você pode atualizar imediatamente. Porque você recompila seu Discourse no código-fonte mais recente.

Portanto, não há imagem onde uma versão específica seria compilada. Você obtém uma imagem “vazia” e compila sua versão a partir do ponto que desejar e com a combinação de plugins que precisar. E ainda funciona!

Você não obtém esse tipo de flexibilidade em nenhum outro lugar.

Portanto, não tenho certeza, mas se você quiser criar um arquivo docker compose, precisará replicar o procedimento do script ./launcher dentro do arquivo compose, para que você o compile em outra imagem, que poderá simplesmente conectar. Mas você não pode usar o procedimento integrado quando precisar de uma atualização. Você terá que ir e compor uma nova versão por conta própria.

4 curtidas

Obrigado pela ajuda, pessoal. Vocês facilitam para iniciantes como eu usar o Discourse!

Sim, mas antes de disponibilizar o Discourse para o meu clube, eu queria rodar o Discourse no localhost e fazer alguns testes para me familiarizar melhor com a interface de administração e a linha de comando do Discourse. Se ocorrerem erros, quero ser capaz de corrigi-los. Para a versão ‘suportada’, preciso de uma entrada DNS, portas 443 e 80, o que é desnecessário no meu caso - pelo menos eu acho.

Alguém conhece um truque para rodar isso no localhost?

1 curtida

Instale o Docker e faça apenas isso.

1 curtida

Sim:

https://meta.discourse.org/tags/c/documentation/developer-guides/56/dev-install

:slight_smile:

2 curtidas

Ou isso. Embora eu tenha entendido que Max está interessado em saber como ele se comporta em produção, mas para testá-lo localmente antes de comprar um ambiente de hospedagem. Para isso, a configuração do Docker seria mais apropriada. Para realmente corrigir bugs, a configuração de desenvolvimento é a escolha certa.

4 curtidas

Pessoal, muito obrigado pelo apoio!

Consegui fazer funcionar com a instalação “normal” com docker.

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.