@@ -27,59 +27,59 @@ function update_script() {
2727 msg_error " No ${APP} Installation Found!"
2828 exit
2929 fi
30- RELEASE=$( curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep " tag_name" | awk ' {print substr($2, 3, length($2)-4) }' )
31- PREV_RELEASE=$( cat /opt/${APP} _version.txt)
32- if [[ ! -f /opt/${APP} _version.txt ]] || [[ " ${RELEASE} " != " ${PREV_RELEASE} " ]]; then
33- msg_info " Stopping Services"
34- systemctl stop karakeep-web karakeep-workers karakeep-browser
35- msg_ok " Stopped Services"
36- msg_info " Updating yt-dlp"
37- $STD yt-dlp --update-to nightly
38- msg_ok " Updated yt-dlp"
39- msg_info " Updating ${APP} to v${RELEASE} "
40- if [[ $( corepack -v) < " 0.31.0" ]]; then
41- $STD npm install -g
[email protected] 42- fi
43- if [[ " ${PREV_RELEASE} " < 0.23.0 ]]; then
44- $STD apt-get install -y graphicsmagick ghostscript
45- fi
46- cd /opt
47- if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
48- mkdir -p /etc/karakeep
49- mv /opt/karakeep/.env /etc/karakeep/karakeep.env
50- fi
51- rm -rf /opt/karakeep
52- curl -fsSL " https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE} .zip" -o " v${RELEASE} .zip"
53- $STD unzip " v${RELEASE} .zip"
54- mv karakeep-" ${RELEASE} " /opt/karakeep
55- cd /opt/karakeep/apps/web
56- $STD pnpm install --frozen-lockfile
57- $STD pnpm build
58- cd /opt/karakeep/apps/workers
59- $STD pnpm install --frozen-lockfile
60- cd /opt/karakeep/apps/cli
61- $STD pnpm install --frozen-lockfile
62- $STD pnpm build
63- cd /opt/karakeep/apps/mcp
64- $STD pnpm install --frozen-lockfile
65- $STD pnpm build
66- export DATA_DIR=/opt/karakeep_data
67- cd /opt/karakeep/packages/db
68- $STD pnpm migrate
69- sed -i " s/SERVER_VERSION=${PREV_RELEASE} /SERVER_VERSION=${RELEASE} /" /etc/karakeep/karakeep.env
70- msg_ok " Updated ${APP} to v${RELEASE} "
7130
72- msg_info " Starting Services"
73- systemctl start karakeep-browser karakeep-workers karakeep-web
74- msg_ok " Started Services"
75- msg_info " Cleaning up"
76- rm -R /opt/v" ${RELEASE} " .zip
77- echo " ${RELEASE} " > /opt/${APP} _version.txt
78- msg_ok " Cleaned"
79- msg_ok " Updated Successfully"
80- else
81- msg_ok " No update required. ${APP} is already at ${RELEASE} ."
31+ RELEASE=$( curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep " tag_name" | awk ' {print substr($2, 3, length($2)-4) }' )
32+ if [[ -f ~ /.karakeep && " $RELEASE " == " $( cat ~ /.karakeep) " ]]; then
33+ msg_ok " No update required. ${APP} is already at ${RELEASE} "
34+ exit
35+ fi
36+ msg_info " Stopping Services"
37+ systemctl stop karakeep-web karakeep-workers karakeep-browser
38+ msg_ok " Stopped Services"
39+ msg_info " Updating yt-dlp"
40+ $STD yt-dlp --update-to nightly
41+ msg_ok " Updated yt-dlp"
42+ msg_info " Updating ${APP} to v${RELEASE} "
43+ if [[ -f /opt/${APP} _version.txt && " $( cat /opt/${APP} _version.txt) " < " 0.23.0" ]]; then
44+ $STD apt-get install -y graphicsmagick ghostscript
8245 fi
46+ if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
47+ mkdir -p /etc/karakeep
48+ mv /opt/karakeep/.env /etc/karakeep/karakeep.env
49+ fi
50+ rm -rf /opt/karakeep
51+ fetch_and_deploy_gh_release " karakeep" " karakeep-app/karakeep"
52+ if command -v corepack; then
53+ corepack disable
54+ fi
55+ MODULE_VERSION=" $( jq -r ' .packageManager | split("@")[1]' /opt/karakeep/package.json) "
56+ NODE_VERSION=" 22" NODE_MODULE=" pnpm@${MODULE_VERSION} " setup_nodejs
57+ export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=" true"
58+ export NEXT_TELEMETRY_DISABLED=1
59+ export CI=" true"
60+ cd /opt/karakeep/apps/web
61+ $STD pnpm install --frozen-lockfile
62+ $STD pnpm build
63+ cd /opt/karakeep/apps/workers
64+ $STD pnpm install --frozen-lockfile
65+ cd /opt/karakeep/apps/cli
66+ $STD pnpm install --frozen-lockfile
67+ $STD pnpm build
68+ export DATA_DIR=/opt/karakeep_data
69+ cd /opt/karakeep/packages/db
70+ $STD pnpm migrate
71+ $STD pnpm store prune
72+ sed -i " s/^SERVER_VERSION=.*$/SERVER_VERSION=${RELEASE} /" /etc/karakeep/karakeep.env
73+ msg_ok " Updated ${APP} to v${RELEASE} "
74+
75+ msg_info " Starting Services"
76+ systemctl start karakeep-browser karakeep-workers karakeep-web
77+ msg_ok " Started Services"
78+ msg_info " Cleaning up"
79+ $STD apt-get autoremove -y
80+ $STD apt-get autoclean -y
81+ msg_ok " Cleaned"
82+ msg_ok " Updated Successfully"
8383 exit
8484}
8585
0 commit comments