本文档提供了 SQLBot 应用程序的 Docker 部署指南。SQLBot 是一个基于 PostgreSQL 数据库的应用程序,包含主应用服务和数据库服务。
- Docker 20.10.0 或更高版本
- Docker Compose 1.29.0 或更高版本
- 至少 2GB 可用内存
- 至少 10GB 可用磁盘空间
确保已安装 Docker 和 Docker Compose
mkdir -p sqlbot-deployment/data/{sqlbot/excel,sqlbot/images,sqlbot/logs,postgresql}
cd sqlbot-deployment在项目目录中创建 docker-compose.yml 文件,内容如下:
version: '3.8'
services:
sqlbot:
image: ghcr.io/vicnoah/sqlbot:latest
container_name: sqlbot
restart: always
networks:
- sqlbot-network
ports:
- 8000:8000
- 8001:8001
environment:
# Database configuration
POSTGRES_SERVER: sqlbot-db
POSTGRES_PORT: 5432
POSTGRES_DB: sqlbot
POSTGRES_USER: sqlbot
POSTGRES_PASSWORD: sqlbot
# Project basic settings
PROJECT_NAME: "SQLBot"
DEFAULT_PWD: "SQLBot@123456"
# MCP settings
SERVER_IMAGE_HOST: https://YOUR_SERVE_IP:MCP_PORT/images/
# Auth & Security
SECRET_KEY: y5txe1mRmS_JpOrUzFzHEu-kIQn3lf7ll0AOv9DQh0s
# CORS settings
BACKEND_CORS_ORIGINS: "http://localhost,http://localhost:5173,https://localhost,https://localhost:5173"
# Logging
LOG_LEVEL: "INFO"
SQL_DEBUG: False
volumes:
- ./data/sqlbot/excel:/opt/sqlbot/data/excel
- ./data/sqlbot/images:/opt/sqlbot/images
- ./data/sqlbot/logs:/opt/sqlbot/logs
depends_on:
sqlbot-db:
condition: service_healthy
sqlbot-db:
image: pgvector/pgvector:pg17-trixie
container_name: sqlbot-db
restart: always
networks:
- sqlbot-network
ports:
- "5432:5432"
volumes:
- ./data/postgresql:/var/lib/postgresql/data
environment:
POSTGRES_DB: sqlbot
POSTGRES_USER: sqlbot
POSTGRES_PASSWORD: sqlbot
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 3s
timeout: 5s
retries: 5
networks:
sqlbot-network:国内环境可采用此yaml
version: '3.8'
services:
sqlbot:
image: ghcr.1ms.run/vicnoah/sqlbot:latest
container_name: sqlbot
restart: always
networks:
- sqlbot-network
ports:
- 8000:8000
- 8001:8001
environment:
# Database configuration
POSTGRES_SERVER: sqlbot-db
POSTGRES_PORT: 5432
POSTGRES_DB: sqlbot
POSTGRES_USER: sqlbot
POSTGRES_PASSWORD: sqlbot
# Project basic settings
PROJECT_NAME: "SQLBot"
DEFAULT_PWD: "SQLBot@123456"
# MCP settings
SERVER_IMAGE_HOST: https://YOUR_SERVE_IP:MCP_PORT/images/
# Auth & Security
SECRET_KEY: y5txe1mRmS_JpOrUzFzHEu-kIQn3lf7ll0AOv9DQh0s
# CORS settings
BACKEND_CORS_ORIGINS: "http://localhost,http://localhost:5173,https://localhost,https://localhost:5173"
# Logging
LOG_LEVEL: "INFO"
SQL_DEBUG: False
volumes:
- ./data/sqlbot/excel:/opt/sqlbot/data/excel
- ./data/sqlbot/images:/opt/sqlbot/images
- ./data/sqlbot/logs:/opt/sqlbot/logs
depends_on:
sqlbot-db:
condition: service_healthy
sqlbot-db:
image: docker.1ms.run/pgvector/pgvector:pg17-trixie
container_name: sqlbot-db
restart: always
networks:
- sqlbot-network
ports:
- "5432:5432"
volumes:
- ./data/postgresql:/var/lib/postgresql/data
environment:
POSTGRES_DB: sqlbot
POSTGRES_USER: sqlbot
POSTGRES_PASSWORD: sqlbot
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 3s
timeout: 5s
retries: 5
networks:
sqlbot-network:根据您的实际环境修改以下配置:
SERVER_IMAGE_HOST: 替换YOUR_SERVE_IP和MCP_PORT为实际的服务器 IP 和端口BACKEND_CORS_ORIGINS: 添加您的前端应用地址SECRET_KEY: 建议生成新的密钥替换默认值
docker-compose up -d-
检查容器状态:
docker-compose ps
应该看到两个服务都处于运行状态。
-
检查应用日志:
docker-compose logs sqlbot
-
访问应用:
- API 服务:
http://localhost:8000 - 其他服务端口:
8001
- API 服务:
部署完成后,请按以下步骤访问 SQLBot 管理界面:
-
打开浏览器,访问:
http://您的服务器IP:8000 -
使用以下默认凭据登录:
- 用户名:
admin - 密码:
SQLBot@123456
- 用户名:
-
登录成功后,您将看到 SQLBot 的主管理界面
主页面,包含多租户等功能
租户空间管理
AI模型设置
行列权限管理
SQL示例库
授权信息

数据持久化
• 数据库数据存储在 ./data/postgresql 目录
• 应用数据存储在 ./data/sqlbot 下的各个子目录中
维护命令
• 停止服务: docker-compose down
• 重启服务: docker-compose restart
• 更新镜像: docker-compose pull docker-compose up -d
SQLBot 是一款基于大模型和 RAG 的智能问数系统。SQLBot 的优势包括:
- 开箱即用: 只需配置大模型和数据源即可开启问数之旅,通过大模型和 RAG 的结合来实现高质量的 text2sql;
- 易于集成: 支持快速嵌入到第三方业务系统,也支持被 n8n、MaxKB、Dify、Coze 等 AI 应用开发平台集成调用,让各类应用快速拥有智能问数能力;
- 安全可控: 提供基于工作空间的资源隔离机制,能够实现细粒度的数据权限控制。
准备一台 Linux 服务器,安装好 Docker,执行以下一键安装脚本:
docker run -d \
--name sqlbot \
--restart unless-stopped \
-p 8000:8000 \
-p 8001:8001 \
-v ./data/sqlbot/excel:/opt/sqlbot/data/excel \
-v ./data/sqlbot/file:/opt/sqlbot/data/file \
-v ./data/sqlbot/images:/opt/sqlbot/images \
-v ./data/sqlbot/logs:/opt/sqlbot/app/logs \
-v ./data/postgresql:/var/lib/postgresql/data \
--privileged=true \
dataease/sqlbot你也可以通过 1Panel 应用商店 快速部署 SQLBot。
如果是内网环境,你可以通过 离线安装包方式 部署 SQLBot。
- 在浏览器中打开: http://<你的服务器IP>:8000/
- 用户名: admin
- 密码: SQLBot@123456
如你有更多问题,可以加入我们的技术交流群与我们交流。
- DataEase - 人人可用的开源 BI 工具
- 1Panel - 现代化、开源的 Linux 服务器运维管理面板
- MaxKB - 强大易用的企业级智能体平台
- JumpServer - 广受欢迎的开源堡垒机
- Cordys CRM - 新一代的开源 AI CRM 系统
- Halo - 强大易用的开源建站工具
- MeterSphere - 新一代的开源持续测试工具
本仓库遵循 FIT2CLOUD Open Source License 开源协议,该许可证本质上是 GPLv3,但有一些额外的限制。
你可以基于 SQLBot 的源代码进行二次开发,但是需要遵守以下规定:
- 不能替换和修改 SQLBot 的 Logo 和版权信息;
- 二次开发后的衍生作品必须遵守 GPL V3 的开源义务。
如需商业授权,请联系 [email protected] 。
