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 构建镜像。

待续

相关推荐
JudithHuang1 小时前
把本地服务暴露到公网
运维
yt004yt1 小时前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
yt004yt2 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
晚安日记wanna2 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
yunwei372 小时前
eBPF 示例教程:实现 `scx_nest` 调度器
linux·后端·性能优化
朽棘不雕2 小时前
关于重定向的小补充
linux
T1mzhou2 小时前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
GG-_-Bond3 小时前
基于dpdk实现udp接收数据
linux·网络·udp
吴声子夜歌3 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落4 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓