Desculpe pelo post duplo, fiquei confuso anteriormente com outro assunto não relacionado e o socket não estava mais sendo usado devido a um erro na minha configuração.
Aqui está onde estou:
[crit] 274#274: *7 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.160.1, server: <domain>, request: "GET / HTTP/2.0", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "<domain>"
Eu fiz chmod 777 shared/standalone/nginx.http.sock para contornar temporariamente esse problema de permissão, e agora recebi:
[error] 203#203: *1 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (111: Connection refused) while connecting to upstream, client: 192.168.160.1, server: <domain>, request: "GET / HTTP/2.0", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/", host: "<domain>"
Obviamente, estou fazendo algumas coisas erradas, mas não sei o quê. Por favor, note que não estou usando NPM, mas sim nginx-proxy, que é um pouco diferente, em particular, ele detecta automaticamente contêineres Docker que definem VIRTUAL_HOST para gerar uma configuração para eles. Portanto, adicionei apenas a parte location / { ... } relacionada ao Discourse e não toquei nos arquivos sites-available com as diretivas listen.
Notei que o contêiner do Discourse está em um loop de reinicialização com o status Restarting (100) 7 seconds ago. Isso ocorre porque ele reclama por não conseguir excluir o socket. De fato, não era um socket real, mas um diretório, suponho que devido a manipulações ruins de montagem de volumes para expô-lo ao contêiner nginx-proxy.
Removi o diretório, reiniciei o Discourse e agora é um socket. No entanto, não consigo expô-lo como um volume para o nginx-proxy.
Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting “/var/discourse/shared/standalone/nginx.http.sock” to rootfs at “/var/discourse/shared/standalone/nginx.http.sock”: mount /var/discourse/shared/standalone/nginx.http.sock:/var/discourse/shared/standalone/nginx.http.sock (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
Acontece que eu só precisava montar o socket em /tmp/nginx.http.sock em vez de manter o mesmo caminho. Finalmente consegui, parece!