11#! /usr/bin/env bash
22
3- # Copyright (c) 2021-2025 tteck
3+ # Copyright (c) 2021-2025 community-scripts ORG
44# Author: MickLesk (Canbiz) & vhsdream
55# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6- # Source: https://hoarder .app/
6+ # Source: https://karakeep .app/
77
88source /dev/stdin <<< " $FUNCTIONS_FILE_PATH"
99color
@@ -34,8 +34,8 @@ chmod +x /usr/bin/yt-dlp
3434msg_ok " Installed Additional Tools"
3535
3636msg_info " Installing Meilisearch"
37- cd /tmp
38- curl -fsSL " https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $( basename " https://github.com/ meilisearch/meilisearch/releases/latest/download/meilisearch .deb" )
37+ cd /tmp || exit
38+ curl -fsSL " https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o " meilisearch.deb"
3939$STD dpkg -i meilisearch.deb
4040curl -fsSL " https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o " /etc/meilisearch.toml"
4141MASTER_KEY=$( openssl rand -base64 12)
@@ -58,30 +58,30 @@ $STD apt-get install -y nodejs
5858$STD npm install -g
[email protected] 5959msg_ok " Installed Node.js"
6060
61- msg_info " Installing Hoarder "
62- cd /opt
63- RELEASE=$( curl -fsSL https://api.github.com/repos/hoarder -app/hoarder /releases/latest | grep " tag_name" | awk ' {print substr($2, 3, length($2)-4) }' )
64- curl -fsSL " https://github.com/hoarder -app/hoarder /archive/refs/tags/v${RELEASE} .zip" -o $( basename " https://github.com/hoarder-app/hoarder/archive/refs/tags/ v${RELEASE} .zip" )
65- unzip -q v${RELEASE} .zip
66- mv hoarder- ${RELEASE} /opt/hoarder
67- cd /opt/hoarder
61+ msg_info " Installing karakeep "
62+ cd /opt || exit
63+ RELEASE=$( curl -fsSL https://api.github.com/repos/karakeep -app/karakeep /releases/latest | grep " tag_name" | awk ' {print substr($2, 3, length($2)-4) }' )
64+ curl -fsSL " https://github.com/karakeep -app/karakeep /archive/refs/tags/v${RELEASE} .zip" -o " v${RELEASE} .zip"
65+ unzip -q " v${RELEASE} .zip"
66+ mv karakeep- " ${RELEASE} " /opt/karakeep
67+ cd /opt/karakeep || exit
6868corepack enable
6969export PUPPETEER_SKIP_DOWNLOAD=" true"
7070export NEXT_TELEMETRY_DISABLED=1
7171export CI=" true"
72- cd /opt/hoarder /apps/web
72+ cd /opt/karakeep /apps/web || exit
7373$STD pnpm install --frozen-lockfile
7474$STD pnpm exec next build --experimental-build-mode compile
75- cp -r /opt/hoarder /apps/web/.next/standalone/apps/web/server.js /opt/hoarder /apps/web
76- cd /opt/hoarder /apps/workers
75+ cp -r /opt/karakeep /apps/web/.next/standalone/apps/web/server.js /opt/karakeep /apps/web
76+ cd /opt/karakeep /apps/workers || exit
7777$STD pnpm install --frozen-lockfile
7878
79- export DATA_DIR=/opt/hoarder_data
80- HOARDER_SECRET =$( openssl rand -base64 36 | cut -c1-24)
81- mkdir -p /etc/hoarder
82- cat << EOF >/etc/hoarder/hoarder .env
79+ export DATA_DIR=/opt/karakeep_data
80+ karakeep_SECRET =$( openssl rand -base64 36 | cut -c1-24)
81+ mkdir -p /etc/karakeep
82+ cat << EOF >/etc/karakeep/karakeep .env
8383SERVER_VERSION=$RELEASE
84- NEXTAUTH_SECRET="$HOARDER_SECRET "
84+ NEXTAUTH_SECRET="$karakeep_SECRET "
8585NEXTAUTH_URL="http://localhost:3000"
8686DATA_DIR="$DATA_DIR "
8787MEILI_ADDR="http://127.0.0.1:7700"
@@ -99,11 +99,11 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
9999# INFERENCE_IMAGE_MODEL="gpt-4o-mini"
100100EOF
101101echo " ${RELEASE} " > " /opt/${APPLICATION} _version.txt"
102- msg_ok " Installed Hoarder "
102+ msg_ok " Installed karakeep "
103103
104104msg_info " Running Database Migration"
105105mkdir -p ${DATA_DIR}
106- cd /opt/hoarder /packages/db
106+ cd /opt/karakeep /packages/db || exit
107107$STD pnpm migrate
108108msg_ok " Database Migration Completed"
109109
@@ -121,25 +121,25 @@ Restart=always
121121WantedBy=multi-user.target
122122EOF
123123
124- cat << EOF >/etc/systemd/system/hoarder -web.service
124+ cat << EOF >/etc/systemd/system/karakeep -web.service
125125[Unit]
126- Description=Hoarder Web
127- Wants=network.target hoarder -workers.service
128- After=network.target hoarder -workers.service
126+ Description=karakeep Web
127+ Wants=network.target karakeep -workers.service
128+ After=network.target karakeep -workers.service
129129
130130[Service]
131131ExecStart=pnpm start
132- WorkingDirectory=/opt/hoarder /apps/web
133- EnvironmentFile=/etc/hoarder/hoarder .env
132+ WorkingDirectory=/opt/karakeep /apps/web
133+ EnvironmentFile=/etc/karakeep/karakeep .env
134134Restart=always
135135
136136[Install]
137137WantedBy=multi-user.target
138138EOF
139139
140- cat << EOF >/etc/systemd/system/hoarder -browser.service
140+ cat << EOF >/etc/systemd/system/karakeep -browser.service
141141[Unit]
142- Description=Hoarder Headless Browser
142+ Description=karakeep Headless Browser
143143After=network.target
144144
145145[Service]
@@ -151,32 +151,32 @@ Restart=always
151151WantedBy=multi-user.target
152152EOF
153153
154- cat << EOF >/etc/systemd/system/hoarder -workers.service
154+ cat << EOF >/etc/systemd/system/karakeep -workers.service
155155[Unit]
156- Description=Hoarder Workers
157- Wants=network.target hoarder -browser.service meilisearch.service
158- After=network.target hoarder -browser.service meilisearch.service
156+ Description=karakeep Workers
157+ Wants=network.target karakeep -browser.service meilisearch.service
158+ After=network.target karakeep -browser.service meilisearch.service
159159
160160[Service]
161161ExecStart=pnpm start:prod
162- WorkingDirectory=/opt/hoarder /apps/workers
163- EnvironmentFile=/etc/hoarder/hoarder .env
162+ WorkingDirectory=/opt/karakeep /apps/workers
163+ EnvironmentFile=/etc/karakeep/karakeep .env
164164Restart=always
165165TimeoutStopSec=5
166166
167167[Install]
168168WantedBy=multi-user.target
169169EOF
170170
171- systemctl enable -q --now meilisearch hoarder -browser hoarder -workers hoarder -web
171+ systemctl enable -q --now meilisearch karakeep -browser karakeep -workers karakeep -web
172172msg_ok " Created Services"
173173
174174motd_ssh
175175customize
176176
177177msg_info " Cleaning up"
178178rm -rf /tmp/meilisearch.deb
179- rm -f /opt/v${RELEASE} .zip
179+ rm -f /opt/v" ${RELEASE} " .zip
180180$STD apt-get autoremove -y
181181$STD apt-get autoclean -y
182182msg_ok " Cleaned"
0 commit comments