Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Collectathon - Karakeep

Featured Replies

Ohh... I need an additional container for the "hoarder-worker" container, to fetch the data beeing "browserless". Sorry I missed that somehow.

 

Awesome. Now everything is set up and running. Thank you very much. I would not have figured that out by myself.

  • 2 weeks later...
  • Replies 100
  • Views 34.1k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Just went through similar issues - it worked fine for a while but recently noticed karakeep was not successfully pulling and traced it back to a timeout communicating with browserless. The solution wa

  • To get it to work for Karakeep 0.26 change the BROWSER_WEBSOCKET_URL to ws://[IP]:[PORT]/chromium/playwright?token=[TOKEN] i.e. insert "/playwright" See https://github.com/karakeep-app/karakeep/issue

  • Hi @Slothy2406 You need to add the port on the BROWSER_WEBSOCKET_URL - i.e. ws://[IP]:[PORT]/chromium/playwright?token=[TOKEN] I'm not sure on your IP setup, but it will likely be port 3000 or 3012,

Posted Images

Hey there,

 

today I had set up hoarder and everything works except meilisearch.

If I'm giving meilisearch a fixed IP it won't start (shuts down immediately), I can't connect to it, and in the docker dashboard there isn't shown the IP I assigned.

But when I'm set the network type to host it shows the IP on the dashboard, but I can't connect too.

I can't see any of the logs because it immediately shots down after starting.

Do you guys know, what I'm doing wrong?

 

Thanks and best regards!

 

grafik.thumb.png.c5a343fbd0413ae1d08564deb717ca01.png

  • Author
1 hour ago, Jaeggrono said:

Hey there,

 

today I had set up hoarder and everything works except meilisearch.

If I'm giving meilisearch a fixed IP it won't start (shuts down immediately), I can't connect to it, and in the docker dashboard there isn't shown the IP I assigned.

But when I'm set the network type to host it shows the IP on the dashboard, but I can't connect too.

I can't see any of the logs because it immediately shots down after starting.

Do you guys know, what I'm doing wrong?

 

Thanks and best regards!

In your Unraid terminal, type `docker logs meilisearch` and then paste the logs. That will give us more an idea of what is going on.

  • 1 month later...
  • Author

This is how to update from the hoarder-web and hoarder-worker containers to the unified hoarder container. Version < 0.16.0 will continue to work, however, it is highly recommended to update to this new unified image.

 

Easy

  1. Stop the existing Hoarder containers
  2. Install the new Hoarder template from Apps and copy the existing variable values to their matching keys
  3. Start the new container, ensure that no data is missing
  4. Remove both old Hoarder containers

Advanced

  1. Use the instructions provided in the 0.16.0 discussion page on GitHub to modify your existing hoarder-web container template

Edited by Collectathon

  • 3 weeks later...

What's better - Using this Docker image, or using Docker Compose Manager with upstream's docker-compose.yml file? Docker Compose seems like it'd be easier to maintain since it's the "official" way, but regular Docker integrates better with Unraid...

  • Author
31 minutes ago, Daniel15 said:

What's better - Using this Docker image, or using Docker Compose Manager with upstream's docker-compose.yml file? Docker Compose seems like it'd be easier to maintain since it's the "official" way, but regular Docker integrates better with Unraid...

It's up to personal preference. I prefer the native templates over Docker Compose Manager. With the Unraid template I can use my existing dependencies which is a bit easier to backup.

 

I wouldn't recommend pulling a docker-compose file every release. It would take a similar amount of maintenance with either method if there are breaking changes to the project.

5 minutes ago, Collectathon said:

It's up to personal preference. I prefer the native templates over Docker Compose Manager. With the Unraid template I can use my existing dependencies which is a bit easier to backup.

 

I wouldn't recommend pulling a docker-compose file every release. It would take a similar amount of maintenance with either method if there are breaking changes to the project.

Thanks for the reply. I got it working with your template.

 

Since I'm using a Docker bridge for everything, I needed to change the Meili URL to http://meilisearch:7700 and the browser address to ws://browserless-v2:3000?token=..... (host names as the names of the Docker containers) to get them to work properly. Looks like it's working great though! Now I need to try the OpenAI integration and import thousands of bookmarks from Pinboard :)

Edited by Daniel15

  • 1 month later...

Is the /data folder for Hoarder being stored inside the Docker file?  Is there a way to map it to a share instead?

  • Author
1 hour ago, MrMastodonFarm said:

Is the /data folder for Hoarder being stored inside the Docker file?  Is there a way to map it to a share instead?

The data for Hoarder is saved to the location specified by the Appdata. Inside the data folder is the assets folder and a db.db file. By default, this saves to a folder in your appdata.

 

If you want to split this up, you can add another path for /data/assets and map it wherever you want.

18 hours ago, Collectathon said:

The data for Hoarder is saved to the location specified by the Appdata. Inside the data folder is the assets folder and a db.db file. By default, this saves to a folder in your appdata.

 

If you want to split this up, you can add another path for /data/assets and map it wherever you want.

Thanks!  That worked perfectly.

  • 1 month later...

Hi, 
In the new version (0.19) there's no need for redis? or is it you who hasn't mapped it?

Thanks

  • Author
2 minutes ago, NASKLR said:

Hi, 
In the new version (0.19) there's no need for redis? or is it you who hasn't mapped it?

Thanks

As of 0.16.0, Redis was removed as a dependency. Related variables were removed from the updated template but wouldn't impact existing installations.

Tks

  • 2 weeks later...

HI, 
 

I can't seem to connect to Ollama with the new version of the app. I get the following error:
 

(Use `node --trace-deprecation ...` to show where the warning was created)
s [TRPCError]: No inference client configured
    at /app/apps/web/.next/server/chunks/1479.js:1:31491
    at h.middlewares (/app/apps/web/.next/server/chunks/6667.js:4:33575)
    at a (/app/apps/web/.next/server/chunks/6667.js:4:32969)
    at Object.next (/app/apps/web/.next/server/chunks/6667.js:4:33081)
    at /app/apps/web/.next/server/chunks/1479.js:1:17255
    at async a (/app/apps/web/.next/server/chunks/6667.js:4:32963)
    at async t (/app/apps/web/.next/server/chunks/6667.js:4:32336)
    at async a (/app/apps/web/.next/server/chunks/6667.js:4:32963)
    at async a (/app/apps/web/.next/server/chunks/6667.js:4:32963)
    at async a (/app/apps/web/.next/server/chunks/6667.js:4:32963) {
  code: 'BAD_REQUEST',
  [cause]: undefined

 

Found a couple of relevant issues on the Github but I think your template has moved away from the worker version so not sure if they're applicable. 

 

https://github.com/hoarder-app/hoarder/issues/733
https://github.com/hoarder-app/hoarder/issues/660

 

I can connect to Ollama through VSCode on another machine on the network so I think that is unlikely to be the problem. 

Also attached my configuration for the container. Any points appreciated!!
 

Screenshot 2024-12-24 172713.png

Screenshot 2024-12-24 172703.png

Edited by Ascari

  • Author
3 hours ago, Ascari said:

I can connect to Ollama through VSCode on another machine on the network so I think that is unlikely to be the problem. 

Also attached my configuration for the container. Any points appreciated!!

Generally that error is caused by a misconfigured variable, although I cant see anything at first glance. Are you able to ping the Ollama instance from inside the Hoarder container?

I think that was it. I re-added all the Ollama related variables to the config and it started working. Thanks!

Wanted to toss up a hearty THANK YOU! I had seen Hoarder awhile ago but hadn't jumped in to getting it to work. 

Tried over this past weekend to get it working on my unraid server using the docker compose recommendation and couldn't get past issues with Chrome. Something in docker networking wasn't playing along well. I abandoned the effort and went with the community apps.

 

Something I learned along the way -  the default INFERENCE_CONTEXT_LENGTH (2048) doesn't handle some URLs and was causing errors in the Hoarder logs.   Since I am running local oLLama, I bumped this up quite a bit and have gotten no failures on generating tags. It's an item of note -  was getting about a 50% success rate on auto-tag generation prior to the change

 

Edited by trillium

Dumb comment, but I just installed this and I think Unraid has modified how the formatting is handled. When you add/edit the docker image, it shows the "additional requirements" with what I can only guess is a "br" tag with html stripped out:

image.png.3c8c930d8211d09b7c8e367f22f68cf3.png

 

I was really confused what brmeilisearch is, and why I couldn't find and "app" for it. I figured it out eventually, but there you go :) (maybe this is an Unraid issue, in which case, sorry!)

Edited by Chunks

  • 4 weeks later...

hi and thank you for making this tool available in Unraid.

I can't get it working. Today was my first time to try it.
Below is output from the "docker logs hoarder" command:
 

root@dunraid:~# docker logs hoarder
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service init-db-migration: starting
Running db migration script
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-db-migration successfully started
s6-rc: info: service svc-workers: starting
s6-rc: info: service svc-web: starting
s6-rc: info: service svc-workers successfully started
s6-rc: info: service svc-web successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
  ▲ Next.js 14.2.21
  - Local:        http://localhost:3000
  - Network:      http://0.0.0.0:3000

 ✓ Starting...
 ✓ Ready in 372ms

> @hoarder/[email protected] start:prod /app/apps/workers
> tsx index.ts

2025-01-24T04:45:08.100Z info: Workers version: 0.21.0
2025-01-24T04:45:08.116Z info: [crawler] Loading adblocker ...
(node:120) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
2025-01-24T04:45:09.948Z info: [Crawler] Browser connect on demand is enabled, won't proactively start the browser instance
2025-01-24T04:45:09.948Z info: Starting crawler worker ...
2025-01-24T04:45:09.948Z info: Starting inference worker ...
2025-01-24T04:45:09.949Z info: Starting search indexing worker ...
2025-01-24T04:45:09.949Z info: Starting tidy assets worker ...
2025-01-24T04:45:09.949Z info: Starting video worker ...
2025-01-24T04:45:09.950Z info: Starting feed worker ...
2025-01-24T04:45:09.950Z info: Starting asset preprocessing worker ...
(node:68) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
2025-01-24T04:45:16.003Z info: [Crawler][35] Will crawl "hhttps://www.website.article/article.html" for link with id "e0kkyoioazqbyyqryip8cci6"
2025-01-24T04:45:16.004Z info: [Crawler][35] Attempting to determine the content-type for the url https://www.website.article/article.html.html
2025-01-24T04:45:16.368Z info: [Crawler][35] Content-type for the url https://www.website.article/article.html is "text/html; charset=utf-8"
2025-01-24T04:45:16.369Z info: [Crawler] Connecting to existing browser websocket address: ws://localhost:3000?token=2BR6DgQzZL8md4Bk5rewy3K9k
2025-01-24T04:45:16.425Z error: [Crawler][35] Crawling job failed: [object Object]
undefined
MeiliSearchCommunicationError: fetch failed
    at node:internal/deps/undici/undici:13484:13
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
  code: 'INTERNAL_SERVER_ERROR',
  name: 'TRPCError',
  [cause]: o [MeiliSearchCommunicationError]: fetch failed
      at node:internal/deps/undici/undici:13484:13
      at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
    errno: undefined,
    code: undefined
  }
}
MeiliSearchCommunicationError: fetch failed
    at node:internal/deps/undici/undici:13484:13
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
  code: 'INTERNAL_SERVER_ERROR',
  name: 'TRPCError',
  [cause]: o [MeiliSearchCommunicationError]: fetch failed
      at node:internal/deps/undici/undici:13484:13
      at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
    errno: undefined,
    code: undefined
  }
}
MeiliSearchCommunicationError: fetch failed
    at node:internal/deps/undici/undici:13484:13
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
  code: 'INTERNAL_SERVER_ERROR',
  name: 'TRPCError',
  [cause]: o [MeiliSearchCommunicationError]: fetch failed
      at node:internal/deps/undici/undici:13484:13
      at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
    errno: undefined,
    code: undefined
  }
}
MeiliSearchCommunicationError: fetch failed
    at node:internal/deps/undici/undici:13484:13
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
  code: 'INTERNAL_SERVER_ERROR',
  name: 'TRPCError',
  [cause]: o [MeiliSearchCommunicationError]: fetch failed
      at node:internal/deps/undici/undici:13484:13
      at process.processTicksAndRejections (node:internal/process/task_queues:105:5) {
    errno: undefined,
    code: undefined
  }
}
2025-01-24T04:45:44.346Z info: [Crawler][36] Will crawl "https://www.website.article/article.html" for link with id "e0kkyoioazqbyyqryip8cci6"
2025-01-24T04:45:44.346Z info: [Crawler][36] Attempting to determine the content-type for the url hhttps://www.website.article/article.html
2025-01-24T04:45:44.572Z info: [Crawler][36] Content-type for the url https://www.website.article/article.html is "text/html; charset=utf-8"
2025-01-24T04:45:44.572Z info: [Crawler] Connecting to existing browser websocket address: ws://localhost:3000?token=2BR6DgQzZL8dm4Bk5rewy3K9k
2025-01-24T04:45:44.577Z error: [Crawler][36] Crawling job failed: [object Object]
undefined

 

below is the output from the "docker logs meilisearch:"

 

Config file path:       "none"
Database path:          "./data.ms"
Server listening on:    "http://0.0.0.0:7700"
Environment:            "production"
Commit SHA:             "0df84bbba7db46680e38843dd6454257161a282f"
Commit date:            "2024-06-27T12:47:08Z"
Package version:        "1.9.0"

Thank you for using Meilisearch!


We collect anonymized analytics to improve our product and your experience. To learn more, including how to turn off analytics, visit our dedicated documentation page: https://www.meilisearch.com/docs/learn/what_is_meilisearch/telemetry

Anonymous telemetry:    "Enabled"
Instance UID:           "33c338a4-e12a-438a-b95f-65ceceb7aa6b"

A master key has been set. Requests to Meilisearch won't be authorized unless you provide an authentication key.

Check out Meilisearch Cloud!    https://www.meilisearch.com/cloud?utm_campaign=oss&utm_source=engine&utm_medium=cli
Documentation:                  https://www.meilisearch.com/docs
Source code:                    https://github.com/meilisearch/meilisearch
Discord:                        https://discord.meilisearch.com

2025-01-24T04:31:26.380773Z  INFO actix_server::builder: starting 4 workers
2025-01-24T04:31:26.380810Z  INFO actix_server::server: Actix runtime found; starting in Actix runtime

 

and browserless-v2:

 

root@unraid:~# docker logs browserless-v2
  browserless.io:limiter:info  Concurrency: 10 queue: 10 timeout: 300000ms +0ms
  browserless.io:index:info  
---------------------------------------------------------
| browserless.io
| To read documentation and more, load in your browser:
|
| OpenAPI: http://0.0.0.0:3000/docs
| Full Documentation: https://docs.browserless.io/ 
---------------------------------------------------------


█▓▒
████▒
████▒
████▒   ▒██▓▒
████▒   ▒████
████▒   ▒████
████▒   ▒████
████▒   ▒████
████▒   ▒████
████▒   ▒██████▓▒
████▒   ▒██████████▒
████▒   ▒██████▓████
████▒   ▒█▓▓▒  ▒████
████▒          ▒████
████▒       ▒▓██████
████▒   ▒▓████████▓▒
████▓▓████████▓▒
██████████▓▒
  ▓███▓▒

 +0ms
  browserless.io:index:info  Running as user "blessuser" +0ms
  browserless.io:index:info  Starting import of HTTP Routes +0ms
  browserless.io:index:info  Starting import of WebSocket Routes +61ms
  browserless.io:router:trace  Registering HTTP POST /content?(/),/chromium/content?(/) +0ms
  browserless.io:router:trace  Registering HTTP POST /download?(/),/chromium/download?(/) +0ms
  browserless.io:router:trace  Registering HTTP POST /function?(/),/chromium/function?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /json/list?(/) +0ms
  browserless.io:router:trace  Registering HTTP PUT /json/new?(/) +1ms
  browserless.io:router:trace  Registering HTTP GET /json/protocol?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /json/version?(/) +0ms
  browserless.io:router:trace  Registering HTTP POST /pdf?(/),/chromium/pdf?(/) +0ms
  browserless.io:router:trace  Registering HTTP POST /performance?(/),/chromium/performance?(/) +0ms
  browserless.io:router:trace  Registering HTTP POST /scrape?(/),/chromium/scrape?(/) +0ms
  browserless.io:router:trace  Registering HTTP POST /screenshot?(/),/chromium/screenshot?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /active?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /config?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /kill/+([0-9a-zA-Z-_])?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /meta?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /metrics/total?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /metrics?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /pressure?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET /sessions?(/) +0ms
  browserless.io:router:trace  Registering HTTP GET / +0ms
  browserless.io:router:trace  Registering WebSocket "/devtools/browser/*" +0ms
  browserless.io:router:trace  Registering WebSocket "?(/),/chromium?(/)" +0ms
  browserless.io:router:trace  Registering WebSocket "/devtools/page/*" +0ms
  browserless.io:router:trace  Registering WebSocket "/playwright/chromium?(/),/chromium/playwright?(/)" +1ms
  browserless.io:index:info  Imported and validated all route files, starting up server. +10ms
  browserless.io:server:info  Server instantiated with host "0.0.0.0" on port "3000 +0ms
  browserless.io:server:info  HTTP Server is starting +1ms
  browserless.io:server:info  HTTP Server is listening on http://0.0.0.0:3000
Use http://0.0.0.0:3000 for API and connect calls +5ms
  browserless.io:index:info  Starting metrics collection. +6ms
  browserless.io:index:info  Current period usage: {"date":1737693332810,"error":0,"maxConcurrent":0,"maxTime":null,"meanTime":0,"minTime":null,"rejected":0,"successful":0,"timedout":0,"totalTime":0,"units":0} +5m
  browserless.io:index:info  Saving metrics to "/tmp/browserless-metrics.json" +0ms
  browserless.io:index:info  Current period usage: {"date":1737693632823,"error":0,"maxConcurrent":0,"maxTime":null,"meanTime":0,"minTime":null,"rejected":0,"successful":0,"timedout":0,"totalTime":0,"units":0} +5m
  browserless.io:index:info  Saving metrics to "/tmp/browserless-metrics.json" +0ms
  browserless.io:index:info  Current period usage: {"date":1737693932853,"error":0,"maxConcurrent":0,"maxTime":null,"meanTime":0,"minTime":null,"rejected":0,"successful":0,"timedout":0,"totalTime":0,"units":0} +5m
  browserless.io:index:info  Saving metrics to "/tmp/browserless-metrics.json" +0ms
  browserless.io:index:info  Current period usage: {"date":1737694232872,"error":0,"maxConcurrent":0,"maxTime":null,"meanTime":0,"minTime":null,"rejected":0,"successful":0,"timedout":0,"totalTime":0,"units":0} +5m
  browserless.io:index:info  Saving metrics to "/tmp/browserless-metrics.json" +1ms
  browserless.io:index:info  Current period usage: {"date":1737694532900,"error":0,"maxConcurrent":0,"maxTime":null,"meanTime":0,"minTime":null,"rejected":0,"successful":0,"timedout":0,"totalTime":0,"units":0} +5m
  browserless.io:index:info  Saving metrics to "/tmp/browserless-metrics.json" +0ms

 

Links do not get processed, when i go to search bar, i get, "Something went wrong."

 

Any ideas where I went wrong?

 

Thank you.

Edited by tvmainia

  • Author
3 minutes ago, tvmainia said:

hi and thank you for making this tool available in Unraid.

I can't get it working. Today was my first time to try it.
 

Links do not get processed, when i go to search bar, i get, "Something went wrong."

 

Any ideas where I went wrong?

 

Thank you.

Could you please share screenshots of both your Hoarder and Meilsearch configs?

yes, of course! Thank you!

 

Screenshot 2025-01-23 at 11.09.54 PM.png

Screenshot 2025-01-23 at 11.09.28 PM.png

initially I had something on port 3000, uninstalled it. The hoarder gui works fine on ip:3200.

When I attempt to add links, they do not get processed

  • Author
Just now, tvmainia said:

initially I had something on port 3000, uninstalled it. The hoarder gui works fine on ip:3200.

When I attempt to add links, they do not get processed

Great, thanks for those. Since you are on the bridge network, change both the Meiliseach and Browserless address from `localhost` to your Unraid machine's local IP address. Leave NextAuth as is.

PROGRESS! Links are being processed now.

Search still doesn't work.

  • Author
Just now, tvmainia said:

PROGRESS! Links are being processed now.

Search still doesn't work.

Do you get the same Meilisearch errors as before in the Hoarder logs?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.