Skip to content

Commit dafb4af

Browse files
vhsdreamMickLesk
andauthored
karakeep-install: Disable Playwright browser download, remove MCP build (#5833)
Co-authored-by: CanbiZ <[email protected]>
1 parent 88e3a33 commit dafb4af

File tree

2 files changed

+68
-67
lines changed

2 files changed

+68
-67
lines changed

ct/karakeep.sh

Lines changed: 59 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -27,59 +27,67 @@ 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+
40+
msg_info "Updating yt-dlp"
41+
$STD yt-dlp --update-to nightly
42+
msg_ok "Updated yt-dlp"
43+
44+
msg_info "Prepare update"
45+
if [[ -f /opt/${APP}_version.txt && "$(cat /opt/${APP}_version.txt)" < "0.23.0" ]]; then
46+
$STD apt-get install -y graphicsmagick ghostscript
8247
fi
48+
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
49+
mkdir -p /etc/karakeep
50+
mv /opt/karakeep/.env /etc/karakeep/karakeep.env
51+
fi
52+
rm -rf /opt/karakeep
53+
msg_ok "Update prepared"
54+
55+
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
56+
if command -v corepack; then
57+
$STD corepack disable
58+
fi
59+
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
60+
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
61+
62+
msg_info "Updating ${APP} to v${RELEASE}"
63+
export PUPPETEER_SKIP_DOWNLOAD="true"
64+
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
65+
export NEXT_TELEMETRY_DISABLED=1
66+
export CI="true"
67+
cd /opt/karakeep/apps/web
68+
$STD pnpm install --frozen-lockfile
69+
$STD pnpm build
70+
cd /opt/karakeep/apps/workers
71+
$STD pnpm install --frozen-lockfile
72+
cd /opt/karakeep/apps/cli
73+
$STD pnpm install --frozen-lockfile
74+
$STD pnpm build
75+
export DATA_DIR=/opt/karakeep_data
76+
cd /opt/karakeep/packages/db
77+
$STD pnpm migrate
78+
$STD pnpm store prune
79+
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
80+
msg_ok "Updated ${APP} to v${RELEASE}"
81+
82+
msg_info "Starting Services"
83+
systemctl start karakeep-browser karakeep-workers karakeep-web
84+
msg_ok "Started Services"
85+
86+
msg_info "Cleaning up"
87+
$STD apt-get autoremove -y
88+
$STD apt-get autoclean -y
89+
msg_ok "Cleaned"
90+
msg_ok "Updated Successfully"
8391
exit
8492
}
8593

install/karakeep-install.sh

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ $STD apt-get install -y \
2222
chromium/stable \
2323
chromium-common/stable \
2424
graphicsmagick \
25-
ghostscript
25+
ghostscript \
26+
jq
2627
msg_ok "Installed Dependencies"
2728

2829
msg_info "Installing Additional Tools"
@@ -48,18 +49,14 @@ sed -i \
4849
/etc/meilisearch.toml
4950
msg_ok "Installed Meilisearch"
5051

51-
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
52-
$STD npm install -g [email protected]
52+
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
53+
cd /opt/karakeep
54+
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
55+
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
5356

5457
msg_info "Installing karakeep"
55-
cd /opt
56-
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
57-
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
58-
$STD unzip "v${RELEASE}.zip"
59-
mv karakeep-"${RELEASE}" /opt/karakeep
60-
cd /opt/karakeep
61-
corepack enable
6258
export PUPPETEER_SKIP_DOWNLOAD="true"
59+
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
6360
export NEXT_TELEMETRY_DISABLED=1
6461
export CI="true"
6562
cd /opt/karakeep/apps/web
@@ -70,15 +67,13 @@ $STD pnpm install --frozen-lockfile
7067
cd /opt/karakeep/apps/cli
7168
$STD pnpm install --frozen-lockfile
7269
$STD pnpm build
73-
cd /opt/karakeep/apps/mcp
74-
$STD pnpm install --frozen-lockfile
75-
$STD pnpm build
70+
$STD pnpm store prune
7671

7772
export DATA_DIR=/opt/karakeep_data
7873
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
7974
mkdir -p /etc/karakeep
8075
cat <<EOF >/etc/karakeep/karakeep.env
81-
SERVER_VERSION=$RELEASE
76+
SERVER_VERSION="$(cat ~/.karakeep)"
8277
NEXTAUTH_SECRET="$karakeep_SECRET"
8378
NEXTAUTH_URL="http://localhost:3000"
8479
DATA_DIR="$DATA_DIR"
@@ -112,7 +107,6 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
112107
# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50"
113108
# CRAWLER_ENABLE_ADBLOCKER=true
114109
EOF
115-
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
116110
msg_ok "Installed karakeep"
117111

118112
msg_info "Running Database Migration"
@@ -190,7 +184,6 @@ customize
190184

191185
msg_info "Cleaning up"
192186
rm -rf /tmp/meilisearch.deb
193-
rm -f /opt/v"${RELEASE}".zip
194187
$STD apt-get autoremove -y
195188
$STD apt-get autoclean -y
196189
msg_ok "Cleaned"

0 commit comments

Comments
 (0)