Docker Compose Deployment
Deploy DB-GPT with MySQL using Docker Compose â a production-ready setup with persistent storage.
Prerequisitesâ
- Docker and Docker Compose installed
- An API key from a supported provider
Quick startâ
The root docker-compose.yml deploys DB-GPT with a MySQL database and SiliconFlow as the default LLM provider.
Step 1 â Set your API keyâ
- SiliconFlow
- AI/ML API
export SILICONFLOW_API_KEY="your-siliconflow-api-key"
Get your key at SiliconFlow.
export AIMLAPI_API_KEY="your-aiml-api-key"
Get your key at AI/ML API.
Step 2 â Start the servicesâ
- SiliconFlow
- AI/ML API
SILICONFLOW_API_KEY=${SILICONFLOW_API_KEY} docker compose up -d
AIMLAPI_API_KEY=${AIMLAPI_API_KEY} docker compose up -d
You should see output like:
[+] Running 3/3
â Network dbgptnet Created 0.0s
â Container db-gpt-db-1 Started 0.2s
â Container db-gpt-webserver-1 Started 0.2s
Step 3 â Open the Web UIâ
Visit http://localhost:5670 in your browser.
The webserver waits for MySQL to finish initializing. If it fails on first start, it will auto-restart. Check logs with docker logs db-gpt-webserver-1 -f.
What gets deployedâ
The default docker-compose.yml creates:
| Service | Image | Port | Purpose |
|---|---|---|---|
db | mysql/mysql-server | 3306 | MySQL database for metadata |
webserver | eosphorosai/dbgpt-openai:latest | 5670 | DB-GPT application server |
Common operationsâ
View logsâ
# Webserver logs
docker logs db-gpt-webserver-1 -f
# Database logs
docker logs db-gpt-db-1 -f
Stop servicesâ
docker compose down
Restart servicesâ
docker compose restart
Reset everything (including data)â
docker compose down -v
The -v flag removes all volumes, including the MySQL database. All data will be lost.
Customizationâ
Use a different config fileâ
Mount your own TOML config and override the startup command:
webserver:
image: eosphorosai/dbgpt-openai:latest
command: dbgpt start webserver --config /app/configs/your-config.toml
volumes:
- ./your-config.toml:/app/configs/your-config.toml
Mount local modelsâ
For GPU deployments, mount a local models directory:
webserver:
volumes:
- /data/models:/app/models
deploy:
resources:
reservations:
devices:
- driver: nvidia
capabilities: [gpu]
Other Compose examplesâ
DB-GPT ships with additional Compose files for specific scenarios:
| File | Use case |
|---|---|
docker-compose.yml | Default proxy deployment with MySQL |
docker/compose_examples/cluster-docker-compose.yml | Multi-worker cluster with GPU |
docker/compose_examples/ha-cluster-docker-compose.yml | High-availability cluster |
docker/compose_examples/dbgpt-oceanbase-docker-compose.yml | OceanBase database backend |
Example:
docker compose -f docker/compose_examples/cluster-docker-compose.yml up -d
Next stepsâ
| Topic | Link |
|---|---|
| Cluster deployment | Cluster |
| Docker (single container) | Docker |
| Source code deployment | Source Code |