[Nota: Meu caso não é realmente um problema de #instalação, mas o erro produzido é o mesmo que neste tópico e minha correção (abaixo) pode ser útil para outros. Moderadores (@pfaffman?), sintam-se à vontade para categorizar isso de forma mais apropriada.]
A mensagem ArgumentError aparece depois que executo um ./launcher rebuild app na minha instância auto-hospedada, dockerizada (instalada e funcionando há muitos anos). Isso acontece porque o unicorn não consegue gravar um arquivo pid no diretório /var/www/discourse/tmp/pids (dentro do contêiner). O log mostra um loop de mensagens ArgumentError enquanto ele tenta gravar esse arquivo a cada poucos segundos.
Eu faço login no contêiner a partir da máquina host via
docker exec -it app bash
De dentro do contêiner eu executo
find /var/www/discourse -printf '%u:%g\\n' | sort -t: -u
Isso me mostra uma lista do proprietário:grupos naquele diretório
root:root
discourse:discourse
Eu então torno o diretório /var/www/discourse/tmp/pids legível por todos via
chmod +r /var/www/discourse/tmp/pids
Neste ponto, um arquivo unicorn.pid é gravado nesse diretório. O arquivo tem um proprietário:grupo de discourse:www-data.
Minha correção foi alterar recursivamente a propriedade de /var/www/discourse para discourse:www-data.
chown -R discourse:www-data /var/www/discourse
Isso leva muito tempo, pois há mais de 100.000 arquivos. Provavelmente não é necessário fazer o diretório inteiro, mas foi o que eu fiz.
Por último, tornei o arquivo /etc/postgres/13/main/pb_hba.conf legível por todos
chmod +r /etc/postgres/13/pg_hba.conf
Reinicie o contêiner e tudo funciona.
Parece que a configuração de propriedade de arquivo não está exatamente correta, mas não sou versado o suficiente na arte de definir permissões para descobrir uma correção mais simples. O fato de o arquivo unicorn.pid ter um grupo www-data parece ser a chave.
Parece que eu precisaria executar este procedimento toda vez que fizer um rebuild (ou seja, sempre que alterar o arquivo app.yml). Observe também que não parece ser um problema com um plugin específico.
Espero que isso seja informação suficiente para um dos desenvolvedores dar uma olhada e dizer: “Claro! Eu só tenho que mudar x para consertar isso.”