Package Details: karakeep 0.25.0-1

Git Clone URL: https://aur.archlinux.org/karakeep.git (read-only, click to copy)
Package Base: karakeep
Description: A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search
Upstream URL: https://github.com/karakeep-app/karakeep
Licenses: AGPL-3.0-or-later
Replaces: hoarder
Submitter: evine
Maintainer: evine
Last Packager: evine
Votes: 3
Popularity: 0.029449
First Submitted: 2025-04-06 06:19 (UTC)
Last Updated: 2025-06-08 10:19 (UTC)

Pinned Comments

evine commented on 2025-04-06 06:45 (UTC) (edited on 2025-04-07 14:02 (UTC) by evine)

Hoarder has been renamed to Karakeep. The PKGBUILD has been fully updated to replace all references to hoarder with karakeep (note: hoarder-cli remains named hoarder-cli).
If you want to preserve your existing Hoarder data during the upgrade, please follow the steps below:


1. Stop the old services:

sudo systemctl stop hoarder-web.service hoarder-worker.service hoarder-browser.service
sudo systemctl disable --now hoarder.target

2. Uninstall Hoarder
(After uninstalling, you can manually remove the old hoarder user and group if needed.)

paru -R hoarder

3. Rename the old data directory:

sudo mv /var/lib/hoarder /var/lib/karakeep

4. Install Karakeep:

paru -S karakeep

5. Fix ownership of the data directory:

sudo chown -R karakeep:karakeep /var/lib/karakeep

6. Set Karakeep: Edit /etc/karakeep/karakeep.env

7. Start Karakeep:

sudo systemctl enable --now karakeep.target

Latest Comments

Chalix commented on 2025-06-10 21:57 (UTC)

Hi,

I cannot compile this package. I am using a clean chroot with extra-x86_64-build -c to build.

At first I get:

[...]
node_modules/puppeteer postinstall: Done
node_modules/postman-code-generators postinstall: Detected package manager: npm
node_modules/postman-code-generators postinstall: node:internal/child_process:285
node_modules/postman-code-generators postinstall:       const err = new ErrnoException(exitCode, syscall);
node_modules/postman-code-generators postinstall:                   ^
node_modules/postman-code-generators postinstall: Error: Command failed with ENOENT: npm --version
node_modules/postman-code-generators postinstall: spawn npm ENOENT
node_modules/postman-code-generators postinstall:     at ChildProcess._handle.onexit (node:internal/child_process:285:19)
node_modules/postman-code-generators postinstall:     at onErrorNT (node:internal/child_process:483:16)
node_modules/postman-code-generators postinstall:     at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
node_modules/postman-code-generators postinstall:   errno: -2,
node_modules/postman-code-generators postinstall:   code: 'ENOENT',
node_modules/postman-code-generators postinstall:   syscall: 'spawn npm',
node_modules/postman-code-generators postinstall:   path: 'npm',
[...]

Seems like npm is expected but not installed. So I added "npm" in the dependency list of the PKGBUILD. This time it was running further, but in the end I still got an error:

 422kB  ../../db_migrations/index.js
2028kB  ../../db_migrations/build/Release/better_sqlite3.node
4072kB  [14877ms] - ncc 0.38.3
  ▲ Next.js 14.2.25

   Creating an optimized production build ...
> [PWA] Compile server
> [PWA] Compile server
> [PWA] Compile client (static)
> [PWA] Auto register service worker with: /build/karakeep/src/karakeep/node_modules/next-pwa/register.js
> [PWA] Service worker: /build/karakeep/src/karakeep/apps/web/public/sw.js
> [PWA]   url: /sw.js
> [PWA]   scope: /
Failed to compile.

../../node_modules/parse5/dist/serializer/index.js
Module not found: Package path ./lib/escape.js is not exported from package /build/karakeep/src/karakeep/node_modules/parse5/node_modules/entities (see exports field in /build/karakeep/src/karakeep/node_modules/parse5/node_modules/entities/package.json)

https://nextjs.org/docs/messages/module-not-found

Import trace for requested module:
../../node_modules/parse5/dist/index.js
../../node_modules/parse5-parser-stream/dist/index.js
./node_modules/cheerio/dist/esm/index.js
./lib/importBookmarkParser.ts
./components/settings/ImportExport.tsx

../../node_modules/parse5/dist/tokenizer/index.js
Module not found: Package path ./lib/decode.js is not exported from package /build/karakeep/src/karakeep/node_modules/parse5/node_modules/entities (see exports field in /build/karakeep/src/karakeep/node_modules/parse5/node_modules/entities/package.json)

https://nextjs.org/docs/messages/module-not-found

Import trace for requested module:
../../node_modules/parse5/dist/index.js
../../node_modules/parse5-parser-stream/dist/index.js
./node_modules/cheerio/dist/esm/index.js
./lib/importBookmarkParser.ts
./components/settings/ImportExport.tsx


> Build failed because of webpack errors
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/chalix/build

I am struggeling to understand where the problem is. Is it a problem with Karakeep or with this PKGBUILD? I also had the same issue with the previous version v24.1 using this PKGBUILD.

evine commented on 2025-04-06 06:45 (UTC) (edited on 2025-04-07 14:02 (UTC) by evine)

Hoarder has been renamed to Karakeep. The PKGBUILD has been fully updated to replace all references to hoarder with karakeep (note: hoarder-cli remains named hoarder-cli).
If you want to preserve your existing Hoarder data during the upgrade, please follow the steps below:


1. Stop the old services:

sudo systemctl stop hoarder-web.service hoarder-worker.service hoarder-browser.service
sudo systemctl disable --now hoarder.target

2. Uninstall Hoarder
(After uninstalling, you can manually remove the old hoarder user and group if needed.)

paru -R hoarder

3. Rename the old data directory:

sudo mv /var/lib/hoarder /var/lib/karakeep

4. Install Karakeep:

paru -S karakeep

5. Fix ownership of the data directory:

sudo chown -R karakeep:karakeep /var/lib/karakeep

6. Set Karakeep: Edit /etc/karakeep/karakeep.env

7. Start Karakeep:

sudo systemctl enable --now karakeep.target

StefanT commented on 2025-02-28 18:10 (UTC)

For some reason I do not understand this fails to build for me when pnpm tries to apply the included patch for xcode. I had to remove the patch from the package.json file and apply it old school with patch.

index 7162ae4..ee96b95 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -37,6 +37,7 @@ prepare() {
         echo "Please uninstall 'yarn' first..."
         exit 1
     fi
+    sed -i 's,"xcode@3.0.1": "patches/xcode@3.0.1.patch",,' hoarder/package.json
 }

 build() {
@@ -50,6 +51,7 @@ build() {
     cd "${pkgname}"
     corepack use $(jq -r '.packageManager' package.json)
     pnpm install
+    patch -p1 -N -i $PWD/patches/xcode@3.0.1.patch -d node_modules/xcode
     cd packages/db
     pnpm dlx @vercel/ncc build migrate.ts -o ../../db_migrations
     cp -R drizzle ../../db_migrations

evine commented on 2025-02-03 01:45 (UTC)

@kageyama This will not delete DATA_DIR.

kageyama commented on 2025-01-27 07:37 (UTC)

DATA_DIR - The path for the persistent data directory. This is where the db and the uploaded assets live.

In the service file DATA_DIR=/var/lib/hoarder and these's .tmpfiles for this directory. Won't this delete the data_dir ?

evine commented on 2024-09-04 01:56 (UTC) (edited on 2025-01-18 10:48 (UTC) by evine)

  • Do not use nodejs 22.7.0/22.8.0 to make.
  • After upgrading nodejs, you need to recompile.
  • Can't install yarn.

evine commented on 2024-05-27 10:01 (UTC) (edited on 2024-06-14 05:23 (UTC) by evine)

  • If you want to search full text, you can install meilisearch and set relative environment variables before starting hoarder.
  • If you want to automatically tag, you can install ollama and set relative environment variables, or set Open-AI api key environment variables.
  • Environment variables can be set in /etc/hoarder/hoarder.env according to https://docs.hoarder.app/configuration. The environment variables that are not specified in /etc/hoarder/hoarder.env need to be added by yourself.
  • Run sudo systemctl enable --now hoarder.target to start hoarder after installed.
  • hoarder-cli has been separated as a separate package.