自建Karakeep服务
Karakeep简介
Karakeep是一款支持自托管的全能书签管理工具,它能将你收藏的网页链接、随手记的文本片段、甚至截图都整合到同一个平台,并通过AI自动打标签+全文搜索实现秒级定位。更牛逼的是官方还提供了安卓/iOS客户端和浏览器插件,真正做到全平台覆盖。
- GitHub 原项目地址:https://github.com/karakeep-app/karakeep
- 官网地址:https://karakeep.app/
- 官方文档地址:https://docs.karakeep.app/
Karakeep功能
- 收藏链接、做简单笔记并存储图像和 PDF 文件。( Bookmark links, take simple notes and store images and pdfs.)
- 自动获取链接标题、描述和图像。( Automatic fetching for link titles, descriptions and images.)
- 将您的书签整理成列表。( Sort your bookmarks into lists.)
对所有存储的内容进行全文搜索。
基于人工智能(又名 chatgpt)的自动标签。支持使用 ollama 的本地模型!
- OCR 用于从图像中提取文本。
- Chrome 插件 和 Firefox 插件 用于快速添加书签。
- 一个 iOS 应用 ,以及一个 Android 应用 。
- 从 RSS feed 自动收集。
- REST API。
- 多语言支持。
- 标记并存储您囤积内容中的亮点。
- 整页存档(使用 monolith)以防止链接失效。使用 youtube-dl 自动视频存档。
- 支持批量操作。
- SSO 支持,深色模式支持, 自托管优先
搭建环境
- 系统
Debian12
- 域名一枚,并做好解析到服务器上
- 安装好
Docker、Docker-compose
开始搭建
sudo -i # 切换到root用户
apt update -y # 升级packages
apt install wget curl sudo vim git -y # 安装常用的软件
创建一下安装的目录:
mkdir -p /home/karakeep
cd /home/karakeep
vim docker-compose.yml
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: 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.13.3
restart: unless-stopped
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
volumes:
meilisearch:
data:
同目录创建.env
See https://docs.karakeep.app/configuration for more information
DATA_DIR=/data
MEILI_ADDR=http://127.0.0.1:7700
MEILI_MASTER_KEY=[generate with <openssl rand -base64 36>]
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=[generate with <openssl rand -base64 36>]
要启用自动标记,您需要配置 OpenAI
按照 OpenAI 的帮助获取 API 密钥
将 OpenAI API 密钥添加到 env 文件中:
OPENAI_API_KEY=<key>
OPENAI_BASE_URL=
然后运行:
docker-compose up -d
利用宝塔面板反向代理
新建一个站点,不要数据库,不要 php,纯静态
然后打开下面的配置,修改 Nginx 的配置
注释掉上图内容
添加下列代码:
第一次首次登陆需要自行注册账号,默认管理员
如果需要关闭注册,需要在.env
文件中添加环境变量
DISABLE_SIGNUPS=true
请记住,每次更改 .env
文件时,都需要重新运行 docker-compose up -d
如果你想要更多的配置参数,请在此处查看配置文档。