Karakeep 部署教程:自托管的收藏一切应用
Karakeep (原名 Hoarder) 是一款自托管的书签管理应用,支持收藏链接、笔记、图片和 PDF。它具备 AI 自动标签、全文搜索、RSS 自动抓取、全页存档和视频存档等功能,适合需要整理大量碎片化信息的“数字囤积者”。
本教程将指导你使用 Docker Compose(推荐) 完成部署。
📦 第一步:环境准备
在开始部署前,请确保你的服务器满足以下要求:
- 操作系统:Linux (Ubuntu/Debian/CentOS 等) 或 Windows WSL2。
- Docker:确保已安装 Docker 和 Docker Compose (或
docker compose插件)。 - 硬件:至少 2GB 内存,建议 4GB 以上(尤其在使用 AI 功能时)。磁盘空间取决于你存储的数据量。
- 网络:能够访问 Docker Hub 和 GitHub Container Registry 以拉取镜像。
🚀 第二步:使用 Docker Compose 快速部署
这是官方推荐且最简便的方式,它会启动 Karakeep 及其依赖服务。
克隆或下载 Compose 文件
从官方 GitHub 仓库获取docker-compose.yml文件。你可以直接克隆整个仓库,或只下载该文件。1
2
3# 推荐:克隆仓库以获得完整示例配置
git clone https://github.com/karakeep-app/karakeep.git
cd karakeep在项目根目录下,你会找到
docker-compose.yml文件。配置环境变量 (可选)
在启动前,建议复制.env.sample为.env并按需修改。1
cp .env.sample .env
关键环境变量解释:
变量名 默认值/示例 说明 NEXTAUTH_SECRET(必须修改) NextAuth 认证密钥。务必修改为强密码,例如 openssl rand -base64 32生成。NEXTAUTH_URLhttp://localhost:3000应用公开访问的 URL。如果使用域名,请修改为 https://你的域名。MEILI_MASTER_KEY(建议修改) Meilisearch 搜索服务的密钥。建议修改为强密码。 DATABASE_URLpostgresql://...PostgreSQL 数据库连接字符串。不建议修改,除非你使用外部数据库。 OPENAI_API_KEY(可选) 启用 AI 功能 (如自动标签) 需要。可填写 OpenAI 或兼容的 API 密钥 (如 DeepSeek、本地 Ollama)。 ENABLE_AUTO_TAGGINGfalse设为 true以启用 AI 自动打标签功能。ENABLE_SUMMARIZATIONfalse设为 true以启用 AI 自动摘要功能。重要:如果使用
docker-compose.yml默认配置,NEXTAUTH_SECRET和MEILI_MASTER_KEY在.env文件中均有占位符,请务必替换为强密码。启动服务
在包含docker-compose.yml的目录下,执行以下命令:1
docker compose up -d
-d参数表示在后台 (detach) 运行。首次启动会自动拉取所需的镜像。验证部署
稍等片刻,待所有容器启动完成后,打开浏览器访问http://你的服务器IP:3000(或你配置的域名)。你应该能看到 Karakeep 的注册/登录页面。
⚙️ 第三步:首次使用与配置
- 创建账户:第一个注册的用户将自动成为管理员。
- 连接 AI (可选):如果需要 AI 自动标签功能,在后台
Settings→AI中配置 API Key。如果你在.env中已配置,则无需再操作。 - 添加书签:开始使用 “Add” 按钮或浏览器扩展,收藏链接、创建笔记或上传图片/PDF。
- 创建列表 (Lists):将书签分类到不同列表中,并可邀请他人协作。
🔧 第四步:高级配置与管理
4.1 使用额外 AI 服务(如 Ollama 本地模型)
如果你希望使用本地模型,可以在 docker-compose.yml 中额外添加 Ollama 服务,或在 .env 中指向外部 Ollama 地址,例如:
1 | OPENAI_API_KEY="ollama" # 任意非空值 |
4.2 更新与升级
1 | # 进入项目目录,拉取最新镜像并重新创建容器 |
4.3 备份与恢复
备份最重要的数据是数据库和上传的媒体文件。
- 数据库备份 (PostgreSQL):建议使用
pg_dump命令,或在 Docker 中执行docker exec -t karakeep-db-1 pg_dump -U postgres karakeep > backup.sql。 - 文件备份:默认情况下,上传的文件存储在 Docker 卷
karakeep_uploads中。你可以将此卷目录 (/var/lib/docker/volumes/karakeep_uploads/_data) 备份下来。
🩺 常见问题与排障
- 首次启动后访问
localhost:3000显示无法连接?- 使用
docker compose logs查看后端服务 (web) 的日志,检查是否有数据库连接错误或启动失败信息。 - 确保防火墙放行了
3000端口。
- 使用
- AI 自动标签/摘要不工作?
- 确认在设置中已启用
ENABLE_AUTO_TAGGING或ENABLE_SUMMARIZATION。 - 检查 API Key 是否正确,以及账户是否还有余额。如果使用 Ollama,确认其 API 端点可访问。
- 确认在设置中已启用
- 书签抓取失败或显示空白?
- 检查网络环境:Karakeep 使用 Puppeteer 抓取页面,需要能够访问目标网站。
- 查看
docker compose logs worker日志,寻找具体错误信息 (如超时、HTTP 403 等)。
- 想将数据存储到外部 NFS 或 S3?
- 可以通过修改
docker-compose.yml中uploads卷的映射路径,或配置环境变量使用 S3 兼容存储 (详情参考官方文档)。
- 可以通过修改
💡 额外资源
- 浏览器扩展:在 Chrome Web Store 或 Firefox Add-ons 中搜索 “Karakeep” 安装官方扩展,方便快速收藏。
- 移动应用:提供 iOS 和 Android 客户端,支持离线阅读。
- 社区:加入官方 Discord 获取帮助和交流。
Karakeep 是一个功能全面且仍在快速迭代的项目。通过 Docker Compose,你可以在几分钟内拥有一个强大的个人知识库管理中心。如果觉得有用,不妨给项目点个 Star ⭐️。







