Corrige permissão do volume de clientes/ via entrypoint, não build
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>
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
# Roda como root no início do container — DEPOIS que os volumes já estão
|
||||
# montados. É por isso que este chown existe aqui e não no Dockerfile: um
|
||||
# RUN chown no build só atinge a imagem, e o bind mount de clientes/ (e de
|
||||
# _derivados/) substitui o diretório — dono incluído — ao subir o container,
|
||||
# apagando qualquer chown feito em tempo de build.
|
||||
#
|
||||
# Sem `|| true` de propósito: se o chown falhar, é melhor a subida quebrar
|
||||
# alto agora do que o "Salvar SD.md" falhar baixo, depois, com permissão
|
||||
# negada.
|
||||
set -e
|
||||
chown -R sd:sd /app/clientes /app/_derivados
|
||||
exec gosu sd "$@"
|
||||
Reference in New Issue
Block a user