Files
Gogs/docker/s6/gogs/setup
Achilleas Koutsou 91e9495148 docker: check "/app/gogs" separately on startup (#5895)
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.
2020-01-23 02:22:30 +08:00

34 lines
803 B
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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/