RUN chown no Dockerfile só atinge a imagem: o bind mount de clientes/
substitui o diretório (dono incluído) ao subir o container, apagando
qualquer chown feito em build. entrypoint.sh roda como root no início do
container, ajusta o dono do volume recém-montado e derruba privilégio
para o usuário sd (via gosu) antes do gunicorn.
.gitattributes fixa LF em *.sh: autocrlf do Git no Windows senão
reescreveria o script para CRLF, quebrando o shebang dentro do container.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>