refactor(forgejo,readeck): use fetch_and_deploy_codeberg_release function (#11460)

This commit is contained in:
CanbiZ (MickLesk)
2026-02-02 13:53:21 +01:00
committed by GitHub
parent 2be8b94176
commit b86fabf8ab
4 changed files with 36 additions and 55 deletions

View File

@@ -27,35 +27,28 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Stopping Service" if check_for_codeberg_release "forgejo" "forgejo/forgejo"; then
systemctl stop forgejo msg_info "Stopping Service"
msg_ok "Stopped Service" systemctl stop forgejo
msg_ok "Stopped Service"
msg_info "Updating ${APP}" fetch_and_deploy_codeberg_release "forgejo" "forgejo/forgejo" "singlefile" "latest" "/opt/forgejo" "forgejo-*-linux-amd64"
RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') ln -sf /opt/forgejo/forgejo /usr/local/bin/forgejo
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
rm -rf /opt/forgejo/*
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
msg_ok "Updated ${APP}"
msg_info "Cleaning" if grep -q "GITEA_WORK_DIR" /etc/systemd/system/forgejo.service; then
rm -rf forgejo-$RELEASE-linux-amd64 msg_info "Updating Service File"
msg_ok "Cleaned" sed -i "s/GITEA_WORK_DIR/FORGEJO_WORK_DIR/g" /etc/systemd/system/forgejo.service
systemctl daemon-reload
msg_ok "Updated Service File"
fi
# Fix env var from older version of community script msg_info "Starting Service"
if grep -q "GITEA_WORK_DIR" /etc/systemd/system/forgejo.service; then systemctl start forgejo
msg_info "Updating Service File" msg_ok "Started Service"
sed -i "s/GITEA_WORK_DIR/FORGEJO_WORK_DIR/g" /etc/systemd/system/forgejo.service msg_ok "Updated successfully!"
systemctl daemon-reload else
msg_ok "Updated Service File" msg_ok "No update required. ${APP} is already at the latest version."
fi fi
msg_info "Starting Service"
systemctl start forgejo
msg_ok "Started Service"
msg_ok "Updated successfully!"
exit exit
} }

View File

@@ -27,22 +27,20 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Stopping Service" if check_for_codeberg_release "readeck" "readeck/readeck"; then
systemctl stop readeck msg_info "Stopping Service"
msg_ok "Stopped Service" systemctl stop readeck
msg_ok "Stopped Service"
msg_info "Updating Readeck" fetch_and_deploy_codeberg_release "readeck" "readeck/readeck" "singlefile" "latest" "/opt/readeck" "readeck-*-linux-amd64"
LATEST=$(curl -fsSL https://codeberg.org/readeck/readeck/releases/ | grep -oP '/releases/tag/\K\d+\.\d+\.\d+' | head -1)
rm -rf /opt/readeck/readeck
cd /opt/readeck
curl -fsSL "https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64" -o "readeck"
chmod a+x readeck
msg_ok "Updated Readeck"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start readeck systemctl start readeck
msg_ok "Started Service" msg_ok "Started Service"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already at the latest version."
fi
exit exit
} }

View File

@@ -14,17 +14,13 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y git $STD apt install -y \
$STD apt-get install -y git-lfs git \
git-lfs
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Forgejo" fetch_and_deploy_codeberg_release "forgejo" "forgejo/forgejo" "singlefile" "latest" "/opt/forgejo" "forgejo-*-linux-amd64"
mkdir -p /opt/forgejo ln -sf /opt/forgejo/forgejo /usr/local/bin/forgejo
RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "/opt/forgejo/forgejo-$RELEASE-linux-amd64"
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
msg_ok "Installed Forgejo"
msg_info "Setting up Forgejo" msg_info "Setting up Forgejo"
$STD adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git $STD adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

View File

@@ -13,13 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Readeck" fetch_and_deploy_codeberg_release "readeck" "readeck/readeck" "singlefile" "latest" "/opt/readeck" "readeck-*-linux-amd64"
LATEST=$(curl -fsSL https://codeberg.org/readeck/readeck/releases/ | grep -oP '/releases/tag/\K\d+\.\d+\.\d+' | head -1)
mkdir -p /opt/readeck
cd /opt/readeck
curl -fsSL "https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64" -o "readeck"
chmod a+x readeck
msg_ok "Installed Readeck"
msg_info "Creating Service" msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/readeck.service cat <<EOF >/etc/systemd/system/readeck.service