mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-08-30 17:19:58 +08:00
956de3dd38
Use PostgreSQL leases and fencing for distributed ownership, require a durable SQLite outbox before RabbitMQ publication, and make Data Center ingestion transactional and idempotent. BREAKING CHANGE: drivers require mandatory durable outbox configuration and use lease-aware ownership and telemetry contracts.
1104 lines
31 KiB
YAML
1104 lines
31 KiB
YAML
#
|
|
# Copyright 2016-present the IoT DC3 original author or authors.
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
x-logging: &default-logging
|
|
driver: json-file
|
|
options:
|
|
max-size: ${DC3_LOG_MAX_SIZE:-10M}
|
|
max-file: "${DC3_LOG_MAX_FILE:-20}"
|
|
|
|
x-app-runtime-env: &app-runtime-env
|
|
NODE_ENV: test
|
|
APM_AGENT_ENABLE: ${APM_AGENT_ENABLE:-false}
|
|
DC3_SECURITY_KEY: ${DC3_SECURITY_KEY:-dc3.security.key.2026.io.github.pnoker}
|
|
AUTH_HMAC_SECRET: ${AUTH_HMAC_SECRET:-io.github.pnoker.dc3}
|
|
POSTGRES_HOST: dc3-postgres
|
|
POSTGRES_PORT: "5432"
|
|
POSTGRES_USERNAME: ${POSTGRES_USERNAME:-dc3}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-dc3dc3dc3}
|
|
POSTGRES_DB: ${POSTGRES_DB:-dc3}
|
|
RABBITMQ_VIRTUAL_HOST: ${RABBITMQ_VIRTUAL_HOST:-dc3}
|
|
RABBITMQ_HOST: dc3-rabbitmq
|
|
RABBITMQ_PORT: "${RABBITMQ_CONTAINER_PORT:-5672}"
|
|
RABBITMQ_USERNAME: ${RABBITMQ_USERNAME:-dc3}
|
|
RABBITMQ_PASSWORD: ${RABBITMQ_PASSWORD:-dc3dc3dc3}
|
|
RABBITMQ_SSL_ENABLED: "${RABBITMQ_SSL_ENABLED:-false}"
|
|
RABBITMQ_SSL_ALGORITHM: "${RABBITMQ_SSL_ALGORITHM:-TLS}"
|
|
RABBITMQ_SSL_VALIDATE_SERVER_CERTIFICATE: "${RABBITMQ_SSL_VALIDATE_SERVER_CERTIFICATE:-false}"
|
|
RABBITMQ_SSL_VERIFY_HOSTNAME: "${RABBITMQ_SSL_VERIFY_HOSTNAME:-false}"
|
|
MQTT_BROKER_HOST: dc3-rabbitmq
|
|
MQTT_BROKER_PORT: "1883"
|
|
MQTT_USERNAME: ${MQTT_USERNAME:-dc3}
|
|
MQTT_PASSWORD: ${MQTT_PASSWORD:-dc3dc3dc3}
|
|
POINT_BATCH_SIZE: "${POINT_BATCH_SIZE:-500}"
|
|
POINT_BATCH_RECEIVE_TIMEOUT_MILLIS: "${POINT_BATCH_RECEIVE_TIMEOUT_MILLIS:-100}"
|
|
POINT_CONCURRENT_CONSUMERS: "${POINT_CONCURRENT_CONSUMERS:-4}"
|
|
POINT_MAX_CONCURRENT_CONSUMERS: "${POINT_MAX_CONCURRENT_CONSUMERS:-16}"
|
|
POINT_PREFETCH_COUNT: "${POINT_PREFETCH_COUNT:-1000}"
|
|
POINT_RETRY_MAX_RETRIES: "${POINT_RETRY_MAX_RETRIES:-3}"
|
|
POINT_RETRY_INITIAL_INTERVAL_MILLIS: "${POINT_RETRY_INITIAL_INTERVAL_MILLIS:-1000}"
|
|
POINT_RETRY_MULTIPLIER: "${POINT_RETRY_MULTIPLIER:-2}"
|
|
POINT_RETRY_MAX_INTERVAL_MILLIS: "${POINT_RETRY_MAX_INTERVAL_MILLIS:-10000}"
|
|
DC3_DRIVER_LEASE_SECONDS: "${DC3_DRIVER_LEASE_SECONDS:-30}"
|
|
DC3_DRIVER_LEASE_RENEW_CRON: "${DC3_DRIVER_LEASE_RENEW_CRON:-0/10 * * * * ?}"
|
|
DC3_DRIVER_LEASE_QUEUE_EXPIRES_MILLIS: "${DC3_DRIVER_LEASE_QUEUE_EXPIRES_MILLIS:-300000}"
|
|
|
|
services:
|
|
gateway:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-gateway
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-gateway:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
auth:
|
|
condition: service_healthy
|
|
manager:
|
|
condition: service_healthy
|
|
data:
|
|
condition: service_healthy
|
|
agentic:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_GATEWAY_PORT:-8000}:8000"
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-gateway
|
|
hostname: dc3-gateway
|
|
volumes:
|
|
- logs:/dc3-gateway/dc3/logs
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1:8000/actuator/health/readiness >/dev/null || exit 1" ]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 30s
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-gateway
|
|
|
|
auth:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-center-auth
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-auth:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
ports:
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AUTH_PORT:-8300}:8300"
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AUTH_GRPC_PORT:-9300}:9300"
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-center-auth
|
|
hostname: dc3-center-auth
|
|
volumes:
|
|
- logs:/dc3-center/dc3-center-auth/dc3/logs
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1:8300/auth/actuator/health/readiness >/dev/null || exit 1" ]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 40s
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-center-auth
|
|
|
|
manager:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-center-manager
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-manager:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
auth:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_MANAGER_PORT:-8400}:8400"
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_MANAGER_GRPC_PORT:-9400}:9400"
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-center-manager
|
|
hostname: dc3-center-manager
|
|
volumes:
|
|
- logs:/dc3-center/dc3-center-manager/dc3/logs
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1:8400/manager/actuator/health/readiness >/dev/null || exit 1" ]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 40s
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-center-manager
|
|
|
|
data:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-center-data
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-data:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
auth:
|
|
condition: service_healthy
|
|
manager:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_DATA_PORT:-8500}:8500"
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_DATA_GRPC_PORT:-9500}:9500"
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-center-data
|
|
hostname: dc3-center-data
|
|
volumes:
|
|
- logs:/dc3-center/dc3-center-data/dc3/logs
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1:8500/data/actuator/health/readiness >/dev/null || exit 1" ]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 40s
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-center-data
|
|
|
|
agentic:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-center-agentic
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-agentic:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
auth:
|
|
condition: service_healthy
|
|
manager:
|
|
condition: service_healthy
|
|
data:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_AGENTIC_PORT:-8600}:8600"
|
|
environment:
|
|
<<: *app-runtime-env
|
|
AGENTIC_FALLBACK_OPENAI_BASE_URL: ${AGENTIC_FALLBACK_OPENAI_BASE_URL:-https://api.openai.com}
|
|
AGENTIC_FALLBACK_OPENAI_API_KEY: ${AGENTIC_FALLBACK_OPENAI_API_KEY:-}
|
|
AGENTIC_FALLBACK_OPENAI_MODEL: ${AGENTIC_FALLBACK_OPENAI_MODEL:-gpt-4o}
|
|
AGENTIC_FALLBACK_OPENAI_TEMPERATURE: ${AGENTIC_FALLBACK_OPENAI_TEMPERATURE:-0.7}
|
|
AGENTIC_FALLBACK_OPENAI_MAX_TOKENS: ${AGENTIC_FALLBACK_OPENAI_MAX_TOKENS:-2048}
|
|
AGENTIC_MEMORY_SCHEMA_INIT: ${AGENTIC_MEMORY_SCHEMA_INIT:-never}
|
|
AGENTIC_MEMORY_ENABLED: ${AGENTIC_MEMORY_ENABLED:-false}
|
|
AGENTIC_TOOL_CALLING_ENABLED: ${AGENTIC_TOOL_CALLING_ENABLED:-true}
|
|
AGENTIC_MEMORY_MAX_MESSAGES: ${AGENTIC_MEMORY_MAX_MESSAGES:-50}
|
|
AGENTIC_ATTACHMENT_STORAGE_PATH: ${AGENTIC_ATTACHMENT_STORAGE_PATH:-dc3/data/agentic/attachments}
|
|
container_name: dc3-center-agentic
|
|
hostname: dc3-center-agentic
|
|
volumes:
|
|
- logs:/dc3-center/dc3-center-agentic/dc3/logs
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1:8600/agentic/actuator/health/readiness >/dev/null || exit 1" ]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 40s
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-center-agentic
|
|
|
|
listening-virtual:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-listening-virtual
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-listening-virtual:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
ports:
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_LISTENING_VIRTUAL_TCP_PORT:-6270}:6270"
|
|
- "${DC3_BIND_HOST:-127.0.0.1}:${DC3_LISTENING_VIRTUAL_UDP_PORT:-6271}:6271"
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-listening-virtual
|
|
hostname: dc3-driver-listening-virtual
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-listening-virtual/dc3/logs
|
|
- driver_listening_virtual_data:/dc3-driver/dc3-driver-listening-virtual/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-listening-virtual
|
|
|
|
modbus-tcp:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-modbus-tcp
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-modbus-tcp:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-modbus-tcp
|
|
hostname: dc3-driver-modbus-tcp
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-modbus-tcp/dc3/logs
|
|
- driver_modbus_tcp_data:/dc3-driver/dc3-driver-modbus-tcp/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-modbus-tcp
|
|
|
|
modbus-rtu:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-modbus-rtu
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-modbus-rtu:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-modbus-rtu
|
|
hostname: dc3-driver-modbus-rtu
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-modbus-rtu/dc3/logs
|
|
- driver_modbus_rtu_data:/dc3-driver/dc3-driver-modbus-rtu/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-modbus-rtu
|
|
|
|
mqtt:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-mqtt
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-mqtt:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-mqtt
|
|
hostname: dc3-driver-mqtt
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-mqtt/dc3/logs
|
|
- driver_mqtt_data:/dc3-driver/dc3-driver-mqtt/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-mqtt
|
|
|
|
dc3-driver-bacnet-ip:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-bacnet-ip
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-bacnet-ip:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-bacnet-ip
|
|
hostname: dc3-driver-bacnet-ip
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-bacnet-ip/dc3/logs
|
|
- driver_bacnet_ip_data:/dc3-driver/dc3-driver-bacnet-ip/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-bacnet-ip
|
|
|
|
dc3-driver-ble:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-ble
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-ble:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-ble
|
|
hostname: dc3-driver-ble
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-ble/dc3/logs
|
|
- driver_ble_data:/dc3-driver/dc3-driver-ble/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-ble
|
|
|
|
dc3-driver-can:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-can
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-can:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-can
|
|
hostname: dc3-driver-can
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-can/dc3/logs
|
|
- driver_can_data:/dc3-driver/dc3-driver-can/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-can
|
|
|
|
dc3-driver-coap:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-coap
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-coap:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-coap
|
|
hostname: dc3-driver-coap
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-coap/dc3/logs
|
|
- driver_coap_data:/dc3-driver/dc3-driver-coap/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-coap
|
|
|
|
dc3-driver-dlms:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-dlms
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-dlms:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-dlms
|
|
hostname: dc3-driver-dlms
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-dlms/dc3/logs
|
|
- driver_dlms_data:/dc3-driver/dc3-driver-dlms/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-dlms
|
|
|
|
dc3-driver-ethernet-ip:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-ethernet-ip
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-ethernet-ip:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-ethernet-ip
|
|
hostname: dc3-driver-ethernet-ip
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-ethernet-ip/dc3/logs
|
|
- driver_ethernet_ip_data:/dc3-driver/dc3-driver-ethernet-ip/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-ethernet-ip
|
|
|
|
dc3-driver-fins:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-fins
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-fins:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-fins
|
|
hostname: dc3-driver-fins
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-fins/dc3/logs
|
|
- driver_fins_data:/dc3-driver/dc3-driver-fins/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-fins
|
|
|
|
dc3-driver-http:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-http
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-http:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-http
|
|
hostname: dc3-driver-http
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-http/dc3/logs
|
|
- driver_http_data:/dc3-driver/dc3-driver-http/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-http
|
|
|
|
dc3-driver-iec104:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-iec104
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-iec104:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-iec104
|
|
hostname: dc3-driver-iec104
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-iec104/dc3/logs
|
|
- driver_iec104_data:/dc3-driver/dc3-driver-iec104/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-iec104
|
|
|
|
dc3-driver-lwm2m:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-lwm2m
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-lwm2m:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-lwm2m
|
|
hostname: dc3-driver-lwm2m
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-lwm2m/dc3/logs
|
|
- driver_lwm2m_data:/dc3-driver/dc3-driver-lwm2m/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-lwm2m
|
|
|
|
dc3-driver-melsec:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-melsec
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-melsec:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-melsec
|
|
hostname: dc3-driver-melsec
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-melsec/dc3/logs
|
|
- driver_melsec_data:/dc3-driver/dc3-driver-melsec/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-melsec
|
|
|
|
dc3-driver-mysql:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-mysql
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-mysql:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-mysql
|
|
hostname: dc3-driver-mysql
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-mysql/dc3/logs
|
|
- driver_mysql_data:/dc3-driver/dc3-driver-mysql/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-mysql
|
|
|
|
dc3-driver-oracle:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-oracle
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-oracle:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-oracle
|
|
hostname: dc3-driver-oracle
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-oracle/dc3/logs
|
|
- driver_oracle_data:/dc3-driver/dc3-driver-oracle/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-oracle
|
|
|
|
dc3-driver-postgresql:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-postgresql
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-postgresql:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-postgresql
|
|
hostname: dc3-driver-postgresql
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-postgresql/dc3/logs
|
|
- driver_postgresql_data:/dc3-driver/dc3-driver-postgresql/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-postgresql
|
|
|
|
dc3-driver-serial:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-serial
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-serial:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-serial
|
|
hostname: dc3-driver-serial
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-serial/dc3/logs
|
|
- driver_serial_data:/dc3-driver/dc3-driver-serial/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-serial
|
|
dc3-driver-dlt645:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-dlt645
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-dlt645:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-dlt645
|
|
hostname: dc3-driver-dlt645
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-dlt645/dc3/logs
|
|
- driver_dlt645_data:/dc3-driver/dc3-driver-dlt645/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-dlt645
|
|
|
|
dc3-driver-dnp3:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-dnp3
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-dnp3:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-dnp3
|
|
hostname: dc3-driver-dnp3
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-dnp3/dc3/logs
|
|
- driver_dnp3_data:/dc3-driver/dc3-driver-dnp3/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-dnp3
|
|
|
|
dc3-driver-iec61850:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-iec61850
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-iec61850:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-iec61850
|
|
hostname: dc3-driver-iec61850
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-iec61850/dc3/logs
|
|
- driver_iec61850_data:/dc3-driver/dc3-driver-iec61850/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-iec61850
|
|
|
|
dc3-driver-kafka:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-kafka
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-kafka:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-kafka
|
|
hostname: dc3-driver-kafka
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-kafka/dc3/logs
|
|
- driver_kafka_data:/dc3-driver/dc3-driver-kafka/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-kafka
|
|
|
|
dc3-driver-knx:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-knx
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-knx:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-knx
|
|
hostname: dc3-driver-knx
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-knx/dc3/logs
|
|
- driver_knx_data:/dc3-driver/dc3-driver-knx/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-knx
|
|
|
|
dc3-driver-lorawan:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-lorawan
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-lorawan:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-lorawan
|
|
hostname: dc3-driver-lorawan
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-lorawan/dc3/logs
|
|
- driver_lorawan_data:/dc3-driver/dc3-driver-lorawan/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-lorawan
|
|
|
|
dc3-driver-mbus:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-mbus
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-mbus:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-mbus
|
|
hostname: dc3-driver-mbus
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-mbus/dc3/logs
|
|
- driver_mbus_data:/dc3-driver/dc3-driver-mbus/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-mbus
|
|
|
|
dc3-driver-redis:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-redis
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-redis:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-redis
|
|
hostname: dc3-driver-redis
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-redis/dc3/logs
|
|
- driver_redis_data:/dc3-driver/dc3-driver-redis/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-redis
|
|
dc3-driver-sl651:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-sl651
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-sl651:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-sl651
|
|
hostname: dc3-driver-sl651
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-sl651/dc3/logs
|
|
- driver_sl651_data:/dc3-driver/dc3-driver-sl651/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-sl651
|
|
|
|
dc3-driver-snmp:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-snmp
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-snmp:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-snmp
|
|
hostname: dc3-driver-snmp
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-snmp/dc3/logs
|
|
- driver_snmp_data:/dc3-driver/dc3-driver-snmp/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-snmp
|
|
|
|
dc3-driver-sqlserver:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-sqlserver
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-sqlserver:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-sqlserver
|
|
hostname: dc3-driver-sqlserver
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-sqlserver/dc3/logs
|
|
- driver_sqlserver_data:/dc3-driver/dc3-driver-sqlserver/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-sqlserver
|
|
|
|
dc3-driver-tcp-udp:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-tcp-udp
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-tcp-udp:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-tcp-udp
|
|
hostname: dc3-driver-tcp-udp
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-tcp-udp/dc3/logs
|
|
- driver_tcp_udp_data:/dc3-driver/dc3-driver-tcp-udp/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-tcp-udp
|
|
|
|
dc3-driver-zigbee:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-zigbee
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-zigbee:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-zigbee
|
|
hostname: dc3-driver-zigbee
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-zigbee/dc3/logs
|
|
- driver_zigbee_data:/dc3-driver/dc3-driver-zigbee/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-zigbee
|
|
|
|
opc-da:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-opc-da
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-opc-da:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-opc-da
|
|
hostname: dc3-driver-opc-da
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-opc-da/dc3/logs
|
|
- driver_opc_da_data:/dc3-driver/dc3-driver-opc-da/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-opc-da
|
|
|
|
opc-ua:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-opc-ua
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-opc-ua:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-opc-ua
|
|
hostname: dc3-driver-opc-ua
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-opc-ua/dc3/logs
|
|
- driver_opc_ua_data:/dc3-driver/dc3-driver-opc-ua/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-opc-ua
|
|
|
|
plcs7:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-plcs7
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-plcs7:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-plcs7
|
|
hostname: dc3-driver-plcs7
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-plcs7/dc3/logs
|
|
- driver_plcs7_data:/dc3-driver/dc3-driver-plcs7/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-plcs7
|
|
|
|
virtual:
|
|
build:
|
|
context: ..
|
|
dockerfile: Dockerfile
|
|
target: dc3-driver-virtual
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-virtual:${DC3_IMAGE_TAG:-2026.6}
|
|
restart: always
|
|
depends_on:
|
|
manager:
|
|
condition: service_healthy
|
|
environment:
|
|
<<: *app-runtime-env
|
|
container_name: dc3-driver-virtual
|
|
hostname: dc3-driver-virtual
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-virtual/dc3/logs
|
|
- driver_virtual_data:/dc3-driver/dc3-driver-virtual/dc3/data
|
|
logging: *default-logging
|
|
networks:
|
|
dc3net:
|
|
aliases:
|
|
- dc3-driver-virtual
|
|
|
|
volumes:
|
|
logs:
|
|
driver_listening_virtual_data:
|
|
driver_modbus_tcp_data:
|
|
driver_modbus_rtu_data:
|
|
driver_mqtt_data:
|
|
driver_bacnet_ip_data:
|
|
driver_ble_data:
|
|
driver_can_data:
|
|
driver_coap_data:
|
|
driver_dlms_data:
|
|
driver_ethernet_ip_data:
|
|
driver_fins_data:
|
|
driver_http_data:
|
|
driver_iec104_data:
|
|
driver_lwm2m_data:
|
|
driver_melsec_data:
|
|
driver_mysql_data:
|
|
driver_oracle_data:
|
|
driver_postgresql_data:
|
|
driver_serial_data:
|
|
driver_dlt645_data:
|
|
driver_dnp3_data:
|
|
driver_iec61850_data:
|
|
driver_kafka_data:
|
|
driver_knx_data:
|
|
driver_lorawan_data:
|
|
driver_mbus_data:
|
|
driver_redis_data:
|
|
driver_sl651_data:
|
|
driver_snmp_data:
|
|
driver_sqlserver_data:
|
|
driver_tcp_udp_data:
|
|
driver_zigbee_data:
|
|
driver_opc_da_data:
|
|
driver_opc_ua_data:
|
|
driver_plcs7_data:
|
|
driver_virtual_data:
|
|
networks:
|
|
dc3net:
|
|
driver: bridge
|
|
|