open-notebook开源项目分析

https://www.zdoc.app/zh/lfnovo/open-notebook

后端构建方式

1. 开发环境构建(源码安装)

使用 uv 作为包管理器:

bash 复制代码
# 安装依赖
uv sync

# 运行 API 后端
make api
# 或者直接运行
uv run run_api.py

2. Docker 构建

项目使用多阶段 Docker 构建:

bash 复制代码
# 构建 Docker 镜像
docker build -t open-notebook .

# 或者使用 Makefile
make docker-push  # 构建并推送镜像

Dockerfile 构建过程:

  • Builder 阶段 :安装 Python 依赖(uv sync --frozen --no-dev)并构建前端
  • Runtime 阶段:复制虚拟环境和应用代码,运行应用

3. 项目配置

  • 包管理器uv(通过 pyproject.tomluv.lock 管理依赖)
  • Python 版本 :3.11-3.12(requires-python = ">=3.11,<3.13"
  • 构建系统 :setuptools(build-backend = "setuptools.build_meta"
  • 运行方式 :使用 uvicorn 运行 FastAPI 应用(端口 5055)

4. 快速开始

bash 复制代码
# 克隆项目
git clone https://github.com/lfnovo/open-notebook
cd open-notebook

# 安装依赖
uv sync

# 启动数据库
make database

# 启动 API
make api

5. 完整启动所有服务

bash 复制代码
# 一键启动所有服务(数据库 + API + Worker + 前端)
make start-all

总结 :后端是 Python/FastAPI 项目,使用 uv 管理依赖,无需传统"编译"。构建指安装依赖并运行;生产环境可用 Docker 构建镜像。

待续

相关推荐
sdm0704271 小时前
yum和开发工具vim/gcc
linux·服务器·centos
Leinwin6 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382506 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇6 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7596 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
Thera7777 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
运维小欣7 小时前
智能体选型实战指南
运维·人工智能
yy55277 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ8 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔9 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络