mirror of
https://github.com/gogs/gogs.git
synced 2025-12-24 01:00:00 +01:00
When running gogs after the first time, if the image has changed (update rebuild), the /app/gogs directory will have changed owner back to root:root, but /data will likely not be since the data directories are likely to be persistent. Checking /app/gogs separately fixes this.
34 lines
803 B
Bash
Executable File
34 lines
803 B
Bash
Executable File
#!/bin/sh
|
||
|
||
if ! test -d ~git/.ssh; then
|
||
mkdir -p ~git/.ssh
|
||
chmod 700 ~git/.ssh
|
||
fi
|
||
|
||
if ! test -f ~git/.ssh/environment; then
|
||
echo "GOGS_CUSTOM=${GOGS_CUSTOM}" > ~git/.ssh/environment
|
||
chmod 600 ~git/.ssh/environment
|
||
fi
|
||
|
||
cd /app/gogs
|
||
|
||
# Link volumed data with app data
|
||
ln -sfn /data/gogs/log ./log
|
||
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/
|