aboutsummaryrefslogtreecommitdiff
path: root/docker/s6/gogs
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-04-10 22:58:55 +0800
committerGitHub <noreply@github.com>2020-04-10 22:58:55 +0800
commit5753d4cb87388c247e91eaf3ce641d309a45e760 (patch)
tree1c0fcb8aca44f620dea2658d073bcde3736169d8 /docker/s6/gogs
parente186a3d2c95aee3c652b010c2c08ed771590b86b (diff)
Revert "docker: fix the bug of using root account to create `/d… (#6085)
This reverts commit f3b05961aae82fa3e19c47f03c78974cf793fda3.
Diffstat (limited to 'docker/s6/gogs')
2 files changed, 14 insertions, 2 deletions
diff --git a/docker/s6/gogs/run b/docker/s6/gogs/run
index edcf49ce..1aa70eb4 100755
--- a/docker/s6/gogs/run
+++ b/docker/s6/gogs/run
@@ -4,4 +4,5 @@ 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 f6e4bb70..8a95422a 100755
--- a/docker/s6/gogs/setup
+++ b/docker/s6/gogs/setup
@@ -1,12 +1,12 @@
#!/bin/sh
if ! test -d ~git/.ssh; then
- exec gosu $USER mkdir -p ~git/.ssh
+ mkdir -p ~git/.ssh
chmod 700 ~git/.ssh
fi
if ! test -f ~git/.ssh/environment; then
- exec gosu $USER echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
+ echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
chmod 600 ~git/.ssh/environment
fi
@@ -19,4 +19,15 @@ 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/