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

待续

相关推荐
峰顶听歌的鲸鱼13 小时前
Kubernetes介绍和部署
运维·笔记·云原生·容器·kubernetes·学习方法
物理与数学13 小时前
linux 内存分布
linux·linux内核
信创天地14 小时前
自动化运维利器赋能信创:Ansible与SaltStack在国产系统的部署与批量管理实战
运维·自动化·ansible
东城绝神14 小时前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
creator_Li14 小时前
即时通讯项目--(1)环境搭建
linux·运维·ubuntu
Ka1Yan14 小时前
Docker:基本概念与快速入门
运维·docker·容器
Mr'liu15 小时前
MongoDB 7.0 副本集高可用部署
linux·mongodb
文静小土豆16 小时前
Rocky Linux 二进制 安装K8S-1.35.0高可用集群
linux·运维·kubernetes
小技工丨16 小时前
华为TaiShan 200 2280 ARM服务器虚拟化部署完整指南
运维·服务器·arm开发
暮云星影16 小时前
二、linux系统 应用开发:整体Pipeline流程
linux·arm开发