diff --git a/scripts/giteainstall.sh b/scripts/giteainstall.sh index 97f044f..b9a768f 100644 --- a/scripts/giteainstall.sh +++ b/scripts/giteainstall.sh @@ -18,42 +18,48 @@ do 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 Github.com, that is needed to continue this Install." + echo "I am unable to access one of the necessary domains that are needed to continue this Install." elif [[ "${#args[@]}" -eq 0 ]]; then -GITEA_VER="1.19.1" +# 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 wget -O /usr/local/bin/gitea htt://github.com/go-gitea/gitea/releases/download/v"$GITEA_VER"/gitea-"$GITEA_VER"-linux-amd64 -sudo chmod +x /usr/local/bin/gitea sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git -sudo mkdir -p /var/lib/gitea/{custom,data,log} -sudo chown -R git:git /var/lib/gitea -sudo chmod -R 750 /var/lib/gitea -sudo mkdir -v /etc/gitea -sudo chown -R root:git /etc/gitea -sudo chmod -R 770 /etc/gitea -sudo echo " -[Unit] -Description=Gitea -After=syslog.target -After=network.target +if [ -n "$(uname -a | grep i386)" ]; then + curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386" +fi -[Service] -RestartSec=3s -Type=simple -User=git -Group=git -WorkingDirectory=/var/lib/gitea/ +if [ -n "$(uname -a | grep x86_64)" ]; then + curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-amd64" +fi -ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini -Restart=always -Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea +if [ -n "$(uname -a | grep armv6l)" ]; then + curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-arm-6" +fi -[Install] -WantedBy=multi-user.target -" >> /etc/systemd/system/gitea.service +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 diff --git a/scripts/giteaupdate.sh b/scripts/giteaupdate.sh index f2ecb79..a477765 100644 --- a/scripts/giteaupdate.sh +++ b/scripts/giteaupdate.sh @@ -1,7 +1,8 @@ #!/usr/bin/env bash + while true do - read -r -p "Would you like to Update Gitea? [Y/n] " input + read -r -p "Would you like to update Gitea? [Y/n] " input case $input in [yY][eE][sS]|[yY]) @@ -15,20 +16,50 @@ do ;; 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 Github.com, that is needed to continue this Install." + echo "I am unable to access one of the necessary domains that are needed to continue this Install." elif [[ "${#args[@]}" -eq 0 ]]; then -GITEA_VER="1.19.1" +# 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 wget -O /usr/local/bin/gitea https://github.com/go-gitea/gitea/releases/download/v"$GITEA_VER"/gitea-"$GITEA_VER"-linux-amd64 -sudo chmod +x /usr/local/bin/gitea -sudo chown -R git:git /var/lib/gitea -sudo chmod -R 750 /var/lib/gitea -sudo chown -R root:git /etc/gitea -sudo chmod -R 770 /etc/gitea -sudo systemctl start gitea +if [ -n "$(uname -a | grep i386)" ]; then + curl -fsSL -o "/tmp/gitea" "https://dl.gitea.io/gitea/$VER/gitea-$VER-linux-386" fi -echo "Gitea has been updated!" \ No newline at end of file +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 chown git: /var/lib/gitea/{data,indexers,log} +sudo chmod 750 /var/lib/gitea/{data,indexers,log} +sudo chown root:git /etc/gitea +sudo chmod 770 /etc/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 \ No newline at end of file