TDengine IDMP (Industrial Data Management Platform) is an AI-native data management platform for IoT and industrial scenarios. It organizes sensor and device data in a classic tree-like hierarchy, builds a data catalog, contextualizes and standardizes the information, and offers real-time analytics, visualization, event management, and alerting.
Note: TDengine IDMP requires a running TDengine TSDB instance as its data source. See the Docker Compose Example below or the Deployment Repository for complete deployment instructions.
# 1. Start TDengine TSDB
docker run -d \
--name tdengine-tsdb \
-p 6041:6041 \
tdengine/tsdb-ee:latest
# 2. Start TDengine IDMP (linked to TSDB)
docker run -d \
--name tdengine-idmp \
--link tdengine-tsdb \
-p 6042:6042 \
-p 6038:6038 \
-e TSDB_URL=http://tdengine-tsdb:6041 \
tdengine/idmp-ee:latest
Once the container is running, access the IDMP web interface at http://localhost:6042.
| Image | Description |
|---|---|
tdengine/idmp-ee | TDengine IDMP Enterprise Edition — full-featured platform with web UI, analytics, visualization, event management, and alerting |
tdengine/idmp-ai-ee | TDengine IDMP AI Edition — AI service component with OCR, sentence-transformer models, and intelligent data analysis capabilities |
Images are available for the following architectures:
linux/amd64 (x86_64)linux/arm64 (aarch64)| Port | Protocol | Type | Service |
|---|---|---|---|
6042 | HTTP | External | IDMP Web UI and REST API |
6034 | HTTPS | External | Secure access to Web UI and REST API (recommended for production) |
6037 | MCP | External | AI Agent access port |
6038 | HTTP | Internal | Embedded H2 database web console |
6039 | TCP | Internal | Embedded H2 database listener |
6040 | HTTP | Internal | AI chat service API (AI image only) |
Ensure that external ports (6042, 6034, 6037) are accessible through firewalls. Internal ports should only be accessible within the private network.
| Variable | Description | Default |
|---|---|---|
TZ | Container timezone (e.g. Asia/Shanghai) | UTC |
TSDB_URL | TDengine TSDB REST API URL | http://localhost:6041 |
IDMP_URL | Externally accessible IDMP URL (used for link generation, callbacks) | http://localhost:6042 |
QUARKUS_PROFILE | Application runtime profile | prod |
AI_SERVER_URL | URL of the IDMP AI service | http://tdengine-idmp-ai:6040 |
H2_EXTERNAL_NAME | External hostname for the H2 web console | — |
TDA_AI_CONN_ZH | AI LLM provider for Chinese | DeepSeek |
TDA_AI_CONN_EN | AI LLM provider for English | OpenAI |
| Variable | Description | Default |
|---|---|---|
TZ | Container timezone | UTC |
IDMP_URL | IDMP service URL | http://tdengine-idmp:6042 |
IDMP_JAVA_API_URL | IDMP Java API URL | http://tdengine-idmp:6042/ |
TDA_AI_CONN_ZH | AI LLM provider for Chinese | DeepSeek |
TDA_AI_CONN_EN | AI LLM provider for English | OpenAI |
IDMP_DATA_PATH | Data storage path | /var/lib/taos/idmp |
IDMP_LOG_PATH | Log output path | /var/log/taos |
To preserve data across container restarts, mount the following volumes:
docker run -d \
--name tdengine-idmp \
-p 6042:6042 \
-p 6038:6038 \
-e TSDB_URL=http://your-tsdb-host:6041 \
-v idmp-data:/var/lib/taos \
-v idmp-logs:/var/log/taos \
tdengine/idmp-ee:latest
| Mount Point | Description |
|---|---|
/var/lib/taos | Application data (H2 database, etc.) |
/var/log/taos | Application logs |
/usr/local/taos/idmp/config | Configuration files |
services:
tdengine-tsdb:
image: tdengine/tsdb-ee:latest
container_name: tdengine-tsdb
hostname: tdengine
restart: always
environment:
TZ: "${TZ:-UTC}"
ports:
- "6041:6041"
volumes:
- tsdb_data:/var/lib/taos
- tsdb_log:/var/log/taos
healthcheck:
test: ["CMD", "taos", "-h", "localhost", "-s", "show databases;"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
tdengine-idmp:
image: tdengine/idmp-ee:latest
container_name: tdengine-idmp
restart: always
depends_on:
tdengine-tsdb:
condition: service_healthy
environment:
TZ: "${TZ:-UTC}"
TSDB_URL: "http://tdengine-tsdb:6041"
IDMP_URL: "${IDMP_URL:-http://localhost:6042}"
AI_SERVER_URL: "http://tdengine-idmp-ai:6040"
ports:
- "6042:6042"
- "6038:6038"
volumes:
- idmp_data:/var/lib/taos
- idmp_log:/var/log/taos
tdengine-idmp-ai:
image: tdengine/idmp-ai-ee:latest
container_name: tdengine-idmp-ai
restart: always
environment:
TZ: "${TZ:-UTC}"
IDMP_URL: "http://tdengine-idmp:6042"
IDMP_JAVA_API_URL: "http://tdengine-idmp:6042/"
ports:
- "6040:6040"
volumes:
- idmp_data:/var/lib/taos
- idmp_log:/var/log/taos
volumes:
tsdb_data:
tsdb_log:
idmp_data:
idmp_log:
tdengine (UID 101, GID 101)en_US.UTF-8, with zh_CN.UTF-8 supportThe main configuration file is located at /usr/local/taos/idmp/config/application.yml inside the container. You can override it by mounting a custom configuration:
docker run -d \
--name tdengine-idmp \
-p 6042:6042 \
-e TSDB_URL=http://your-tsdb-host:6041 \
-v /path/to/application.yml:/usr/local/taos/idmp/config/application.yml \
tdengine/idmp-ee:latest
For production-grade deployment instructions — including Docker Compose, Ansible (multi-machine), and Helm (Kubernetes) — see the TDengine IDMP Deployment repository.
| Method | Use Case | Guide |
|---|---|---|
| Docker | Single-machine containerized deployment | Docker Deployment Guide |
| Ansible | Automated multi-machine deployment | Ansible Deployment Guide |
| Helm | Kubernetes cluster deployment | Helm Deployment Guide |
TDengine IDMP Enterprise Edition is proprietary software. A valid license is required for production use. Please contact TDengine Sales for licensing information.
Content type
Image
Digest
sha256:5ed66cbe2…
Size
987.1 MB
Last updated
2 months ago
docker pull tdengine/idmp-ee