fix(container): include agentic compose service

This commit is contained in:
pnoker
2026-05-09 17:58:15 +08:00
parent 2770eeebca
commit a45f2f5ec1
20 changed files with 292 additions and 63 deletions
+9
View File
@@ -7,6 +7,7 @@ DC3_IMAGE_TAG=2026.5
DC3_LOG_MAX_SIZE=10M
DC3_LOG_MAX_FILE=20
DC3_BIND_HOST=127.0.0.1
APM_AGENT_ENABLE=false
# Base dependency stack
POSTGRES_USERNAME=dc3
@@ -24,9 +25,17 @@ DC3_MANAGER_PORT=8400
DC3_MANAGER_GRPC_PORT=9400
DC3_DATA_PORT=8500
DC3_DATA_GRPC_PORT=9500
DC3_AGENTIC_PORT=8600
DC3_LISTENING_VIRTUAL_DRIVER_PORT=6270
DC3_LISTENING_VIRTUAL_GRPC_PORT=6271
# Agentic / OpenAI-compatible API defaults
OPENAI_BASE_URL=https://api.openai.com
OPENAI_API_KEY=
OPENAI_MODEL=gpt-4o
OPENAI_TEMPERATURE=0.7
OPENAI_MAX_TOKENS=2048
# Optional EMQX stack published ports
DC3_EMQX_WS_PORT=38083
DC3_EMQX_WSS_PORT=38084
+1
View File
@@ -73,6 +73,7 @@ jobs:
services=(
"dc3-gateway:dc3-gateway"
"dc3-center-agentic:dc3-center/dc3-center-agentic"
"dc3-center-auth:dc3-center/dc3-center-auth"
"dc3-center-data:dc3-center/dc3-center-data"
"dc3-center-manager:dc3-center/dc3-center-manager"
+7
View File
@@ -103,6 +103,7 @@ Common overrides used by the Compose stacks in `dc3/`:
| `DC3_LOG_MAX_SIZE` | `10M` | Maximum size per container log file |
| `DC3_LOG_MAX_FILE` | `20` | Number of rotated log files to keep |
| `DC3_BIND_HOST` | `127.0.0.1` | Host address used for published ports; set `0.0.0.0` if you need LAN access |
| `APM_AGENT_ENABLE` | `false` | Enables the Java APM agent in application containers |
| `POSTGRES_USERNAME` | `dc3` | Username used by the Postgres health check |
| `POSTGRES_DB` | `dc3` | Database name used by the Postgres health check |
| `DC3_POSTGRES_PORT` | `35432` | Published PostgreSQL port |
@@ -112,7 +113,10 @@ Common overrides used by the Compose stacks in `dc3/`:
| `DC3_AUTH_PORT` / `DC3_AUTH_GRPC_PORT` | `8300` / `9300` | Auth center HTTP and gRPC ports |
| `DC3_MANAGER_PORT` / `DC3_MANAGER_GRPC_PORT` | `8400` / `9400` | Manager center HTTP and gRPC ports |
| `DC3_DATA_PORT` / `DC3_DATA_GRPC_PORT` | `8500` / `9500` | Data center HTTP and gRPC ports |
| `DC3_AGENTIC_PORT` | `8600` | Agentic center HTTP port |
| `DC3_LISTENING_VIRTUAL_DRIVER_PORT` / `DC3_LISTENING_VIRTUAL_GRPC_PORT` | `6270` / `6271` | Listening virtual driver ports |
| `OPENAI_BASE_URL` / `OPENAI_MODEL` | `https://api.openai.com` / `gpt-4o` | OpenAI-compatible endpoint and chat model for Agentic center |
| `OPENAI_API_KEY` | empty | OpenAI-compatible API key for Agentic center |
| `DC3_EMQX_WS_PORT` / `DC3_EMQX_WSS_PORT` | `38083` / `38084` | EMQX WebSocket endpoints |
| `DC3_EMQX_MQTT_PORT` / `DC3_EMQX_MQTTS_PORT` | `31883` / `38883` | EMQX MQTT / MQTTS ports |
| `DC3_EMQX_DASHBOARD_PORT` | `18083` | EMQX dashboard port |
@@ -154,6 +158,9 @@ java -jar dc3-center/dc3-center-data/target/dc3-center-data.jar
# Manager Center
java -jar dc3-center/dc3-center-manager/target/dc3-center-manager.jar
# Agentic Center
java -jar dc3-center/dc3-center-agentic/target/dc3-center-agentic.jar
# Virtual Driver
java -jar dc3-driver/dc3-driver-virtual/target/dc3-driver-virtual.jar
+5 -1
View File
@@ -89,7 +89,8 @@ cp .env.example .env
```
根目录 `.env` 用于 `dc3/` 下 Compose 文件的变量插值;应用运行时环境变量仍然位于 `dc3/env/dev.env`
`dc3/env/dev.env.sh`
`dc3/env/dev.env.sh`如果启用 Agentic Center,请在 `.env` 或当前 shell 中配置 `OPENAI_BASE_URL`
`OPENAI_API_KEY``OPENAI_MODEL` 等 OpenAI 兼容参数。
## 3.2 准备工作
@@ -121,6 +122,9 @@ java -jar dc3-center/dc3-center-data/target/dc3-center-data.jar
# 管理中心
java -jar dc3-center/dc3-center-manager/target/dc3-center-manager.jar
# Agentic 中心
java -jar dc3-center/dc3-center-agentic/target/dc3-center-agentic.jar
# 虚拟驱动
java -jar dc3-driver/dc3-driver-virtual/target/dc3-driver-virtual.jar
@@ -1,5 +1,6 @@
spring:
env: dev
group: ${user.name}
datasource:
dynamic:
datasource:
@@ -1,2 +1,28 @@
# Pre-release environment configuration
spring:
env: pre
datasource:
dynamic:
datasource:
master:
url: jdbc:postgresql://${POSTGRES_HOST:dc3-postgres}:${POSTGRES_PORT:5432}/${POSTGRES_DB:dc3}?currentSchema=${POSTGRES_SCHEMA:dc3_agentic}&applicationName=dc3&ssl=false&stringtype=unspecified&clientEncoding=UTF8&serverTimezone=Asia/Shanghai
username: ${POSTGRES_USERNAME:dc3}
password: ${POSTGRES_PASSWORD:dc3dc3dc3}
grpc:
client:
channels:
dc3-center-auth:
address: 'static://${CENTER_AUTH_HOST:dc3-center-auth}:9300'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
dc3-center-manager:
address: 'static://${CENTER_MANAGER_HOST:dc3-center-manager}:9400'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
dc3-center-data:
address: 'static://${CENTER_DATA_HOST:dc3-center-data}:9500'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
@@ -1,2 +1,28 @@
# Production environment configuration
spring:
env: pro
datasource:
dynamic:
datasource:
master:
url: jdbc:postgresql://${POSTGRES_HOST:dc3-postgres}:${POSTGRES_PORT:5432}/${POSTGRES_DB:dc3}?currentSchema=${POSTGRES_SCHEMA:dc3_agentic}&applicationName=dc3&ssl=false&stringtype=unspecified&clientEncoding=UTF8&serverTimezone=Asia/Shanghai
username: ${POSTGRES_USERNAME:dc3}
password: ${POSTGRES_PASSWORD:dc3dc3dc3}
grpc:
client:
channels:
dc3-center-auth:
address: 'static://${CENTER_AUTH_HOST:dc3-center-auth}:9300'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
dc3-center-manager:
address: 'static://${CENTER_MANAGER_HOST:dc3-center-manager}:9400'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
dc3-center-data:
address: 'static://${CENTER_DATA_HOST:dc3-center-data}:9500'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
@@ -1,2 +1,32 @@
# Test environment configuration will overwrite the content configured in application-*.yml
spring:
env: test
datasource:
dynamic:
datasource:
master:
url: jdbc:postgresql://${POSTGRES_HOST:dc3-postgres}:${POSTGRES_PORT:5432}/${POSTGRES_DB:dc3}?currentSchema=${POSTGRES_SCHEMA:dc3_agentic}&applicationName=dc3&ssl=false&stringtype=unspecified&clientEncoding=UTF8&serverTimezone=Asia/Shanghai
username: ${POSTGRES_USERNAME:dc3}
password: ${POSTGRES_PASSWORD:dc3dc3dc3}
grpc:
client:
channels:
dc3-center-auth:
address: 'static://${CENTER_AUTH_HOST:dc3-center-auth}:9300'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
dc3-center-manager:
address: 'static://${CENTER_MANAGER_HOST:dc3-center-manager}:9400'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
dc3-center-data:
address: 'static://${CENTER_DATA_HOST:dc3-center-data}:9500'
enable-keep-alive: true
keep-alive-without-calls: true
negotiation-type: PLAINTEXT
logging:
level:
io.github.pnoker: DEBUG
+10 -5
View File
@@ -17,10 +17,15 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
set -e
set -euo pipefail
cd dc3
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
compose_file="${script_dir}/../docker-compose-db-aliyun.yml"
podman compose -f docker-compose-db-aliyun.yml pull
podman compose -f docker-compose-db-aliyun.yml down -v
podman compose -f docker-compose-db-aliyun.yml up -d
podman compose -f "${compose_file}" pull
if [[ "${RESET_VOLUMES:-false}" == "true" ]]; then
podman compose -f "${compose_file}" down -v
else
podman compose -f "${compose_file}" down
fi
podman compose -f "${compose_file}" up -d
+10 -5
View File
@@ -17,10 +17,15 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
set -e
set -euo pipefail
cd dc3
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
compose_file="${script_dir}/../docker-compose-elasticsearch-aliyun.yml"
podman compose -f docker-compose-elasticsearch-aliyun.yml pull
podman compose -f docker-compose-elasticsearch-aliyun.yml down -v
podman compose -f docker-compose-elasticsearch-aliyun.yml up -d
podman compose -f "${compose_file}" pull
if [[ "${RESET_VOLUMES:-false}" == "true" ]]; then
podman compose -f "${compose_file}" down -v
else
podman compose -f "${compose_file}" down
fi
podman compose -f "${compose_file}" up -d
+10 -5
View File
@@ -17,10 +17,15 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
set -e
set -euo pipefail
cd dc3
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
compose_file="${script_dir}/../docker-compose-grafana-aliyun.yml"
podman compose -f docker-compose-grafana-aliyun.yml pull
podman compose -f docker-compose-grafana-aliyun.yml down -v
podman compose -f docker-compose-grafana-aliyun.yml up -d
podman compose -f "${compose_file}" pull
if [[ "${RESET_VOLUMES:-false}" == "true" ]]; then
podman compose -f "${compose_file}" down -v
else
podman compose -f "${compose_file}" down
fi
podman compose -f "${compose_file}" up -d
+1
View File
@@ -72,6 +72,7 @@ iot-dc3 (root pom)
| dc3-center-auth | dc3-common-auth | 8300 | 9300 |
| dc3-center-data | dc3-common-data, facade-grpc | 8500 | 9500 |
| dc3-center-manager | dc3-common-manager, facade-grpc | 8400 | 9400 |
| dc3-center-agentic | dc3-common-agentic, facade-grpc | 8600 | - |
| dc3-center-single | auth+manager+data (facade-local) | 8200 | 9200 |
## dc3-driver - Protocol Drivers
+2 -1
View File
@@ -110,12 +110,13 @@ make compose-restart STACK=dev
| Auth Center | 8300 | 9300 |
| Manager Center | 8400 | 9400 |
| Data Center | 8500 | 9500 |
| Agentic Center | 8600 | - |
## 9. Recommended local workflow
1. `make dev-db`
2. `mvn -s .mvn/settings.xml clean package`
3. Run Gateway -> Auth -> Data -> Manager -> Driver
3. Run Gateway -> Auth -> Data -> Manager -> Agentic -> Driver
4. Test APIs via Gateway at http://localhost:8000/api/v3/...
5. If using observability stack, start Grafana/ELK after the core platform is stable
+1 -1
View File
@@ -40,7 +40,7 @@ Then rebuild.
## 4. Ports already in use
**Symptom**: Application fails to start due to occupied ports (8000/8300/8400/8500/9300/9400/9500).
**Symptom**: Application fails to start due to occupied ports (8000/8300/8400/8500/8600/9300/9400/9500).
**Resolution**: Override ports using environment variables or `.env` values.
+34 -11
View File
@@ -29,7 +29,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_GATEWAY_PORT:-8000}:8000"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-gateway
hostname: dc3-gateway
volumes:
@@ -48,7 +48,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AUTH_GRPC_PORT:-9300}:9300"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-auth
hostname: dc3-center-auth
volumes:
@@ -67,7 +67,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_MANAGER_GRPC_PORT:-9400}:9400"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-manager
hostname: dc3-center-manager
volumes:
@@ -86,7 +86,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_DATA_GRPC_PORT:-9500}:9500"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-data
hostname: dc3-center-data
volumes:
@@ -97,6 +97,29 @@ services:
aliases:
- dc3-center-data
agentic:
image: registry.cn-beijing.aliyuncs.com/dc3/dc3-center-agentic:${DC3_IMAGE_TAG:-2026.5}
restart: always
ports:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AGENTIC_PORT:-8600}:8600"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o}
- OPENAI_TEMPERATURE=${OPENAI_TEMPERATURE:-0.7}
- OPENAI_MAX_TOKENS=${OPENAI_MAX_TOKENS:-2048}
container_name: dc3-center-agentic
hostname: dc3-center-agentic
volumes:
- logs:/dc3-center/dc3-center-agentic/dc3/logs
logging: *default-logging
networks:
dc3net:
aliases:
- dc3-center-agentic
listening-virtual:
image: registry.cn-beijing.aliyuncs.com/dc3/dc3-driver-listening-virtual:${DC3_IMAGE_TAG:-2026.5}
restart: always
@@ -105,7 +128,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_LISTENING_VIRTUAL_GRPC_PORT:-6271}:6271"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-listening-virtual
hostname: dc3-driver-listening-virtual
volumes:
@@ -121,7 +144,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-modbus-tcp
hostname: dc3-driver-modbus-tcp
volumes:
@@ -137,7 +160,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-mqtt
hostname: dc3-driver-mqtt
volumes:
@@ -153,7 +176,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-da
hostname: dc3-driver-opc-da
volumes:
@@ -169,7 +192,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-ua
hostname: dc3-driver-opc-ua
volumes:
@@ -185,7 +208,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-plcs7
hostname: dc3-driver-plcs7
volumes:
@@ -201,7 +224,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-virtual
hostname: dc3-driver-virtual
volumes:
+37 -11
View File
@@ -32,7 +32,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_GATEWAY_PORT:-8000}:8000"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=true
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-gateway
hostname: dc3-gateway
volumes:
@@ -54,7 +54,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AUTH_GRPC_PORT:-9300}:9300"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=true
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-auth
hostname: dc3-center-auth
volumes:
@@ -76,7 +76,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_MANAGER_GRPC_PORT:-9400}:9400"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-manager
hostname: dc3-center-manager
volumes:
@@ -98,7 +98,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_DATA_GRPC_PORT:-9500}:9500"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-data
hostname: dc3-center-data
volumes:
@@ -109,6 +109,32 @@ services:
aliases:
- dc3-center-data
agentic:
build:
context: ../dc3-center/dc3-center-agentic/
dockerfile: ./Dockerfile
image: registry.cn-beijing.aliyuncs.com/dc3/dc3-center-agentic:${DC3_IMAGE_TAG:-2026.5}
restart: always
ports:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AGENTIC_PORT:-8600}:8600"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o}
- OPENAI_TEMPERATURE=${OPENAI_TEMPERATURE:-0.7}
- OPENAI_MAX_TOKENS=${OPENAI_MAX_TOKENS:-2048}
container_name: dc3-center-agentic
hostname: dc3-center-agentic
volumes:
- logs:/dc3-center/dc3-center-agentic/dc3/logs
logging: *default-logging
networks:
dc3net:
aliases:
- dc3-center-agentic
listening-virtual:
build:
context: ../dc3-driver/dc3-driver-listening-virtual/
@@ -120,7 +146,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_LISTENING_VIRTUAL_GRPC_PORT:-6271}:6271"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-listening-virtual
hostname: dc3-driver-listening-virtual
volumes:
@@ -139,7 +165,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-modbus-tcp
hostname: dc3-driver-modbus-tcp
volumes:
@@ -158,7 +184,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-mqtt
hostname: dc3-driver-mqtt
volumes:
@@ -177,7 +203,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-da
hostname: dc3-driver-opc-da
volumes:
@@ -196,7 +222,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-ua
hostname: dc3-driver-opc-ua
volumes:
@@ -215,7 +241,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-plcs7
hostname: dc3-driver-plcs7
volumes:
@@ -234,7 +260,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-virtual
hostname: dc3-driver-virtual
volumes:
+37 -11
View File
@@ -32,7 +32,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_GATEWAY_PORT:-8000}:8000"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-gateway
hostname: dc3-gateway
volumes:
@@ -54,7 +54,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AUTH_GRPC_PORT:-9300}:9300"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-auth
hostname: dc3-center-auth
volumes:
@@ -76,7 +76,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_MANAGER_GRPC_PORT:-9400}:9400"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-manager
hostname: dc3-center-manager
volumes:
@@ -98,7 +98,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_DATA_GRPC_PORT:-9500}:9500"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-data
hostname: dc3-center-data
volumes:
@@ -109,6 +109,32 @@ services:
aliases:
- dc3-center-data
agentic:
build:
context: ../dc3-center/dc3-center-agentic/
dockerfile: ./Dockerfile
image: pnoker/dc3-center-agentic:${DC3_IMAGE_TAG:-2026.5}
restart: always
ports:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AGENTIC_PORT:-8600}:8600"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o}
- OPENAI_TEMPERATURE=${OPENAI_TEMPERATURE:-0.7}
- OPENAI_MAX_TOKENS=${OPENAI_MAX_TOKENS:-2048}
container_name: dc3-center-agentic
hostname: dc3-center-agentic
volumes:
- logs:/dc3-center/dc3-center-agentic/dc3/logs
logging: *default-logging
networks:
dc3net:
aliases:
- dc3-center-agentic
listening-virtual:
build:
context: ../dc3-driver/dc3-driver-listening-virtual/
@@ -120,7 +146,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_LISTENING_VIRTUAL_GRPC_PORT:-6271}:6271"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-listening-virtual
hostname: dc3-driver-listening-virtual
volumes:
@@ -139,7 +165,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-modbus-tcp
hostname: dc3-driver-modbus-tcp
volumes:
@@ -158,7 +184,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-mqtt
hostname: dc3-driver-mqtt
volumes:
@@ -177,7 +203,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-da
hostname: dc3-driver-opc-da
volumes:
@@ -196,7 +222,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-ua
hostname: dc3-driver-opc-ua
volumes:
@@ -215,7 +241,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-plcs7
hostname: dc3-driver-plcs7
volumes:
@@ -234,7 +260,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-virtual
hostname: dc3-driver-virtual
volumes:
+34 -11
View File
@@ -29,7 +29,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_GATEWAY_PORT:-8000}:8000"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-gateway
hostname: dc3-gateway
volumes:
@@ -48,7 +48,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AUTH_GRPC_PORT:-9300}:9300"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-auth
hostname: dc3-center-auth
volumes:
@@ -67,7 +67,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_MANAGER_GRPC_PORT:-9400}:9400"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-manager
hostname: dc3-center-manager
volumes:
@@ -86,7 +86,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_DATA_GRPC_PORT:-9500}:9500"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-center-data
hostname: dc3-center-data
volumes:
@@ -97,6 +97,29 @@ services:
aliases:
- dc3-center-data
agentic:
image: pnoker/dc3-center-agentic:${DC3_IMAGE_TAG:-2026.5}
restart: always
ports:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AGENTIC_PORT:-8600}:8600"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- OPENAI_MODEL=${OPENAI_MODEL:-gpt-4o}
- OPENAI_TEMPERATURE=${OPENAI_TEMPERATURE:-0.7}
- OPENAI_MAX_TOKENS=${OPENAI_MAX_TOKENS:-2048}
container_name: dc3-center-agentic
hostname: dc3-center-agentic
volumes:
- logs:/dc3-center/dc3-center-agentic/dc3/logs
logging: *default-logging
networks:
dc3net:
aliases:
- dc3-center-agentic
listening-virtual:
image: pnoker/dc3-driver-listening-virtual:${DC3_IMAGE_TAG:-2026.5}
restart: always
@@ -105,7 +128,7 @@ services:
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_LISTENING_VIRTUAL_GRPC_PORT:-6271}:6271"
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-listening-virtual
hostname: dc3-driver-listening-virtual
volumes:
@@ -121,7 +144,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-modbus-tcp
hostname: dc3-driver-modbus-tcp
volumes:
@@ -137,7 +160,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-mqtt
hostname: dc3-driver-mqtt
volumes:
@@ -153,7 +176,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-da
hostname: dc3-driver-opc-da
volumes:
@@ -169,7 +192,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-opc-ua
hostname: dc3-driver-opc-ua
volumes:
@@ -185,7 +208,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-plcs7
hostname: dc3-driver-plcs7
volumes:
@@ -201,7 +224,7 @@ services:
restart: always
environment:
- NODE_ENV=test
- APM_AGENT_ENABLE=false
- APM_AGENT_ENABLE=${APM_AGENT_ENABLE:-false}
container_name: dc3-driver-virtual
hostname: dc3-driver-virtual
volumes:
+9 -1
View File
@@ -20,4 +20,12 @@ MQTT_PASSWORD=dc3dc3dc3
#Grpc
CENTER_AUTH_HOST=localhost
CENTER_DATA_HOST=localhost
CENTER_MANAGER_HOST=localhost
CENTER_MANAGER_HOST=localhost
CENTER_AGENTIC_HOST=localhost
# Spring AI
OPENAI_BASE_URL=https://api.openai.com
OPENAI_API_KEY=sk-your-api-key
OPENAI_MODEL=gpt-4o
OPENAI_TEMPERATURE=0.7
OPENAI_MAX_TOKENS=2048
+2
View File
@@ -44,3 +44,5 @@ export CENTER_AGENTIC_HOST=localhost
export OPENAI_BASE_URL=https://api.openai.com
export OPENAI_API_KEY=sk-your-api-key
export OPENAI_MODEL=gpt-4o
export OPENAI_TEMPERATURE=0.7
export OPENAI_MAX_TOKENS=2048