ArgumentError: diretório para pid=/.../unicorn.pid não gravável

Aqui estão mais informações. No gunicorn stderr, vejo:

/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.7/lib/active_record/connection_adapters/postgresql_adapter.rb:87:in `rescue in new_client': connection to server on socket \"/var/run/postgresql/.s.PGSQL.5432\" failed: No such file or directory (ActiveRecord::ConnectionNotEstablished)
	Is the server running locally and accepting connections on that socket?

No log do PG, vejo:

2023-08-21 19:24:00.721 UTC [1681] LOG:  listening on Unix socket \"/var/run/postgresql/.s.PGSQL.5432\"
2023-08-21 19:24:00.728 UTC [1681] LOG:  could not open configuration file \"/etc/postgresql/13/main/pg_hba.conf\": Permission denied
2023-08-21 19:24:00.728 UTC [1681] FATAL:  could not load pg_hba.conf
2023-08-21 19:24:00.741 UTC [1681] LOG:  database system is shut down

além disso:

# ls -l /etc/postgresql/13/main/pg_hba.conf
-rw-r----- 1 root root 4846 Aug 21 19:05 /etc/postgresql/13/main/pg_hba.conf

Sob qual usuário o postgres está rodando dentro do container? Com as permissões acima, ele tem que ser root ou alguém do grupo root.

Ok, então eu fiz chmod o+r /etc/postgresql/13/main/pg_hba.conf e agora o container está funcionando novamente.

Tudo isso é um pouco preocupante - por que o método de instalação recomendado não está funcionando de imediato? Meu status de plugin atualmente inclui os listados acima, exceto o data explorer, que desabilitei, pois causou a falha da última vez.

Cross-linking para

que relata sintomas semelhantes.

Atualização: Mudei o comando git na seção cmd do arquivo app.yml para usar sudo, conforme descrito no post vinculado.

Estou declarando esta falha como intermitente. Em 3 tentativas (entre cada uma delas, limpei completamente o diretório shared), uma foi bem-sucedida e duas falharam. Quando falha, corrigir manualmente as três permissões em questão e reiniciar o container resultou no que parece ser um sistema funcionando. Um melhor registro e melhores auto-testes seriam úteis para detectar falhas na inicialização do container.