aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rwxr-xr-xdocker/s6/gogs/run1
-rwxr-xr-xdocker/s6/gogs/setup15
-rwxr-xr-xdocker/start.sh7
3 files changed, 17 insertions, 6 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/
diff --git a/docker/start.sh b/docker/start.sh
index 15f82609..9f9d40e9 100755
--- a/docker/start.sh
+++ b/docker/start.sh
@@ -33,17 +33,16 @@ create_volume_subfolder() {
# Create VOLUME subfolder
for f in /data/gogs/data /data/gogs/conf /data/gogs/log /data/git /data/ssh; do
if ! test -d $f; then
- exec gosu $USER mkdir -p $f
+ mkdir -p $f
fi
done
}
setids() {
- export USER=git
PUID=${PUID:-1000}
PGID=${PGID:-1000}
- groupmod -o -g "$PGID" $USER
- usermod -o -u "$PUID" $USER
+ groupmod -o -g "$PGID" git
+ usermod -o -u "$PUID" git
}
setids