#! /bin/bash GITEA_HOME=/var/lib/gitea HOST_GIT_USER=git # this will be the user in the ssh git urls, e.g. git@blacka.com/org/repo.git HOST_GIT_GROUP=gitea HOST_GIT_UID=895 # create the 'git:gitea' user to run and own this thing # Note we want 'git' as the user, since every other git hosting system uses that if ! id -u "$HOST_GIT_UID" >/dev/null 2>&1; then groupadd -g "$HOST_GIT_UID" "$HOST_GIT_GROUP" useradd -u "$HOST_GIT_UID" -g "$HOST_GIT_USER" -G docker -d "$GITEA_HOME" -m "$HOST_GIT_USER" fi install -d "$GITEA_HOME/data" cat <<"EOF" | sudo tee $GITEA_HOME/docker-shell #!/bin/sh /usr/bin/docker exec -i -u git --env SSH_ORIGINAL_COMMAND="$SSH_ORIGINAL_COMMAND" gitea sh "$@" EOF sudo chmod +x $GITEA_HOME/docker-shell sudo usermod -s $GITEA_HOME/docker-shell git