Skip to content

自建 Hoarder 剪藏服务取代 Cubox:解决隐私与成本问题

Published: at 09:21

Table of contents

Open Table of contents

前言

在数字信息爆炸的时代,许多科技囤积症患者们都需要一个网页的剪藏服务。在此之前,我一直使用 Cubox 作为数字囤积的主要服务。然而,Cubox 的一些问题让我萌生了自建开源的 Hoarder 以取而代之的想法。

取代 cubox 想法的由来

自建安装步骤

Hoarder 是一个开源项目,可以在 GitHub 上找到,具体 Linux 机器或群晖系统安装可以参考,官方文档或者参照 NasDaddy 的教程。

这边建议使用 Docker 进行安装 Docker Compose YAML 参考配置如下:

version: "3.8"
services:
  web:
    image: ghcr.io/hoarder-app/hoarder-web:${HOARDER_VERSION:-release}
    restart: unless-stopped
    volumes:
      - data:/data
    ports:
      - 3000: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:
      - 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:
      - meilisearch:/meili_data
  workers:
    image: ghcr.io/hoarder-app/hoarder-workers:${HOARDER_VERSION:-release}
    restart: unless-stopped
    volumes:
      - 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:

其中要说明的是 .env 环境变量,需要自己创建 .env 文件并在其中指定所需的环境变量。Docker Compose 不会自动创建这个文件。启动时,Docker Compose 会读取你提供的 .env 文件,并将其中的变量注入到相应的服务中,每次修改 .env 需要重构 Docker Compose

HOARDER_VERSION=release
NEXTAUTH_SECRET=xxxx # xxx为随机字符串
MEILI_MASTER_KEY=xxxx # xxx为随机字符串
NEXTAUTH_URL=http://localhost:3000 # 本地访问 hoarder 的 url 或者反代之后的 url

## 下面为可选
OPENAI_BASE_URL=https://xxx.com/v1 # OpenAI api 官方端口或者第三方服务端口
OPENAI_API_KEY=sk-xxxxx # OpenAI API key
INFERENCE_LANG=chinese
INFERENCE_TEXT_MODEL=qwen2-72b-instruct #用于打标的模型,我自己用上最新的 qwen2-72b-instruct开源模型很香

Hoarder 的优点

AI 智能打标

对于我这种只是用来囤积的人太有用了,不用每次想贴什么标签,但又能为自己囤积的网页做一定程度的分类管理

AI-Mark-of-Hoard

Hoarder 有待改进的地方

私有格式存储

Hoarder 在本地存储的都是 db 结尾格式的特定数据库文件,貌似无法使用其他软件打开,如下图所示

dbformat-of-Hoarder

如果能采用通用格式比如保存成 html 或者直接截图一张 png 来存储快照个人觉得比较适合

某些网站无法抓取

Hoarder 貌似使用 Chrome 浏览器模拟人类访问,来存储网页快照的,这就带来一个问题,某些博客使用 cloudflare 的人机验证服务会把 Hoarder 拒之门外,比如抓取 Sukka 大佬的博客 如下图所示:

cf-block-Hoarder-eg

参考

  1. Hoarder-app/ hoarder| GitHub
  2. Nas用户的完美本地运行的书签管理 一站式信息管理:如何搭建和使用Hoarder 管理你的数字信息?| NasDaddy