打造你的私人书签管家:Docker 部署Karakeep完整指南
打造你的私人书签管家:Docker 部署Karakeep完整指南
1.1 Karakeep项目简介
1.2 Karakeep主要特点
2.1 本地环境规划
2.2 本次实践介绍
3.1 检查Docker服务状态
3.2 检查Docker版本
3.3 检查docker compose 版本
4.1 创建部署目录
4.2 下载部署文件
4.3 编辑变量文件
4.4 拉取镜像
5.1 创建karakeep容器
5.2 查看karakeep容器状态
5.3 检查karakeep容器日志
6.1访问karakeep初始页
6.2 注册karakeep账号
7.1 设置中文语言
7.2 保存网站
7.3 统计信息功能
一、karakeep介绍
1.1 Karakeep项目简介
Karakeep 是一个可完全自我托管的个人知识管理平台,旨在帮助用户集中保存和智能管理网络上的任何有价值内容。它不仅支持链接书签、笔记、图片和 PDF 的统一存储,还通过 AI 技术实现自动标签、内容总结与全文搜索,结合 OCR、全页存档、视频下载等强大功能,打造一个安全、智能、跨平台的“第二大脑”。无论是网页片段、RSS 订阅,还是本地文件,Karakeep 都能帮你高效归档、智能分类,并通过多端应用与浏览器插件实现随时随地访问。
1.2 Karakeep主要特点
🔗 轻松书签网页链接,记录简短笔记,并上传图片与 PDF 文件。
⬇️ 自动提取链接的标题、描述和封面图,提升收藏效率。
📋 将书签灵活组织到自定义列表或文件夹中,便于分类管理。
🔍 支持对所有存储内容(包括图片中的文字)进行全文搜索。
✨ 利用 AI(如 ChatGPT 或本地 Ollama 模型)自动生成标签和内容摘要。
🤖 内置基于规则的自动化引擎,可自定义书签处理流程。
🎆 使用 OCR 技术从图像中提取可搜索的文本内容。
🔖 提供 Chrome 插件与 Firefox 扩展,一键快速收藏网页。
📱 支持 iOS 和 Android 原生应用,随时随地访问你的知识库。
". 自动抓取并归档订阅的 RSS 源内容,不错过任何更新。
🔌 提供 RESTful API 与多个第三方客户端,便于集成与扩展。
🌐 支持多语言界面与内容处理,满足国际化使用需求。
🗑️ 标记并保存内容中的高亮片段,便于后续回顾与引用。
🗄️ 使用 Monolith 实现网页全页离线存档,防止链接失效(404)。
▶️ 通过 yt-dlp 自动下载并归档视频内容,支持离线观看。
☑️ 支持批量导入、编辑、删除操作,提升大规模管理效率。
🔐 集成 SSO(如 OAuth2 / SAML)支持,便于团队或企业部署。
🌙 提供暗黑模式界面,保护夜间阅读视力。
💾 设计以自我托管为核心,保障数据隐私与长期可控性。
⬇️ 支持从 Chrome、Pocket、Linkwarden、Omnivore 等工具导入数据。
🔁 通过 Floccus 与浏览器书签同步,实现无缝过渡与双端备份。
📥 计划支持移动设备离线阅读,无网络也能查看书签内容。
🧠 未来将实现基于语义理解的智能书签搜索与推荐。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署karakeep自托管书签工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
Main PID: 888 (dockerd)
Tasks: 65
Memory: 1.2G (peak: 1.4G)
CPU: 3min 23.296s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取karakeep镜像
4.1 创建部署目录
部署项目之前,我们需要创建一个部署目录。
mkdir -p /data/karakepp/ && cd /data/karakepp/
4.2 下载部署文件
我们将官方文提供的提供的docker compose部署文件直接放入到刚才创建的目录,如下所示:
wget https://raw.githubusercontent.com/karakeep-app/karakeep/main/docker/docker-compose.yml
修改docker-compose.yml文件,将chrome服务的容器替换为
registry.cn-hangzhou.aliyuncs.com/jeson/alpine-chrome:124。
vim docker-compose.yml
services:
web:
image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release}
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:
- 3000: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: registry.cn-hangzhou.aliyuncs.com/jeson/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
volumes:
meilisearch:
data:

4.3 编辑变量文件
新建及编辑.env变量文件,其中NEXTAUTH_URL部分需要替换为自己服务器的IP地址。
vim .env
root@jeven:/data/karakepp# cat .env
KARAKEEP_VERSION=0.27.0
NEXTAUTH_SECRET=gK947TfXkPi4toqX1bs1otVS4uGMdwUy7W7xt+gGjRV373XL
MEILI_MASTER_KEY=DVLxsDnxhHDnvdw4zdJEe/SAZe0/q6f06k+OLajcfCcGpaFH
NEXTAUTH_URL=http://192.168.3.88:3000
4.4 拉取镜像
执行以下命令,拉取karakeep相关镜像。
五、部署karakeep服务
5.1 创建karakeep容器
执行以下命令,创建karakeep容器。
5.2 查看karakeep容器状态
检查karakeep容器运行状态,确保karakeep容器正常启动。
root@jeven:/data/karakepp# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
karakepp-chrome-1 registry.cn-hangzhou.aliyuncs.com/jeson/alpine-chrome:124 "chromium-browser --…" chrome 16 minutes ago Up 16 minutes
karakepp-meilisearch-1 getmeili/meilisearch:v1.13.3 "tini -- /bin/sh -c …" meilisearch 16 minutes ago Up 16 minutes 7700/tcp
karakepp-web-1 ghcr.io/karakeep-app/karakeep:0.27.0 "/init" web 16 minutes ago Up 16 minutes (healthy) 0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp
5.3 检查karakeep容器日志
检查容器运行日志,确保karakeep服务正常运行。
六、访问karakeep服务
6.1访问karakeep初始页
浏览器地址:
http://<个人的服务器IP>:3000,访问karakeep初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 注册karakeep账号
点击karakeep初始页的注册选项,自行填写登录账号信息,确认创建即可。
在这里插入图片描述
在这里插入图片描述七、karakeep基本使用
7.1 设置中文语言
在用户设置——界面语言中,选择简体中文选项,时区则选择Asia/Shanghai,如下所示:

7.2 保存网站
将网站地址复制到以下位置,保存即可。

可以看成网站成功保存,也可以对该书签进行重新编辑书签名称等信息。


7.3 统计信息功能
用户设置——使用统计信息,可以查看karakeep的各项统计信息。

八、总结
通过本次实践,我们成功使用Docker部署了Karakeep自托管书签工具,搭建了一个集链接管理、笔记记录、文件存储于一体的个人知识库平台。Karakeep凭借其丰富的功能,如自动元信息提取、AI标签生成、全文搜索和浏览器插件支持,极大提升了信息收藏与检索的效率。整个部署过程简洁高效,得益于Docker容器化技术,服务运行稳定且易于维护。未来可以进一步探索其RSS抓取、Ollama本地AI模型集成等高级功能,打造更智能的个性化知识管理体系。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~



