summaryrefslogtreecommitdiffstats
path: root/docker/root/usr
diff options
context:
space:
mode:
Diffstat (limited to 'docker/root/usr')
-rwxr-xr-xdocker/root/usr/bin/entrypoint41
-rw-r--r--docker/root/usr/local/bin/gitea15
2 files changed, 56 insertions, 0 deletions
diff --git a/docker/root/usr/bin/entrypoint b/docker/root/usr/bin/entrypoint
new file mode 100755
index 0000000..d9dbb3e
--- /dev/null
+++ b/docker/root/usr/bin/entrypoint
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+# Protect against buggy runc in docker <20.10.6 causing problems in with Alpine >= 3.14
+if [ ! -x /bin/sh ]; then
+ echo "Executable test for /bin/sh failed. Your Docker version is too old to run Alpine 3.14+ and Gitea. You must upgrade Docker.";
+ exit 1;
+fi
+
+if [ "${USER}" != "git" ]; then
+ # Rename user
+ sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd
+fi
+
+if [ -z "${USER_GID}" ]; then
+ USER_GID="`id -g ${USER}`"
+fi
+
+if [ -z "${USER_UID}" ]; then
+ USER_UID="`id -u ${USER}`"
+fi
+
+# Change GID for USER?
+if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then
+ sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group
+ sed -i -e "s/^${USER}:\([^:]*\):\([0-9]*\):[0-9]*/${USER}:\1:\2:${USER_GID}/" /etc/passwd
+fi
+
+# Change UID for USER?
+if [ -n "${USER_UID}" ] && [ "${USER_UID}" != "`id -u ${USER}`" ]; then
+ sed -i -e "s/^${USER}:\([^:]*\):[0-9]*:\([0-9]*\)/${USER}:\1:${USER_UID}:\2/" /etc/passwd
+fi
+
+for FOLDER in /data/gitea/conf /data/gitea/log /data/git /data/ssh; do
+ mkdir -p ${FOLDER}
+done
+
+if [ $# -gt 0 ]; then
+ exec "$@"
+else
+ exec /bin/s6-svscan /etc/s6
+fi
diff --git a/docker/root/usr/local/bin/gitea b/docker/root/usr/local/bin/gitea
new file mode 100644
index 0000000..3f78d65
--- /dev/null
+++ b/docker/root/usr/local/bin/gitea
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+###############################################################
+# This script sets defaults for gitea to run in the container #
+###############################################################
+
+# It assumes that you place this script as gitea in /usr/local/bin
+#
+# And place the original in /usr/lib/gitea with working files in /data/gitea
+GITEA="/app/gitea/gitea"
+WORK_DIR="/data/gitea"
+CUSTOM_PATH="/data/gitea"
+
+# Provide docker defaults
+GITEA_WORK_DIR="${GITEA_WORK_DIR:-$WORK_DIR}" GITEA_CUSTOM="${GITEA_CUSTOM:-$CUSTOM_PATH}" exec -a "$0" "$GITEA" $CONF_ARG "$@"