Files
gitea-updater/gitea-update.sh
2024-10-14 19:07:45 +02:00

59 lines
1.8 KiB
Bash

#!/bin/bash
# Gitea-Update-Script by worgon12
# Variablen
GITEA_URL="https://dl.gitea.io/gitea"
INSTALL_PATH="/usr/local/bin/gitea"
BACKUP_PATH="/var/lib/gitea/backups"
CURRENT_VERSION=$(${INSTALL_PATH} --version | awk '{print $3}')
LATEST_VERSION=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
DOWNLOAD_URL="${GITEA_URL}/${LATEST_VERSION}/gitea-${LATEST_VERSION}-linux-amd64"
# Aktuelle Version anzeigen
echo "Aktuell installierte Version: ${CURRENT_VERSION}"
echo "Neueste verfügbare Version: ${LATEST_VERSION}"
# Überprüfen, ob eine neue Version verfügbar ist
if [ "$CURRENT_VERSION" == "$LATEST_VERSION" ]; then
echo "Gitea ist bereits auf dem neuesten Stand (${CURRENT_VERSION})."
exit 0
fi
# Backup erstellen
echo "Erstelle Backup der aktuellen Gitea-Version..."
mkdir -p ${BACKUP_PATH}
cp ${INSTALL_PATH} ${BACKUP_PATH}/gitea-$(date +"%Y-%m-%d").bak
# Gitea stoppen
echo "Stoppe Gitea-Dienst..."
sudo systemctl stop gitea
# Neueste Version herunterladen
echo "Lade Gitea ${LATEST_VERSION} herunter..."
wget -O /tmp/gitea ${DOWNLOAD_URL}
if [ $? -ne 0 ]; then
echo "Fehler beim Herunterladen der Gitea-Version ${LATEST_VERSION}. Überprüfe die Version und den Download-Link."
exit 1
fi
# Alte Version ersetzen
echo "Ersetze die alte Gitea-Version..."
chmod +x /tmp/gitea
sudo mv /tmp/gitea ${INSTALL_PATH}
# Berechtigungen anpassen
echo "Passe Berechtigungen an...
# INFO: -> gitea:gitea <- ist dein User der rechte hat gitea auszuführen -> Bitte anpassen"
sudo chown gitea:gitea ${INSTALL_PATH}
# Gitea starten
echo "Starte Gitea-Dienst neu..."
sudo systemctl start gitea
# Versionsinfo anzeigen
echo "Gitea wurde auf die neueste Version aktualisiert:"
${INSTALL_PATH} --version