自建书签应用Hoarder
背景故事
今年的10月4号,我的raindrop会员正式到期。消费水平降级,我不打算续费会员。之后的许多会员服务,大概率也会被我抛弃掉。虽然SaSS服务,大概率会比开源替代品更加好用。
2024年的我,更倾向于将消费集中于AI服务【ChatGPT会员和Claude会员】、高质量代理【下期介绍目前我获取AI服务的配置】、假期吃喝玩乐等方面。
不知不觉,我的raindrop书签数量也已经来到了5k+,每当我看到有趣的网站,我就收藏一下。等到自己要用的时候,直接搜索即可。
raindrop也成了我写月刊的灵感来源,我的月刊里面会有“有趣”、“链享”等模块,这些模块的素材全部来自于raindrop。
到期后,我开始寻找书签应用的替代品。正好前几天,看到Youtuber—DBTech分享了hoarder的自建的视频,看了视频演示感觉不错,于是乎我准备将其定为我的raindrop开源替代品。
自建过程
项目地址:https://github.com/hoarder-app/hoarder
文档地址:https://docs.hoarder.app/
# 进入用户主目录,新建hoarder文件夹,进入新建的文件夹。
cd && mkdir hoarder && cd hoarder
# 下载docker compose文件
wget https://raw.githubusercontent.com/hoarder-app/hoarder/main/docker/docker-compose.yml
# 我调整后的docker-compose.yml文件内容如下:
# 和官方给的demo的不同点:
# 1、使用绑定挂载而不是卷
# 2、宿主机的端口仅允许本机访问,由反向代理来反代
services:
web:
image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
restart: unless-stopped
volumes:
- ./data:/data
ports:
- 127.0.0.1:3600:3000
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
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
# 编辑环境变量
vim .env
# 环境变量
# 具体设置见https://docs.hoarder.app/Installation/docker
# 文档详细得很
HOARDER_VERSION=release
NEXTAUTH_SECRET=xxx
MEILI_MASTER_KEY=xxx
NEXTAUTH_URL=https://hoarder.example.com
MAX_ASSET_SIZE_MB=1024
# 启动 Docker Compose 定义的所有服务
docker compose up -d
# 编辑caddy的配置文件
vim /etc/caddy/Caddyfile
# 反向代理caddy配置
hoarder.example.com {
reverse_proxy localhost:3600
}
# 去cloudflare添加DNS A记录
# 重载caddy
systemctl reload caddy
紧接着,访问hoarder.example.com
注册一个账号。
在settings里面导入raindrop导出的书签。
5000多个书签导了差不多1个小时。
手机端的hoarder app、浏览器插件都装一下,方便收集趣站或者查找书签。浏览器插件我绑定了原本raindrop浏览器插件的快捷键,这样子收藏网页还是原本的工作流。
hoarder查找功能,还算ok。
最后当然是关闭注册了,一个人独享hoarder😁。
# 修改docker-compose.yml文件
vim docker-compose.yml
# 和原本docker-compose.yml文件的不同点
# 添加了DISABLE_SIGNUPS环境变量
# 你如果需要AI给你打tag,也可以配置AI相关的环境变量
# 对我来说,自己手打的tag更容易搜索
services:
web:
image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release}
restart: unless-stopped
volumes:
- ./data:/data
ports:
- 127.0.0.1:3600:3000
env_file:
- .env
environment:
MEILI_ADDR: http://meilisearch:7700
BROWSER_WEB_URL: http://chrome:9222
DATA_DIR: /data
+ DISABLE_SIGNUPS: true
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
# 停止并删除 Docker Compose 定义的所有容器、网络和卷,
# 然后重新创建和启动所有服务
docker compose down && docker compose up -d
总结
raindrop对不起,不是你的功能不行,而是我的钱包不够鼓了。自从买了10欧元/月的bero host,就注定了SaSS服务要远离了。哎😑。我不是富哥。
开源项目也不是不能用,只不过确实打不过raindrop。app端也还行,只要能搜索,就满足了基本需求。
就这样吧,之后的SaSS服务,如readwise、inoreader这些继续用开源项目替代。
我已经竭尽所能,去利用bero host的机器了,但奈何这机器的配置实在是太高了,够我继续折腾下去。
最后,请允许我打个广告,具体广告可见via,今天DMIT全线产品补货。想自建节点的小伙伴,抓紧机会入手。
有了优质的优化线路美西机器,再搭配上家宽落地,访问AI服务更稳定,不惧封号。这也是下期博客要分享的目前我访问AI服务的配置。
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享4.0许可证)