The quickest way to get SQLBot running is with a singleDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/dataease/SQLBot/llms.txt
Use this file to discover all available pages before exploring further.
docker run command. All application services — the FastAPI backend, the MCP server, the G2 chart renderer, and an embedded PostgreSQL database — run inside one container. Data is persisted through volume mounts so the container can be restarted or replaced without data loss.
Prerequisites
Linux server
Any modern Linux distribution with at least 2 CPU cores and 4 GB of RAM.
Docker installed
Docker Engine 20.10 or later. Visit the Docker installation guide if needed.
Deploying the container
Pull and start the container
Run the following command from any directory on your server. Docker will pull the latest
dataease/sqlbot image and start the container in detached mode.The
--privileged=true flag is required because the container starts its own PostgreSQL process. If your security policy prohibits privileged containers, use the Docker Compose deployment with an external database instead.Verify the container is running
Check that the container started successfully and that the health check is passing.You should see the message
PostgreSQL started. followed by the uvicorn startup lines for both the main app (port 8000) and the MCP server (port 8001).Volume mounts explained
Each volume mount keeps a specific category of data outside the container so it survives container restarts and upgrades.| Host path | Container path | Purpose |
|---|---|---|
./data/sqlbot/excel | /opt/sqlbot/data/excel | Excel files uploaded by users for data import. |
./data/sqlbot/file | /opt/sqlbot/data/file | General file uploads (documents, attachments). |
./data/sqlbot/images | /opt/sqlbot/images | Chart images generated by the MCP server and served to clients. |
./data/sqlbot/logs | /opt/sqlbot/app/logs | Application log files written by the backend. |
./data/postgresql | /var/lib/postgresql/data | PostgreSQL data directory. Loss of this volume means loss of all data. |
Ports explained
| Port | Purpose |
|---|---|
8000 | Main web UI and REST API. Users access the conversational interface through this port. |
8001 | MCP (Model Context Protocol) server. Used when integrating SQLBot with external agents such as n8n, Dify, or MaxKB. |