73 lines
2.8 KiB
Bash
73 lines
2.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
while true
|
|
do
|
|
read -r -p "Would you like to install Gitea? [Y/n] " input
|
|
|
|
case $input in
|
|
[yY][eE][sS]|[yY])
|
|
break
|
|
;;
|
|
[nN][oO]|[nN])
|
|
break
|
|
;;
|
|
*)
|
|
echo "That wasn't an option..."
|
|
;;
|
|
esac
|
|
done
|
|
set -b
|
|
ping -c1 "github.com" &>"/dev/null"
|
|
ping -c1 "api.github.com" &>"/dev/null"
|
|
ping -c1 "dl.gitea.io" &>"/dev/null"
|
|
ping -c1 "raw.githubusercontent.com" &>"/dev/null"
|
|
if [[ "${?}" -ne 0 ]]; then
|
|
echo "I am unable to access one of the necessary domains that are needed to continue this Install."
|
|
elif [[ "${#args[@]}" -eq 0 ]]; then
|
|
# Check if curl is installed
|
|
if [ ! -x /usr/bin/curl ] ; then
|
|
CURL_NOT_EXIST=1
|
|
apt install -y curl
|
|
else
|
|
CURL_NOT_EXIST=0
|
|
fi
|
|
VER=$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's|[v,]||g' )
|
|
sudo systemctl stop gitea
|
|
sudo apt-get install git -y
|
|
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
|
|
if [ -n "$(uname -a | grep i386)" ]; then
|
|
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386"
|
|
fi
|
|
|
|
if [ -n "$(uname -a | grep x86_64)" ]; then
|
|
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64"
|
|
fi
|
|
|
|
if [ -n "$(uname -a | grep armv6l)" ]; then
|
|
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6"
|
|
fi
|
|
|
|
if [ -n "$(uname -a | grep armv7l)" ]; then
|
|
curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-7"
|
|
fi
|
|
|
|
sudo mv /tmp/gitea /usr/local/bin
|
|
sudo chmod +x /usr/local/bin/gitea
|
|
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
|
|
sudo chown git: /var/lib/gitea/{data,indexers,log}
|
|
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
|
|
sudo mkdir /etc/gitea
|
|
sudo chown root:git /etc/gitea
|
|
sudo chmod 770 /etc/gitea
|
|
curl -fsSL -o /etc/systemd/system/gitea.service https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable --now gitea
|
|
sudo systemctl start gitea
|
|
sudo ufw allow 3000
|
|
echo -e "=================================================================="
|
|
publicipaddress=$(curl -sS --connect-timeout 10 -m 60 https://ipv4.icanhazip.com/ || curl -sS --connect-timeout 10 -m 60 https://api.ipify.org )
|
|
intenalip=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
|
|
echo "Gitea Should be available at http://${intenalip}:3000"
|
|
echo "Or If you are using a VPS at http://${publicipaddress}:3000"
|
|
echo -e "=================================================================="
|
|
fi |