1. 引言
今天跟大家分享一个非常实用的书签管理工具——Karakeep。对我来说,书签管理一直是个比较头疼的问题。尤其是当你收藏了很多网页链接、文章、图片和PDF,却又没有一个靠谱的工具去管理它们。直到我遇到了Karakeep,它彻底解决了我这个问题,完全符合「万物皆可存」的需求,简直是囤积狂欢者的福音。今天,我就带大家了解一下如何利用Karakeep,打造一个智能书签管理工具,连AI也能帮你做标签和摘要,实在太酷了。
2. Karakeep 简介
Karakeep(前身为Hoarder)是一个自托管的书签管理工具,专为那些对互联网内容深度收集和整理有需求的人设计。如果你是一个信息积累爱好者,Karakeep无疑是你最得力的助手。它不仅仅是一个书签管理工具,还加入了一些非常强大的功能,甚至利用了AI技术来提升管理和整理效率。

书签链接与笔记存储:你不仅可以保存网站链接,还可以在同一平台记录笔记、存储图片和PDF文件。
自动抓取链接信息:Karakeep会自动为每个书签抓取链接标题、描述以及预览图,方便快速识别。
全文本搜索:你可以在所有存储的内容中进行全文搜索,不管是网页、图片、PDF还是笔记,找起来都不费劲。
AI标签和摘要:这个功能太惊艳了!Karakeep利用类似ChatGPT的AI技术,自动为书签内容打上标签,并生成摘要,省时又高效。
图片OCR:如果你保存了图片,Karakeep甚至可以从图片中提取文字,方便之后的搜索。
扩展功能:Karakeep支持Chrome插件和Firefox扩展,能在浏览网页时迅速保存书签。它还支持iOS和Android移动端使用,让你随时随地管理你的书签。
更多特性:支持RSS自动归档、视频自动下载归档(通过yt-dlp)、REST API等。支持批量操作、SSO单点登录、深色模式等。

对于喜欢用自托管服务的人来说,Karakeep的强大功能简直不容错过,它完美契合那些想要在自己服务器上管理信息的用户。下面,我将为大家详细介绍如何通过Docker快速搭建Karakeep,让你也能体验到这款神器。
3. 必备工具和环境
要搭建Karakeep,首先我们需要一些基本的工具和环境设置。幸好,Karakeep支持通过Docker部署,搭建过程非常简单。
服务器:我使用的是云服务器,1GB以上内存就能顺利运行。如果你有其他高性价比的服务器也可以选择。
操作系统:本文教程中使用的是Debian 11,但其他基于Debian或Ubuntu的系统也完全可以适用。
安装Docker与Docker-compose:首先确保你的服务器上已经安装了Docker和Docker Compose。关于这部分的安装,可以参考相关教程。
域名配置:你需要购买一个域名,并将其解析到你的服务器上。关于域名的购买和解析,可以参考我之前写的教程。
可选工具:宝塔面板、Nginx Proxy Manager等工具是可选的,但有些用户可能会喜欢用这些工具来简化管理和反向代理配置。
4. 搭建过程
接下来,我们开始进行Docker搭建。通过Docker,我们可以非常方便地部署Karakeep,不用担心手动配置各种环境。
4.1 创建安装目录
首先,我们需要在服务器上创建一个安装目录,方便存放Docker相关文件。打开终端,输入以下命令:
sudo -i
mkdir -p /root/data/docker_data/karakeep
cd /root/data/docker_data/karakeep
4.2 配置 Docker Compose
接着,我们需要创建一个docker-compose.yml文件,配置Karakeep服务。你可以使用vim编辑器来创建并编辑这个文件。输入以下内容:
services:
web:
image: ghcr.io/karakeep-app/karakeep:latest
restart: unless-stopped
volumes:
# By default, the data is stored in a docker volume called "data".
# If you want to mount a custom directory, change the volume mapping to:
# - /path/to/your/directory:/data
- ./data:/data
ports:
- 3030:3000
env_file:
- .env
environment:
MEILI_ADDR: http://meilisearch:7700
BROWSER_WEB_URL: http://chrome:9222
# OPENAI_API_KEY: ...
# You almost never want to change the value of the DATA_DIR variable.
# If you want to mount a custom directory, change the volume mapping above instead.
DATA_DIR: /data # DON'T CHANGE THIS
chrome:
image: gcr.io/zenika-hub/alpine-chrome:124
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.13.3
restart: unless-stopped
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- ./meilisearch:/meili_data
在这个配置文件中,web服务是Karakeep的核心应用,chrome服务用于提供浏览器接口,meilisearch服务提供强大的全文搜索功能。
4.3 配置环境变量
然后,我们需要配置.env文件,这里面包含了一些Karakeep运行所需的密钥和地址。你可以按照以下示例进行配置:
KARAKEEP_VERSION=release
NEXTAUTH_SECRET=super_random_string
MEILI_MASTER_KEY=another_random_string
NEXTAUTH_URL=http://localhost:3000
你需要替换NEXTAUTH_URL为你的域名地址,并使用openssl rand -base64 36生成随机字符串来替代NEXTAUTH_SECRET和MEILI_MASTER_KEY。
openssl rand -base64 36
4.4 启动服务
配置完成后,我们可以启动Karakeep服务。输入以下命令:
docker compose up -d
当看到done字样时,就说明服务已经成功启动,你可以通过http://ip:3030来访问Karakeep。
4.5 配置反向代理
由于Karakeep使用的是HTTP协议,建议通过Nginx或Nginx Proxy Manager进行反向代理,配置SSL证书来保证安全访问。如果你已经拥有域名并将其解析到服务器,接下来的步骤将帮助你设置反向代理。
Nginx Proxy Manager:这是一个很方便的工具,可以让你更轻松地配置反向代理。你只需要在Nginx Proxy Manager界面中添加新的代理规则,填写域名、IP和端口信息,就能快速实现反向代理。




5. 使用Karakeep
当一切搭建完毕后,你可以通过Karakeep提供的Web界面开始管理书签。登录后,你可以体验到非常简洁的UI设计和强大的功能,比如:
书签管理:你可以快速添加书签、为书签打标签、保存相关笔记等。
AI功能:自动打标签和生成摘要,让你省时省力。
OCR功能:如果你上传了图片,Karakeep会帮你提取图片中的文字,方便以后搜索。





6. 更新与卸载
Karakeep会不断更新,更新操作也非常简单。你只需要进入安装目录,执行以下命令:
docker compose pull
docker compose up -d
docker image prune
如果你想卸载Karakeep,可以使用以下命令:
docker compose down
rm -rf /root/data/docker_data/karakeep
这样,你就可以彻底清除Karakeep了。
7. 结语
搭建Karakeep其实非常简单,特别是通过Docker,只需要几个步骤,就能享受自托管书签管理的便利。它不仅仅是一个简单的书签工具,还具备了强大的AI标签、OCR、视频归档等功能,真的是非常好用。如果你也有类似需求,不妨试试这个工具。希望今天的分享对大家有所帮助,也欢迎在评论区讨论交流。
评论区