24 lines
		
	
	
		
			864 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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
 |