If your bookmarks are getting out of hand, Hoarder can help. It’s a self-hosted, privacy-first bookmark manager designed to bring order to your digital life. With Meilisearch for fast indexing and Chrome for metadata extraction, this setup ensures a smooth and efficient experience. Here’s how to deploy it with Docker.
What’s in This Stack?
- Hoarder: The star of the show, managing your bookmarks and their metadata.
- Meilisearch: Provides search functionality so you can retrieve bookmarks at warp speed.
- Alpine Chrome: Handles rendering and extracting metadata from web pages.
The Docker Compose File
Here’s the Docker Compose configuration to deploy Hoarder with all its dependencies:
services:
hoarder:
image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
container_name: hoarder
restart: unless-stopped
volumes:
- /home/labib/hoarder:/data # Adjust this path
ports:
- "3999:3999"
env_file:
- .env
environment:
MEILI_ADDR: http://meilisearch:7700
BROWSER_WEB_URL: http://chrome:9222
DATA_DIR: /data
chrome:
image: gcr.io/zenika-hub/alpine-chrome:123
container_name: chrome
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
container_name: meilisearch
restart: unless-stopped
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
volumes:
meilisearch:
data:
Step-by-Step Deployment
Step 1: Prepare the Environment
- Install Docker and Docker Compose on your server or local machine.
- Create a
.env
file in the same directory as yourdocker-compose.yml
and add
HOARDER_VERSION=release
MEILI_MASTER_KEY=your_master_key
Step 2: Deploy the Stack
Run the following command to start the services:
docker-compose up -d
This will:
- Pull the required Docker images.
- Start the containers for Hoarder, Chrome, and Meilisearch.
- Set up persistent storage using the defined volumes.
Step 3: Access Hoarder
- Open your browser and go to
http://<your-server-ip>:3999
. - Configure Hoarder to connect to Meilisearch (
http://meilisearch:7700
) and Chrome (http://chrome:9222
). - Start adding bookmarks and enjoy the powerful search capabilities!
How It Works
- Hoarder uses Meilisearch to index your bookmarks, enabling near-instant search results.
- Alpine Chrome fetches metadata and preview data from the bookmarked URLs.
- Your data is stored securely in
/data
, ensuring persistence across container restarts.
Enhancements
- Enable HTTPS: Use a reverse proxy like Traefik or Caddy to secure access to your Hoarder instance.
- Scale Meilisearch: For larger datasets, you can scale Meilisearch with additional resources.
- Automated Backups: Periodically back up the
/data
volume to ensure your bookmarks are safe.
Wrapping It Up
Self-hosting Hoarder is the perfect way to declutter your digital life while keeping control of your data. With a few Docker containers and minimal configuration, you’re ready to organize and search your bookmarks like never before.
Give it a try and let me know how it transforms your workflow! 🚀