** falha ao inicializar **

Tentei instalar o Discourse e recebi um erro de FAILED TO BOOTSTRAP.
Aqui está o log:

ENTER para continuar, 'n' para tentar novamente, Ctrl+C para sair:
Ativando o Let's Encrypt
web.ssl.template.yml ativado
letsencrypt.ssl.template.yml ativado

Arquivo de configuração em  atualizado com sucesso!

Atualizações concluídas. Recriando em 5 segundos.
Criando o aplicativo
Garantindo que o launcher está atualizado
Buscando origem
O launcher está atualizado
cd /pups && git pull && /pups/bin/pups --stdin
Já está atualizado.
I, [2020-07-24T18:55:58.464935 #1]  INFO -- : Carregando --stdin
I, [2020-07-24T18:55:58.473367 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2020-07-24T18:55:58.506619 #1]  INFO -- : Gerando locais (isso pode levar um tempo)...
Geração concluída.

I, [2020-07-24T18:55:58.506995 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-24T18:55:58.509890 #1]  INFO -- :
I, [2020-07-24T18:55:58.510432 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-24T18:55:58.512373 #1]  INFO -- :
I, [2020-07-24T18:55:58.512886 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-24T18:55:58.515262 #1]  INFO -- :
I, [2020-07-24T18:55:58.515771 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-24T18:55:58.517798 #1]  INFO -- :
I, [2020-07-24T18:55:58.518308 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-24T18:55:58.520717 #1]  INFO -- :
I, [2020-07-24T18:55:58.521218 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres já está em execução, pare o container ; exit 1
2020/07/24 18:55:58 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): Arquivo ou diretório não encontrado
I, [2020-07-24T18:55:58.532831 #1]  INFO -- :
I, [2020-07-24T18:55:58.533118 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-24T18:55:58.535580 #1]  INFO -- :
I, [2020-07-24T18:55:58.535885 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-24T18:55:58.538318 #1]  INFO -- :
I, [2020-07-24T18:55:58.538610 #1]  INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-07-24T18:55:58.540691 #1]  INFO -- :
I, [2020-07-24T18:55:58.541137 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-07-24T18:55:58.542920 #1]  INFO -- :
I, [2020-07-24T18:55:58.547145 #1]  INFO -- : Arquivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-24T18:55:58.551140 #1]  INFO -- : Arquivo > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2020-07-24T18:55:58.555034 #1]  INFO -- : Arquivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-24T18:55:58.558937 #1]  INFO -- : Arquivo > /root/upgrade_postgres  chmod: +x  chown:
I, [2020-07-24T18:55:58.559391 #1]  INFO -- : > chown -R root /var/lib/postgresql/12/main
I, [2020-07-24T18:56:05.381806 #1]  INFO -- :
I, [2020-07-24T18:56:05.382562 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-07-24T18:56:05.385503 #1]  INFO -- :
I, [2020-07-24T18:56:05.385920 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-24T18:56:05.394083 #1]  INFO -- :
I, [2020-07-24T18:56:05.394491 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-24T18:56:05.396516 #1]  INFO -- :
I, [2020-07-24T18:56:05.396943 #1]  INFO -- : > /root/upgrade_postgres
I, [2020-07-24T18:56:05.403490 #1]  INFO -- :
I, [2020-07-24T18:56:05.403830 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2020-07-24T18:56:05.405807 #1]  INFO -- :
I, [2020-07-24T18:56:05.406414 #1]  INFO -- : Substituindo data_directory = '/var/lib/postgresql/12/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.407666 #1]  INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.408137 #1]  INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.408917 #1]  INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.409490 #1]  INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.410066 #1]  INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.410701 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-07-24T18:56:05.414314 #1]  INFO -- :
I, [2020-07-24T18:56:05.414961 #1]  INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.415521 #1]  INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.416016 #1]  INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/12/main/postgresql.conf
I, [2020-07-24T18:56:05.416731 #1]  INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres  peer em /etc/postgresql/12/main/pg_hba.conf
I, [2020-07-24T18:56:05.417184 #1]  INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/12/main/pg_hba.conf
I, [2020-07-24T18:56:05.417700 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/12/bin/postmaster -D /etc/postgresql/12/main
I, [2020-07-24T18:56:05.418973 #1]  INFO -- : > sleep 5
2020-07-24 18:56:05.434 GMT [49] LOG:  0 8kB está fora do intervalo válido para o parâmetro "shared_buffers" (16 .. 1073741823)
2020-07-24 18:56:05.435 UTC [49] FATAL:  o arquivo de configuração "/etc/postgresql/12/main/postgresql.conf" contém erros
I, [2020-07-24T18:56:10.424189 #1]  INFO -- :
I, [2020-07-24T18:56:10.424518 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb: erro: não foi possível conectar ao banco de dados template1: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
        O servidor está sendo executado localmente e aceitando
        conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-24T18:56:10.470398 #1]  INFO -- :
I, [2020-07-24T18:56:10.470767 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
        O servidor está sendo executado localmente e aceitando
        conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-24T18:56:10.520451 #1]  INFO -- :
I, [2020-07-24T18:56:10.520909 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
        O servidor está sendo executado localmente e aceitando
        conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-24T18:56:10.569147 #1]  INFO -- :
I, [2020-07-24T18:56:10.569513 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado
        O servidor está sendo executado localmente e aceitando
        conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-24T18:56:10.624778 #1]  INFO -- :
I, [2020-07-24T18:56:10.625306 #1]  INFO -- : Encerrando processos assíncronos


FALHA
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falhou com retorno #<Process::Status: pid 75 exit 2>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
88ef1f69c68375f34f7ed80b11cbe2b1fac59a79a226118cb3205f0dc0ea5276
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

Parece que o principal erro é que não é possível conectar ao servidor, mas não entendi bem…
su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' psql: erro: não foi possível conectar ao servidor: não foi possível conectar ao servidor: Arquivo ou diretório não encontrado O servidor está sendo executado localmente e aceitando conexões no socket de domínio Unix "/var/run/postgresql/.s.PGSQL.5432"?

Alguém poderia ajudar?
Obrigado

Quanta memória RAM você tem neste servidor?

1 GB.

Hmm, isso é realmente estranho.

Nós calculamos o tamanho de db_shared_buffers aqui:

Não consigo entender como você chega a apenas 8 kB seguindo isso.

Pode verificar o valor no seu arquivo app.yml?

Claro, onde está localizado o app.yml ou qual comando devo executar para visualizá-lo (cat)?

/var/discourse/containers/app.yml

Achei o nano mais fácil de usar.

Obrigado.

@Falco, @IAmGav, aqui está o conteúdo do app.yml:

## este é o modelo de contêiner Docker Discourse tudo-em-um, autônomo
##
## 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 o 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,
## consulte https://meta.discourse.org/t/17247 para detalhes
expose:
  - "80:80"   # http
  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

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

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

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

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

  ## Quantas solicitações web simultâneas são suportadas? Depende de memória e núcleos de CPU.
  ## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
  UNICORN_WORKERS: 0

  ## TODO: O nome de domínio ao qual esta instância do Discourse responderá
  ## Obrigatório. O Discourse não funcionará com um número IP puro.
  DISCOURSE_HOSTNAME: community.kodularlessons.net

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

  ## TODO: Lista de e-mails separados por vírgula que serão feitos administradores e desenvolvedores
  ## no cadastro inicial, exemplo 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '******s@gmail.com'

  ## TODO: O servidor de correio SMTP usado para validar novas contas e enviar notificações
  ## ENDEREÇO SMTP, nome de usuário e senha são obrigatórios
  ## AVISO: o caractere '#' na senha SMTP pode causar problemas!
  DISCOURSE_SMTP_ADDRESS: mboxhosting.com
  DISCOURSE_SMTP_PORT: 993
  DISCOURSE_SMTP_USER_NAME: no-reply@kodularlessons.net
  DISCOURSE_SMTP_PASSWORD: "*****************"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, padrão true)

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

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

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

## Plugins vão aqui
## consulte 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 quiser definir o endereço de e-mail 'De' para seu primeiro registro, descomente e altere:
  ## Após receber o primeiro e-mail de cadastro, comente a linha novamente. Só precisa ser executado uma vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fim dos comandos personalizados"

Nota: Eu censurei manualmente as informações privadas.

Isso não deve ser zero.

Mude para

db_shared_buffers: “128MB”

Obrigado, me dê um segundo enquanto eu altero.

1 curtida

Meu post desapareceu porque foi capturado por um filtro de spam. De qualquer forma, vou colar o novo log no Pastebin.

Após fazer alterações no arquivo yml, execute este comando.

./launcher rebuild app

Obrigado, também retorna um erro de falha no bootstrap, veja o log:

Está apresentando alguns problemas com shared_buffers e PostgreSQL.

O que mais está rodando nessa instância?

Nada mais está rodando na VM (acho que não)…
Comprei-a no Azure