PassNAT LogoPassNAT

开源数据应用框架DB-GPT Docker部署指南 NAS私有化部署与内网穿透配置

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

DB-GPT 是一个开源的 AI 原生数据应用开发框架,集成了 AWEL(智能工作流表达语言)和多智能体系统。它通过多模型管理、Text2SQL 优化、RAG 框架、多智能体协作等先进技术能力,让大模型应用与数据的交互变得更加简洁高效。

在 Data 3.0 时代,企业和开发者可以基于模型和数据库,用更少的代码构建自己独特的数据应用。DB-GPT 支持私有域问答、多数据源交互、生成式商业智能(GBI)、自动化微调等功能,让数据驱动的决策变得触手可得。无论你是数据分析师还是开发者,都能通过 DB-GPT 快速构建属于自己的数据智能应用。

项目地址: 点我跳转

部署安装

如果你想在公网环境中随时随地访问 DB-GPT,建议配置内网穿透工具。推荐使用 帕斯内网穿透,先完成账号注册。具体操作步骤可以参考 全平台快速上手指南,让你的应用轻松暴露到互联网。

使用 Docker Compose 快速部署

这是最推荐的部署方式,一次性配置完成所有服务。

第一步:准备配置文件

复制下列的 docker-compose 配置文件到你的服务器:

1# 运行此文件前,需要在环境中准备 SILICONFLOW_API_KEY
2# 执行命令:SILICONFLOW_API_KEY=你的密钥 docker compose up -d
3
4services:
5 db:
6 image: mysql/mysql-server
7 environment:
8 MYSQL_USER: 'user'
9 MYSQL_PASSWORD: 'password'
10 MYSQL_ROOT_PASSWORD: 'aa123456'
11 ports:
12 - 3306:3306
13 volumes:
14 - dbgpt-myql-db:/var/lib/mysql
15 - ./docker/examples/my.cnf:/etc/my.cnf
16 - ./docker/examples/sqls:/docker-entrypoint-initdb.d
17 - ./assets/schema/dbgpt.sql:/docker-entrypoint-initdb.d/dbgpt.sql
18 restart: unless-stopped
19 networks:
20 - dbgptnet
21
22 webserver:
23 image: eosphorosai/dbgpt-openai:latest
24 command: dbgpt start webserver --config /app/configs/dbgpt-proxy-siliconflow-mysql.toml
25 environment:
26 - SILICONFLOW_API_KEY=${SILICONFLOW_API_KEY}
27 - MYSQL_PASSWORD=aa123456
28 - MYSQL_HOST=db
29 - MYSQL_PORT=3306
30 - MYSQL_DATABASE=dbgpt
31 - MYSQL_USER=root
32 volumes:
33 - ./configs:/app/configs
34 - /data:/data
35 - /data/models:/app/models
36 - dbgpt-data:/app/pilot/data
37 - dbgpt-message:/app/pilot/message
38 depends_on:
39 - db
40 ports:
41 - 5670:5670/tcp
42 restart: unless-stopped
43 networks:
44 - dbgptnet
45 ipc: host
46
47volumes:
48 dbgpt-myql-db:
49 dbgpt-data:
50 dbgpt-message:
51 dbgpt-alembic-versions:
52
53networks:
54 dbgptnet:
55 driver: bridge
56 name: dbgptnet

第二步:配置必要的环境变量

在启动容器前,你需要获取 SiliconFlow API 密钥。访问 SiliconFlow 官网,注册账号并获取你的 API 密钥。

第三步:启动服务

打开你的 NAS 设备或服务器终端,执行以下命令启动所有服务:

1SILICONFLOW_API_KEY=你的实际密钥 docker compose up -d

系统会自动拉取 MySQL 和 DB-GPT 镜像,并完成初始化。整个过程可能需要几分钟,请耐心等待。

第四步:访问应用

部署完成后,打开浏览器访问:

1http://你的服务器IP:5670

即可进入 DB-GPT 的 Web 界面,开始构建你的数据应用。

环境变量说明

必须设置:

'SILICONFLOW_API_KEY':SiliconFlow 的 API 密钥,用于调用大语言模型服务

数据库配置(已预设,无需修改):

'MYSQL_PASSWORD':MySQL 密码(默认:aa123456)

'MYSQL_HOST':MySQL 主机地址(默认:db)

'MYSQL_PORT':MySQL 端口(默认:3306)

'MYSQL_DATABASE':数据库名称(默认:dbgpt)

'MYSQL_USER':MySQL 用户(默认:root)

端口映射说明

'5670':DB-GPT Web 服务端口,这是你访问应用的主要入口

'3306':MySQL 数据库端口,用于数据存储和管理

如果你的服务器上 5670 或 3306 端口已被占用,可以修改 docker-compose 文件中的端口映射。例如,要将 Web 服务改为 8080 端口,修改为:

1ports:
2 - 8080:5670/tcp

然后访问 'http://你的服务器IP:8080' 即可。

数据持久化

配置文件已包含以下持久化卷:

'dbgpt-myql-db':MySQL 数据库文件,确保你的数据不会因为容器重启而丢失

'dbgpt-data':应用数据存储目录

'dbgpt-message':消息记录目录

'/data/models':如果你有本地模型文件,可以挂载到此目录供应用使用

开机自动启动

容器已配置 'restart: unless-stopped',这意味着服务器重启后,DB-GPT 会自动启动,无需手动干预。

总结

通过上述步骤,你就可以在自己的服务器或 NAS 上成功部署 DB-GPT。这个框架为你打开了数据智能应用的大门——无论是构建私有知识库问答系统、连接多个数据源进行智能分析,还是开发复杂的多智能体工作流,DB-GPT 都能胜任。

立即开始你的数据智能之旅吧!