Files
FastapiAdmin/backend/requirements/base.txt
T
zhangtao ce9401196a chore(deploy): 成品部署链路、依赖分组与运维基建
部署方式:服务器不再接收源码、不执行构建,改为本地构建成品后交付
- deploy-artifacts.sh:构建→备份→校验→原子替换,支持回滚、镜像/备份轮转、
  mysql 与 postgres 双变体镜像;后端以 docker save|ssh|docker load 交付
- 依赖分组:requirements/{base,storage}.txt + db/{mysql,postgres,sqlite}.txt,
  镜像按所选数据库只装对应驱动(MySQL 变体 565MB → 521MB)

编排与运行时加固
- compose:MySQL/Redis/backend 端口仅绑 127.0.0.1;密钥(SECRET_KEY、
  DATA_ENCRYPTION_KEY、DATA_ENCRYPTION_OLD_KEYS)、PROD_CORS_ORIGINS、
  FORWARDED_ALLOW_IPS、DEMO_ENABLE 一律由 docker/.env 注入
- Dockerfile:对齐依赖分组、以非 root(uid=1000) 运行;.dockerignore 排除全部真实 .env.*
- nginx:静态资源长缓存、隐藏文件拒绝、接口文档仅内网可访问、放行 ACME http-01 校验路径

工程基建
- 新增 CI:backend(uv sync + ruff + pytest)与 frontend(web type-check+vitest、app type-check)
- 新增 DEPLOYMENT.md 运维手册(部署/回滚/密钥轮换/每日巡检/证书/排查)
2026-10-04 04:26:03 +08:00

35 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ============================================================================
# 核心依赖(与数据库、对象存储无关,任何部署方式都需要)
# 用法:pip install -r requirements/base.txt -r requirements/db/<你的数据库>.txt
# ============================================================================
agno==2.5.8 # AI agent 框架
aiosqlite==0.22.1 # AI 模块内嵌知识库固定用 sqlite(与主库类型无关),故列入核心
aiofiles==24.1.0 # 异步文件操作
alembic==1.18.4 # 数据库迁移
apscheduler==3.11.0 # 定时任务
bleach==6.4.0 # HTML 过滤
click==8.1.7 # 命令行参数解析(typer 依赖)
croniter==6.2.4 # cron 表达式校验
fastapi==0.138.2 # Web 框架
greenlet==3.5.2 # SQLAlchemy 异步必需
httpx==0.28.1 # HTTP 客户端
jinja2==3.1.6 # 模板引擎(代码生成)
loguru==0.7.3 # 日志
openai==2.46.0 # OpenAI 兼容接口
openpyxl==3.1.5 # Excel 导入导出
psutil==7.2.2 # 系统信息采集
py-ip2region==3.0.4 # IP 归属地离线查询
pydantic[email]>=2.12.5 # 数据校验 + 邮箱
pydantic-settings>=2.6.1,<3 # 配置管理
pyjwt==2.13.0 # 令牌签发校验
python-multipart==0.0.32 # 表单解析
redis==7.1.0 # 缓存 / 会话
rich==15.0.0 # 终端输出美化
sqlalchemy==2.0.51 # ORM
sqlglot[rs]==27.8.0 # SQL 解析
tinycss2==1.5.1 # bleach 依赖
typer==0.26.7 # CLI 入口(main.py)
ua-parser==1.0.2 # UA 解析
uvicorn==0.49.0 # ASGI 服务器
websockets>=16.0,<17.0 # WebSocket