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

待续

相关推荐
2401_892070981 天前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
雪可问春风1 天前
docker环境部署
运维·docker·容器
lwx9148521 天前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜1 天前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi71 天前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白1 天前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
海的透彻1 天前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
黄昏晓x1 天前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪1 天前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神1 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习