Nginx.http.sock recriado com contexto incorreto do selinux

Tenho uma instância do Discourse sendo proxy por trás do Apache e se comunicando via socket, conforme descrito aqui.

O SELinux está habilitado, então, para conceder permissão ao httpd de usar o socket, atribuí ao socket um contexto em que o httpd tem permissão de leitura e gravação, conforme recomendado:

semanage fcontext -a -t httpd_sys_rw_content_t /var/discourse/shared/standalone/nginx.http.sock
restorecon /var/discourse/shared/standalone/nginx.http.sock

Isso funciona. É ótimo!

(Ponto lateral: seria um contexto mais apropriado httpd_var_run_t, já que o socket em si não é conteúdo e este é o contexto usado pelo httpd para outras infraestruturas de tempo de execução?)

No entanto, sempre que o contêiner do Discourse é reiniciado, o arquivo de socket é recriado com seu contexto original, e não o novo — por isso preciso executar restorecon nele antes que o Apache possa se comunicar com o Discourse. É fácil esquecer de fazer isso e acabar com um fórum inacessível. Pensei em usar um script do cron para executar restorecon periodicamente, para não ter que lembrar de fazer manualmente, mas isso é um hack feio.

Como posso garantir que o arquivo de socket receba o contexto correto ao ser criado (ou, pelo menos, que seu contexto seja redefinido como parte do processo de criação)?

Eu criaria um script de reinicialização que iniciasse o contêiner e alterasse as permissões (e outro que fizesse uma reconstrução).

O que um script de reinicialização não detectaria é fazer atualizações via web a partir do painel de administração — foi isso que me pegou da última vez e me fez questionar se haveria uma solução para todos os casos.

Também devo dizer: não entendo por que o socket não recebe o contexto correto ao ser criado. O SELinux claramente sabe qual deve ser o contexto padrão para o socket, conforme mostra a execução de restorecon. (Além disso, consigo ver a entrada para o socket criada ao executar semanage fcontext em /etc/selinux/targeted/contexts/files/file_contexts.local.)