Skip to content

Commit 2a5ff9e

Browse files
committed
karakeep-install: remove yarn, remove MCP build commands, disable Playwright browser download
- add pnpm store prune to install and update to free some more space
1 parent 688d296 commit 2a5ff9e

File tree

2 files changed

+60
-68
lines changed

2 files changed

+60
-68
lines changed

ct/karakeep.sh

Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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

install/karakeep-install.sh

Lines changed: 9 additions & 17 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,13 @@ 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
62-
export PUPPETEER_SKIP_DOWNLOAD="true"
58+
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
6359
export NEXT_TELEMETRY_DISABLED=1
6460
export CI="true"
6561
cd /opt/karakeep/apps/web
@@ -70,15 +66,13 @@ $STD pnpm install --frozen-lockfile
7066
cd /opt/karakeep/apps/cli
7167
$STD pnpm install --frozen-lockfile
7268
$STD pnpm build
73-
cd /opt/karakeep/apps/mcp
74-
$STD pnpm install --frozen-lockfile
75-
$STD pnpm build
69+
$STD pnpm store prune
7670

7771
export DATA_DIR=/opt/karakeep_data
7872
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
7973
mkdir -p /etc/karakeep
8074
cat <<EOF >/etc/karakeep/karakeep.env
81-
SERVER_VERSION=$RELEASE
75+
SERVER_VERSION="$(cat ~/.karakeep)"
8276
NEXTAUTH_SECRET="$karakeep_SECRET"
8377
NEXTAUTH_URL="http://localhost:3000"
8478
DATA_DIR="$DATA_DIR"
@@ -112,7 +106,6 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
112106
# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50"
113107
# CRAWLER_ENABLE_ADBLOCKER=true
114108
EOF
115-
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
116109
msg_ok "Installed karakeep"
117110

118111
msg_info "Running Database Migration"
@@ -190,7 +183,6 @@ customize
190183

191184
msg_info "Cleaning up"
192185
rm -rf /tmp/meilisearch.deb
193-
rm -f /opt/v"${RELEASE}".zip
194186
$STD apt-get autoremove -y
195187
$STD apt-get autoclean -y
196188
msg_ok "Cleaned"

0 commit comments

Comments
 (0)