From ba719a0b180982a45d994e0ab66ac7a4ea106bfe Mon Sep 17 00:00:00 2001 From: Joe Ferguson Date: Mon, 24 Sep 2018 17:01:35 -0700 Subject: [PATCH] Only chown things in the entrypoint that are not already owned by redmine Also only chmod when not the right permissions --- 3.3/docker-entrypoint.sh | 7 ++++--- 3.4/docker-entrypoint.sh | 7 ++++--- docker-entrypoint.sh | 7 ++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/3.3/docker-entrypoint.sh b/3.3/docker-entrypoint.sh index e0a4ff5a..c24cade3 100755 --- a/3.3/docker-entrypoint.sh +++ b/3.3/docker-entrypoint.sh @@ -76,7 +76,7 @@ case "$1" in file_env 'REDMINE_DB_ENCODING' 'utf8' mkdir -p "$(dirname "$REDMINE_DB_DATABASE")" - chown -R redmine:redmine "$(dirname "$REDMINE_DB_DATABASE")" + find "$(dirname "$REDMINE_DB_DATABASE")" \! -user redmine -exec chown redmine '{}' + fi REDMINE_DB_ADAPTER="$adapter" @@ -129,9 +129,10 @@ case "$1" in fi # https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Step-8-File-system-permissions - chown -R redmine:redmine files log public/plugin_assets + find files log public/plugin_assets \! -user redmine -exec chown redmine:redmine '{}' + # directories 755, files 644: - chmod -R ugo-x,u+rwX,go+rX,go-w files log tmp public/plugin_assets + find files log tmp public/plugin_assets -type d \! -perm 755 -exec chmod 755 '{}' + + find files log tmp public/plugin_assets -type f \! -perm 644 -exec chmod 644 '{}' + if [ "$1" != 'rake' -a -n "$REDMINE_PLUGINS_MIGRATE" ]; then gosu redmine rake redmine:plugins:migrate diff --git a/3.4/docker-entrypoint.sh b/3.4/docker-entrypoint.sh index e0a4ff5a..c24cade3 100755 --- a/3.4/docker-entrypoint.sh +++ b/3.4/docker-entrypoint.sh @@ -76,7 +76,7 @@ case "$1" in file_env 'REDMINE_DB_ENCODING' 'utf8' mkdir -p "$(dirname "$REDMINE_DB_DATABASE")" - chown -R redmine:redmine "$(dirname "$REDMINE_DB_DATABASE")" + find "$(dirname "$REDMINE_DB_DATABASE")" \! -user redmine -exec chown redmine '{}' + fi REDMINE_DB_ADAPTER="$adapter" @@ -129,9 +129,10 @@ case "$1" in fi # https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Step-8-File-system-permissions - chown -R redmine:redmine files log public/plugin_assets + find files log public/plugin_assets \! -user redmine -exec chown redmine:redmine '{}' + # directories 755, files 644: - chmod -R ugo-x,u+rwX,go+rX,go-w files log tmp public/plugin_assets + find files log tmp public/plugin_assets -type d \! -perm 755 -exec chmod 755 '{}' + + find files log tmp public/plugin_assets -type f \! -perm 644 -exec chmod 644 '{}' + if [ "$1" != 'rake' -a -n "$REDMINE_PLUGINS_MIGRATE" ]; then gosu redmine rake redmine:plugins:migrate diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index e0a4ff5a..c24cade3 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -76,7 +76,7 @@ case "$1" in file_env 'REDMINE_DB_ENCODING' 'utf8' mkdir -p "$(dirname "$REDMINE_DB_DATABASE")" - chown -R redmine:redmine "$(dirname "$REDMINE_DB_DATABASE")" + find "$(dirname "$REDMINE_DB_DATABASE")" \! -user redmine -exec chown redmine '{}' + fi REDMINE_DB_ADAPTER="$adapter" @@ -129,9 +129,10 @@ case "$1" in fi # https://www.redmine.org/projects/redmine/wiki/RedmineInstall#Step-8-File-system-permissions - chown -R redmine:redmine files log public/plugin_assets + find files log public/plugin_assets \! -user redmine -exec chown redmine:redmine '{}' + # directories 755, files 644: - chmod -R ugo-x,u+rwX,go+rX,go-w files log tmp public/plugin_assets + find files log tmp public/plugin_assets -type d \! -perm 755 -exec chmod 755 '{}' + + find files log tmp public/plugin_assets -type f \! -perm 644 -exec chmod 644 '{}' + if [ "$1" != 'rake' -a -n "$REDMINE_PLUGINS_MIGRATE" ]; then gosu redmine rake redmine:plugins:migrate