From f3b05961aae82fa3e19c47f03c78974cf793fda3 Mon Sep 17 00:00:00 2001 From: eightpigs Date: Tue, 7 Apr 2020 15:12:08 +0800 Subject: docker: fix the bug of using root account to create `/data/*` directory (#6068) * Fix the bug of using root account to create /data directory * Fix the bug that sshkey cannot be added in the container and remove unnecessary chown. --- docker/s6/gogs/run | 1 - docker/s6/gogs/setup | 15 ++------------- 2 files changed, 2 insertions(+), 14 deletions(-) (limited to 'docker/s6/gogs') diff --git a/docker/s6/gogs/run b/docker/s6/gogs/run index 1aa70eb4..edcf49ce 100755 --- a/docker/s6/gogs/run +++ b/docker/s6/gogs/run @@ -4,5 +4,4 @@ if test -f ./setup; then source ./setup fi -export USER=git exec gosu $USER /app/gogs/gogs web diff --git a/docker/s6/gogs/setup b/docker/s6/gogs/setup index 8a95422a..f6e4bb70 100755 --- a/docker/s6/gogs/setup +++ b/docker/s6/gogs/setup @@ -1,12 +1,12 @@ #!/bin/sh if ! test -d ~git/.ssh; then - mkdir -p ~git/.ssh + exec gosu $USER mkdir -p ~git/.ssh chmod 700 ~git/.ssh fi if ! test -f ~git/.ssh/environment; then - echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment + exec gosu $USER echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment chmod 600 ~git/.ssh/environment fi @@ -19,15 +19,4 @@ ln -sfn /data/gogs/data ./data # Backward Compatibility with Gogs Container v0.6.15 ln -sfn /data/git /home/git -# Only chown for the first time, owner of '/data' is 'git' inside Docker after installation -if [ $(stat -c '%U' /data) != 'git' ]; then - chown -R git:git /data ~git/ -fi - -# Check ownership of '/app/gogs' in case the image changed and '/data' is persistent -if [ $(stat -c '%U' /app/gogs) != 'git' ]; then - chown -R git:git /app/gogs -fi - - chmod 0755 /data /data/gogs ~git/ -- cgit v1.2.3