Reconstruindo uma instalação limpa do Discourse pré-Ember 5 (visando o canal beta), sou apresentado a uma tela de carregamento infinita

Veja o título. Estou em um pequeno apuro agora. Estou tentando reverter para uma versão anterior ao Ember 5 do Discourse para manter o suporte de serviço de longo prazo para o meu fórum, que depende de plugins que agora foram tornados inoperantes na nova versão do Discourse. Para voltar no tempo alguns dias, eu limpei tudo (destruí o contêiner e apaguei /var/discourse e repuxei do GitHub) e estou começando do zero com uma instalação prístina do Discourse. No meu .yml, especifiquei “version: beta”, então devo estar antes do Ember 5.

Depois de fazer o usual de configurar minha conta de administrador e verificá-la, sou apresentado a uma tela de carregamento infinita. E sim, eu também entro no modo de segurança e habilito o Force HTTPS como sempre faço com minha configuração.

Eu até tentei de todas as maneiras, removendo plugins e até começando do zero sem plugins, exceto o mínimo absoluto de apenas…

      - git clone https://github.com/discourse/docker_manager.git

… no meu arquivo .yml. Sem sucesso. Depois de configurar minha conta de administrador, ainda sou apresentado (instalação prístina e básica) a uma tela de carregamento infinita da morte.

Olhando para o console, é isso que estou vendo atualmente:

Aqui está meu arquivo .yml atual:

## este é o template de contêiner Discourse autônomo e tudo-em-um
##
## Após fazer alterações neste arquivo, você DEVE reconstruir
## /var/discourse/launcher rebuild app
##
## TENHA *MUITO CUIDADO AO EDITAR!*
## ARQUIVOS YAML SÃO SUPER SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Descomente estas duas linhas se desejar adicionar Lets Encrypt (https)
  #- "templates/web.ssl.template.yml"
  #- "templates/web.letsencrypt.ssl.template.yml"

## quais portas TCP/IP este contêiner deve expor?
## Se você quiser que o Discourse compartilhe uma porta com outro servidor web como Apache ou nginx,
## veja https://meta.discourse.org/t/17247 para detalhes
expose:
  - "10080:80"   # http
  - "10443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Defina db_shared_buffers para um máximo de 25% da memória total.
  ## será definido automaticamente pelo bootstrap com base na RAM detectada, ou você pode substituir
  db_shared_buffers: "2048MB"

  ## pode melhorar o desempenho da ordenação, mas adiciona uso de memória por conexão
  #db_work_mem: "40MB"

  ## Qual revisão Git este contêiner deve usar? (padrão: tests-passed)
  version: beta

  ## Tamanho máximo de upload (padrão: 10m)
  upload_size: 8196m

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Quantas requisições web concorrentes são suportadas? Depende da memória e dos núcleos da CPU.
  ## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
  UNICORN_WORKERS: 8

  ## TODO: O nome de domínio que esta instância do Discourse responderá
  ## Obrigatório. O Discourse não funcionará com um número IP puro.
  DISCOURSE_HOSTNAME: forum.tabletpc.review

  ## Descomente se você quiser que o contêiner seja iniciado com o mesmo
  ## nome do host (-h option) especificado acima (padrão "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Lista de e-mails delimitados por vírgula que serão feitos administradores e desenvolvedores
  ## na inscrição inicial, exemplo 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'admin@tabletpc.review'

  ## TODO: O servidor de e-mail SMTP usado para validar novas contas e enviar notificações
  # ENDEREÇO SMTP, nome de usuário e senha são necessários
  # AVISO o caractere '#' na senha SMTP pode causar problemas!
  DISCOURSE_SMTP_ADDRESS:  [REDACTED]
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME:  [REDACTED]
  DISCOURSE_SMTP_PASSWORD: " [REDACTED]"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, padrão true)

  ## Se você adicionou o template Lets Encrypt, descomente abaixo para obter um certificado SSL gratuito
  #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com

  ## O endereço CDN para esta instância do Discourse (configurado para puxar)
  ## veja https://meta.discourse.org/t/14857 para detalhes
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

  DISCOURSE_MAXMIND_LICENSE_KEY: [REDACTED]

## O contêiner Docker é sem estado; todos os dados são armazenados em /shared
volumes:
  - volume:
      host: /var/discourse/shared/tabletpcreview
      guest: /shared
  - volume:
      host: /var/discourse/shared/tabletpcreview/log/var-log
      guest: /var/log

## Plugins vão aqui
## veja https://meta.discourse.org/t/19157 para detalhes
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## Quaisquer comandos personalizados para executar após a construção
run:
  - exec: echo "Início dos comandos personalizados"
  ## Se você quiser definir o endereço de e-mail 'De' para seu primeiro registro, descomente e altere:
  ## Após receber o primeiro e-mail de inscrição, comente a linha novamente. Ela só precisa ser executada uma vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fim dos comandos personalizados"

EDIT: Curiosamente, se eu desativar os plugins no modo de segurança, o site funciona. No entanto, se eu os deixar ativados, não funciona. Meu único plugin é o Docker Manager, então por que ele está falhando ao carregar?

Isso funciona: https://forum.tabletpc.review/?safe_mode=no_plugins

Isso não funciona: https://forum.tabletpc.review/?safe_mode=no_themes

Certo, exceto que no momento, tenho uma instalação limpa com literalmente nada nela e o site se recusa a carregar. Veja o .yml. Sem plugins. Além disso, sem temas. Sem componentes de tema. Estou configurando do zero e obtendo a tela de carregamento infinita. Nenhum plugin, exceto o Docker Manager. Estou extremamente confuso por que isso não está funcionando.

1 curtida

OK, sim, desculpe, isso é confuso!

1 curtida

Então, eu acho que você deveria provavelmente esquecer beta e mudar para tests-passed para ver se você consegue recuperar uma build, então reconstruí-la peça por peça.

2 curtidas

De fato. Vou tentar fazer uma instalação limpa em outro ambiente. Parece que o beta está quebrado no momento. No passado, eu podia direcionar o beta no meu .yml. Imagino que haja uma alteração drástica no plugin Docker Manager que não é retrocompatível.

1 curtida

Isso resolveu. Deve haver uma alteração incompatível no Docker Manager que quebra o beta. (Portanto, um aviso para qualquer pessoa no beta como seu principal alvo de contêiner para não atualizar!)

Estou analisando e acho que tenho uma boa ideia de qual plugin é o culpado para a linha principal / testes-passados.

1 curtida

Veredito: Para aqueles como eu que ainda o mantêm, com Ember 5, Retort está morto. :frowning: Procurando opções para preservar seus recursos.

1 curtida