
.jpg)
SH-FOSS
c/sh-fossSH-FOSS
Hoarder - All-in-one Bookmarking & Note-taking App

Hoarder is a self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search.
Before we continue, the developer of Hoarder leaves a note on its GitHub repo just to clear some confusion (if any):
Hoarder is an independent, non-commercial project. It is not affiliated with, endorsed by, or connected to Hordr.app or its owners.
When this post is written, the project has already starred over than 15K on GitHub and it is still under heavy development, so you should expect this app is far from stable. But hey, at least it is already usable, right?
Hoarder Main Features
- Bookmark links, take simple notes and store images.
- Automatic fetching for link titles, descriptions and images.
- Sort your bookmarks into lists.
- Full text search of all the content stored.
- AI-based (aka chatgpt) automatic tagging. With supports for local models using ollama!
- Chrome plugin and Firefox addon for quick bookmarking.
- An iOS app, and an Android app.
- Dark mode support (web only so far).
- Self-hosting first.
- [Planned] Downloading the content for offline reading.
If you would like to have a quick try, you can access the demo at https://try.hoarder.app. Login with the following credential:
email: demo@hoarder.app password: demodemo
Please note that the demo is seeded with some content, but it's in read-only mode to prevent abuse.
How to install using Docker?
First you need to make a directory in user home directory:
$ cd ~ $ mkdir hoarder-app
Inside the newly created directory, you need to create .env file contains the following:
HOARDER_VERSION=latest NEXTAUTH_SECRET=qxo0NvLCphGhkAu5fBcS1B0MxCeoig8G MEILI_MASTER_KEY=aqxYm5UWCphGhkAu5fBcSJAPbSzeoiC2X NEXTAUTH_URL=http://localhost:3000
You should change the random strings. You can use openssl rand -base64 36 in a seperate terminal window to generate the random strings. You should also change the NEXTAUTH_URL variable to point to your server address.
Then create a docker-compose.yml file with the following configuration:
services: web: image: ghcr.io/hoarder-app/hoarder:latest restart: unless-stopped volumes: - /docker/hoarder/data:/data ports: - 3333:3000 env_file: - .env environment: REDIS_HOST: redis MEILI_ADDR: http://meilisearch:7700 DATA_DIR: /data redis: image: redis:7.2-alpine restart: unless-stopped volumes: - /docker/hoarder/redis:/data chrome: image: gcr.io/zenika-hub/alpine-chrome:123 restart: unless-stopped command: - --no-sandbox - --disable-gpu - --disable-dev-shm-usage - --remote-debugging-address=0.0.0.0 - --remote-debugging-port=9222 - --hide-scrollbars meilisearch: image: getmeili/meilisearch:v1.6 restart: unless-stopped env_file: - .env environment: MEILI_NO_ANALYTICS: "true" volumes: - /docker/hoarder/meilisearch:/meili_data workers: image: ghcr.io/hoarder-app/hoarder-workers:latest restart: unless-stopped volumes: - /docker/hoarder/data:/data env_file: - .env environment: REDIS_HOST: redis MEILI_ADDR: http://meilisearch:7700 BROWSER_WEB_URL: http://chrome:9222 DATA_DIR: /data # OPENAI_API_KEY: ... depends_on: web: condition: service_started volumes: redis: meilisearch: data:
To enable automatic tagging, you'll need to configure OpenAI. This is optional though but highly recommended.
- Follow OpenAI's help to get an API key.
- Add the OpenAI API key to the env file:
OPENAI_API_KEY=<key>
Now let's build the docker-compose by running
$ docker compose up -d
If everything done right, you can access Hoarder at localhost:3000.
Technology stacks
If you're wondering what are the tech stacks that is powering Hoarder, they are:
- NextJS for the web app. Using app router.
- Drizzle for the database and its migrations.
- NextAuth for authentication.
- tRPC for client->server communication.
- Puppeteer for crawling the bookmarks.
- OpenAI because AI is so hot right now.
- Meilisearch for the full content search.
You can find more about Hoarder at its Github repository: https://github.com/hoarder-app/hoarder?ref=reditor.co
Latest Discussions
SH-FOSS
SH-FOSS (Self-hosted & Free Open Source Software) - is an independent and open community to help you learn more about self-hosting and open-source software.
Community Rules
There are no rules in this community yet.
Ida Bagus Gede Pramana Adi Putra
Remote Software Developer for Zebralution GmbH (Lismio), Co-Founder of Reditor.com, Kodekativ.co, and Kataloogi.com under Codekraf Inc."}