从零部署open-notebook:Docker容器化方案详解
【免费下载链接】open-notebookAn Open Source implementation of Notebook LM with more flexibility and features项目地址: https://gitcode.com/GitHub_Trending/op/open-notebook
还在为AI笔记工具的复杂部署而烦恼?本文将通过Docker容器化方案,带你从零开始轻松部署open-notebook,无需复杂环境配置,快速拥有属于自己的智能笔记系统。
通过本指南,你将掌握:
- 两种部署方案的详细步骤(单容器/多容器)
- 环境变量配置最佳实践
- 数据持久化与备份策略
- 常见问题解决方案
部署前准备
硬件要求
| 部署类型 | 内存 | CPU | 存储 |
|---|---|---|---|
| 单容器基础版 | 1GB+ | 1核+ | 10GB+ |
| 多容器生产版 | 2GB+ | 2核+ | 50GB+ |
软件依赖
- Docker Engine (20.10+)
- Docker Compose (v2+)
环境安装
# Ubuntu/Debian系统 sudo apt update sudo apt install docker.io docker-compose sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER执行完成后需注销并重新登录,使Docker权限生效。
部署方案对比与选择
方案对比
| 特性 | 单容器部署 | 多容器部署 |
|---|---|---|
| 容器数量 | 1个一体化容器 | 多个独立容器 |
| 复杂度 | 简单 | 中等 |
| 资源占用 | 较低 | 较高但可控 |
| 扩展性 | 有限 | 灵活扩展 |
| 适用场景 | 个人使用、快速测试 | 团队协作、生产环境 |
方案选择建议
- 个人用户/新手:选择单容器部署,最简单的方式启动服务
- 开发者/企业用户:选择多容器部署,便于维护和扩展
- 云平台部署:单容器更适合PaaS平台
单容器快速部署
部署步骤
- 创建项目目录
mkdir open-notebook && cd open-notebook- 下载配置文件
curl -O https://gitcode.com/GitHub_Trending/op/open-notebook/raw/main/docker-compose.single.yml- 创建环境变量文件创建
.env文件:
OPENAI_API_KEY=your_openai_key_here OPEN_NOTEBOOK_PASSWORD=your_password- 启动服务
docker compose -f docker-compose.single.yml up -d- 访问应用打开浏览器访问:
http://localhost:8502,使用设置的密码登录
服务管理命令
# 查看日志 docker compose -f docker-compose.single.yml logs -f # 重启服务 docker compose -f docker-compose.single.yml restart # 停止服务 docker compose -f docker-compose.single.yml down多容器生产部署
架构说明
多容器部署包含以下服务组件:
- surrealdb:数据库服务
- open_notebook:主应用服务(含API和Web界面)
部署步骤
- 创建项目目录
mkdir open-notebook && cd open-notebook- 创建环境变量文件创建
.env文件:
# 数据库配置 SURREAL_URL=ws://surrealdb:8000/rpc SURREAL_USER=root SURREAL_PASSWORD=root SURREAL_NAMESPACE=open_notebook SURREAL_DATABASE=production # AI服务配置 OPENAI_API_KEY=your_openai_key_here # 安全配置 OPEN_NOTEBOOK_PASSWORD=your_secure_password- 下载配置文件
curl -O https://gitcode.com/GitHub_Trending/op/open-notebook/raw/main/docker-compose.full.yml- 启动服务
docker compose -f docker-compose.full.yml up -d- 验证部署访问
http://localhost:8502,确认服务正常启动
服务管理命令
# 查看所有服务状态 docker compose -f docker-compose.full.yml ps # 查看应用日志 docker compose -f docker-compose.full.yml logs -f open_notebook # 单独重启数据库 docker compose -f docker-compose.full.yml restart surrealdb访问与初始配置
登录系统
- 打开浏览器访问
http://localhost:8502 - 输入设置的密码(
OPEN_NOTEBOOK_PASSWORD) - 首次登录后,系统会引导你完成初始设置
配置AI模型
- 点击左侧导航栏的设置
- 选择模型选项卡
- 配置推荐模型:
- 语言模型:
gpt-4o-mini(平衡性能和成本) - 嵌入模型:
text-embedding-3-small(用于搜索功能) - TTS模型:
tts-1(用于播客生成)
- 语言模型:
- 点击保存配置
创建第一个笔记本
- 点击笔记本进入笔记本页面
- 点击创建新笔记本按钮
- 输入名称和描述,点击创建
- 通过添加来源添加你的第一个内容源(网页链接、PDF或文本)
数据备份与迁移
数据备份
无论是单容器还是多容器部署,数据都存储在以下目录:
notebook_data:存储笔记、上传文件等应用数据surreal_data(多容器)或surreal_single_data(单容器):存储数据库文件
备份命令:
# 创建备份 tar -czf open-notebook-backup-$(date +%Y%m%d).tar.gz notebook_data surreal_data* # 查看备份 ls -lh *.tar.gz数据迁移
- 在新环境创建相同的目录结构
- 将备份文件复制到新环境
- 解压备份文件:
tar -xzf backup-file.tar.gz - 按照相同的部署步骤启动服务,数据会自动恢复
常见问题解决
服务无法启动
- 检查端口占用:确保8502、5055、8000端口未被占用
# 检查端口占用情况 sudo lsof -i :8502- 检查日志:通过
docker compose logs查看错误信息 - 资源不足:确保系统至少有1GB空闲内存
API密钥错误
- 确保API密钥正确,没有多余空格
- 检查OpenAI账户是否有可用余额
- 如使用代理,需配置
HTTP_PROXY环境变量
数据访问问题
- 检查目录权限:
ls -ld notebook_data surreal_data - 确保Docker有权限读写数据目录
- 多容器部署时检查数据库连接是否正常
性能优化建议
- 对于低配置服务器,选择更小的模型(如
gpt-3.5-turbo) - 限制同时处理的任务数量
- 定期清理不需要的大文件和笔记
进阶配置与扩展
启用密码保护
在生产环境中,强烈建议启用密码保护:
OPEN_NOTEBOOK_PASSWORD=your_strong_password密码应包含大小写字母、数字和特殊字符,长度至少8位。
集成其他AI提供商
除OpenAI外,还可配置其他AI提供商:
# Anthropic Claude ANTHROPIC_API_KEY=your_anthropic_key # Google Gemini GOOGLE_API_KEY=your_google_key # 本地模型(Ollama) OLLAMA_API_BASE=http://your-ollama-ip:11434总结与下一步
通过Docker容器化方案,我们简化了open-notebook的部署流程,同时保证了系统的可维护性和可扩展性。
下一步建议
- 探索高级功能:尝试使用播客功能生成音频内容
- 学习快捷键:提高操作效率,如快速搜索
- 定期更新:通过
docker compose pull保持系统最新
如果遇到问题,可以参考项目文档或向社区寻求帮助。
【免费下载链接】open-notebookAn Open Source implementation of Notebook LM with more flexibility and features项目地址: https://gitcode.com/GitHub_Trending/op/open-notebook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考