diff --git a/ct/tianji.sh b/ct/tianji.sh index 6ff10f9c..ce41532c 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -61,12 +61,29 @@ if (( $(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80 )); then fi RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Setting Container to Higher Resources" + pct set $CTID -memory 4096 + pct set $CTID -cores 4 + msg_ok "Set Container to Higher Resources" msg_info "Stopping ${APP} Service" systemctl stop tianji msg_ok "Stopped ${APP} Service" msg_info "Updating ${APP} to ${RELEASE}" - cd /opt/tianji - git checkout -f -q v${RELEASE} + cd /opt + cp /opt/tianji/src/server/.env /opt/.env + mv /opt/tianji /opt/tianji_bak + wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" + unzip -q v${RELEASE}.zip + rm -R + mv tianji-${RELEASE} /opt/tianji + cd tianji + pnpm install --filter @tianji/client... --config.dedupe-peer-dependents=false --frozen-lockfile >/dev/null 2>&1 + pnpm build:static >/dev/null 2>&1 + pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false >/dev/null 2>&1 + mkdir -p ./src/server/public >/dev/null 2>&1 + cp -r ./geo ./src/server/public >/dev/null 2>&1 + pnpm build:server >/dev/null 2>&1 + mv /opt/.env /opt/tianji/src/server/.env cd src/server pnpm db:migrate:apply >/dev/null 2>&1 echo "${RELEASE}" >/opt/${APP}_version.txt @@ -74,6 +91,13 @@ if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_v msg_info "Starting ${APP}" systemctl start tianji msg_ok "Started ${APP}" + msg_info "Cleaning up" + rm -R /opt/v${RELEASE}.zip + rm -rf /opt/tianji_bak + rm -rf /opt/tianji/src/client + rm -rf /opt/tianji/website + rm -rf /opt/tianji/reporter + msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}."