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

待续

相关推荐
电商API_1800790524714 小时前
京东商品详情API技术文章
大数据·运维·人工智能·网络爬虫
三言老师15 小时前
秘诀-如何远程SSN访问家里的八台电脑(frp 实操方案)
linux·运维·ssh
举手17 小时前
Dispatcher模块剖析
linux·c++
BTU_YC17 小时前
Docker Compose 部署 DozerDB 完整教程
运维·docker·容器
allforgood18 小时前
运行容器
linux
Light_It19 小时前
Linux 内核参数 pci-stub.ids=
linux·kernel
RisunJan19 小时前
Linux命令-scriptreplay(终端会话回放)
linux·运维·chrome
spencer_tseng19 小时前
[kylin & linux] install docker
linux·docker·kylin
x²+(y-√³x²)²=120 小时前
Linux打包文件到Windows,文件/文件类型丢失
linux·运维·windows
世人万千丶20 小时前
去重插入与超限淘汰:ArkTS 实现鸿蒙搜索历史的 LIMIT 艺术
运维·服务器·学习·华为·harmonyos·鸿蒙