133 lines
4.2 KiB
Bash
133 lines
4.2 KiB
Bash
# are requirements satisfied
|
|
if ! command -v jq &> /dev/null
|
|
then
|
|
echo "---"
|
|
echo "⚠️ Benötigte Abhängigkeiten fehlen! ⚠️"
|
|
echo "Bitte installiere 'jq' um fortzufahren => sudo apt install jq -y"
|
|
echo "---"
|
|
exit
|
|
fi
|
|
|
|
if ! command -v curl &> /dev/null
|
|
then
|
|
echo "---"
|
|
echo "⚠️ Dependencies not satisfied! ⚠️"
|
|
echo "Bitte installiere 'curl' um fortzufahren => sudo apt install curl -y"
|
|
echo "---"
|
|
exit
|
|
fi
|
|
|
|
|
|
# variablen setzen
|
|
gitea_latest_version=${1:-$(curl --silent "https://api.github.com/repos/go-gitea/gitea/releases/latest" | jq -r '.tag_name' 2>&1 | sed -e 's|.*-||' -e 's|^v||')}
|
|
gitea_download_url_default="https://github.com/go-gitea/gitea/releases/download/v${gitea_latest_version}/gitea-${gitea_latest_version}-linux-amd64"
|
|
deineIP="$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)"
|
|
pwd="$(pwd)"
|
|
dbuser="giteauser"
|
|
dbpassword=$(date +%s | sha256sum | base64 | head -c 32)
|
|
dbtable="giteadb"
|
|
|
|
echo ""
|
|
echo ""
|
|
echo " Gitea installer"
|
|
echo "-------------------------------------------------------------------------"
|
|
echo "author: Tim Riedl - uVulpos"
|
|
echo "license: MIT"
|
|
echo "sourcecode: https://github.com/uvulpos/gitea-installer"
|
|
echo "-------------------------------------------------------------------------"
|
|
echo ""
|
|
|
|
sleep 3s
|
|
|
|
# specify your version
|
|
echo "Bitte gib den Downloadlink zur jeweiligen Version an."
|
|
echo "Alternativ wird Version ${gitea_latest_version} (amd64) verwendet: ${gitea_download_url_default}"
|
|
echo "Such bitte deine benötigte Version heraus: https://github.com/go-gitea/gitea/releases"
|
|
|
|
read -p "-> " giteadownloader
|
|
if [[ -z ${giteadownloader} ]]; then
|
|
giteadownloader="${gitea_download_url_default}"
|
|
fi
|
|
echo "Du hast folgenden Link gewaehlt: ${giteadownloader}"
|
|
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "//-->> Update"
|
|
apt-get update -q >> /dev/null 2>&1
|
|
apt-get upgrade -q -y >> /dev/null 2>&1
|
|
|
|
echo "//-->> Installiere Pakete"
|
|
apt-get install git mariadb-server mariadb-client nano -q -y >> /dev/null 2>&1
|
|
|
|
echo "//-->> Erstelle nutzer: git"
|
|
adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git >> /dev/null 2>&1
|
|
cd /home/git/
|
|
|
|
echo "//-->> Gitea Herunterladen"
|
|
wget -q $giteadownloader -O gitea >> /dev/null 2>&1
|
|
chmod +x gitea
|
|
|
|
echo "//-->> Erstelle alle wichtigen Ordner"
|
|
mkdir -p /var/lib/gitea/custom
|
|
mkdir -p /var/lib/gitea/data
|
|
mkdir -p /var/lib/gitea/data/lfs
|
|
mkdir -p /var/lib/gitea/log
|
|
chown -R git:git /var/lib/gitea
|
|
chmod -R 750 /var/lib/gitea/
|
|
mkdir /etc/gitea
|
|
chown root:git /etc/gitea
|
|
chmod 770 /etc/gitea
|
|
|
|
# insert gitea user
|
|
echo "//-->> Erstelle die Datenbank"
|
|
mysql -e "CREATE USER '$dbuser'@'localhost' IDENTIFIED BY '$dbpassword';"
|
|
mysql -e "CREATE DATABASE $dbtable;"
|
|
mysql -e "GRANT ALL PRIVILEGES ON $dbtable . * TO '$dbuser'@'localhost';"
|
|
mysql -e "FLUSH PRIVILEGES;"
|
|
|
|
# systemvariable setzen
|
|
echo "//-->> Systemvariablen setzen"
|
|
export GITEA_WORK_DIR=/var/lib/gitea/ >> /dev/null 2>&1
|
|
|
|
echo "//-->> Kopiere Gitea ins Verzeichnis: /usr/local/bin/gitea (Ersetze dort die Binary um Gitea zu aktualisieren.)"
|
|
mv gitea /usr/local/bin/gitea
|
|
|
|
# erstelle gitea als service
|
|
echo "//-->> Erstelle Gitea als Service"
|
|
cp "$pwd/config/gitea-service.txt" "/etc/systemd/system/gitea.service"
|
|
systemctl enable gitea >> /dev/null 2>&1
|
|
service gitea start >> /dev/null 2>&1
|
|
|
|
if [[ run_ci_tests == 0 ]]; then
|
|
|
|
while true; do
|
|
read -p "Möchtest du deine Datenbank absichern? [Y/n]" yn
|
|
case $yn in
|
|
[Yy]* ) mysql_secure_installation; break;;
|
|
[Jj]* ) mysql_secure_installation; break;;
|
|
[Nn]* ) break;;
|
|
* ) echo "FEHLER! Bitte antworte mit ja oder nein";;
|
|
esac
|
|
done
|
|
|
|
fi
|
|
|
|
echo ""
|
|
echo ""
|
|
# datenbankverbindung ausgeben
|
|
echo "##########################################################################"
|
|
echo "Gitea wurde erfolgreich installiert!"
|
|
echo "Bitte öffne nun deinen bowser und besuche die webseite: http://$deineIP:3000"
|
|
echo ""
|
|
echo "--- Datenbank ---"
|
|
echo "username: $dbuser"
|
|
echo "password: $dbpassword"
|
|
echo "database: $dbtable"
|
|
echo ""
|
|
echo "author: Tim Riedl - uVulpos"
|
|
echo "license: MIT"
|
|
echo "sourcecode: https://github.com/uvulpos/gitea-installer"
|
|
echo "##########################################################################"
|
|
echo "Viel Spaß!"
|