docker_gitea/setup.sh
2023-03-01 18:08:06 -05:00

24 lines
864 B
Bash
Executable File

#! /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_GROUP" -G docker -d "$GITEA_HOME" -m "$HOST_GIT_USER"
fi
install -d "$GITEA_HOME/data"
install -o $HOST_GIT_USER -g $HOST_GIT_GROUP -m 0700 -d "$GITEA_HOME/.ssh"
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