mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-10-31 18:21:58 +08:00
the historical defaults dc3.security.key.2026.io.github.pnoker and
io.github.pnoker.dc3 are public in this repository, so any deployment
that never overrode them shipped a known hmac signing key
- app/scale/swarm compose: fail fast (${var:?}) when dc3_security_key
or auth_hmac_secret is unset; dev compose keeps a clearly-marked
dev-only default
- helm production/default values and k8s secret.env ship empty values:
pre/pro startup rejects blank and known-default hmac keys, forcing
--set-string or an existingsecret; document the per-key failure mode
honestly instead of overpromising startup rejection for both
- dev env files: rotate both keys to machine-generated dev-only values
and add throwaway rs256 material for local oauth flows
- fix the chart maintainer email to a syntactically valid address
1577 lines
40 KiB
YAML
1577 lines
40 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}"
|
|
|
|
# =============================================================================
|
|
# docker-compose-swarm.yml - full IoT DC3 stack for Docker Swarm mode
|
|
# =============================================================================
|
|
#
|
|
# Deploy (from the repository root so .env interpolation is picked up):
|
|
#
|
|
# docker swarm init # single node is enough to start
|
|
# docker build -t pnoker/dc3-postgres:${DC3_IMAGE_TAG:-2026.6} dc3/dependencies/postgres
|
|
# docker build -t pnoker/dc3-rabbitmq:${DC3_IMAGE_TAG:-2026.6} dc3/dependencies/rabbitmq
|
|
# docker stack deploy -c dc3/docker-compose-swarm.yml dc3
|
|
#
|
|
# Notes:
|
|
# * Dependency images (dc3-postgres / dc3-rabbitmq) are NOT published by the
|
|
# release CI, so build them locally first (or push to your own registry and
|
|
# set DC3_IMAGE_REGISTRY accordingly).
|
|
# * This file is compose-spec WITHOUT build/container_name/hostname/depends_on
|
|
# - the constructs Swarm mode does not support. Startup ordering is handled by
|
|
# healthchecks plus the per-service restart_policy; centers retry their gRPC
|
|
# channels until dependencies are ready.
|
|
# * Stateful services (postgres/rabbitmq) default to replicas: 1 pinned to the
|
|
# manager node. On a multi-node swarm change the constraint to a dedicated
|
|
# stateful node label (node.labels.dc3-stateful==true) and put the volumes on
|
|
# shared storage (NFS/Ceph) - see dc3/doc/DEPLOYMENT.md.
|
|
# * Scale with: docker service scale dc3_gateway=2
|
|
# Drivers stay at 1 replica (every replica would open the same SQLite outbox
|
|
# file on the shared driver_data volume; scale drivers on Kubernetes instead).
|
|
# Web (80/443) and listening-virtual (6270/6271) are the only published ports;
|
|
# the ingress network load-balances web, listening-virtual stays at 1 replica.
|
|
# =============================================================================
|
|
|
|
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 must be set to a deployment-specific value; the repository default is public}
|
|
AUTH_HMAC_SECRET: ${AUTH_HMAC_SECRET:?AUTH_HMAC_SECRET must be set to a deployment-specific value; the repository default is public and rejected in pre/pro}
|
|
POSTGRES_HOST: dc3-postgres
|
|
POSTGRES_PORT: "5432"
|
|
POSTGRES_USERNAME: ${POSTGRES_USERNAME:-dc3}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-*********}
|
|
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:-*********}
|
|
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:-*********}
|
|
|
|
services:
|
|
postgres:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-postgres:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
- POSTGRES_DB=${POSTGRES_DB:-dc3}
|
|
- POSTGRES_USER=${POSTGRES_USERNAME:-dc3}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-*********}
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USERNAME:-dc3} -d ${POSTGRES_DB:-dc3}" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 15s
|
|
volumes:
|
|
- postgres:/var/lib/postgresql
|
|
deploy:
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '2.0'
|
|
memory: 2048M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
rabbitmq:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-rabbitmq:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
- RABBITMQ_DEFAULT_VHOST=${RABBITMQ_VIRTUAL_HOST:-dc3}
|
|
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USERNAME:-dc3}
|
|
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD:-*********}
|
|
- RABBITMQ_MQTT_EXCHANGE=${RABBITMQ_MQTT_EXCHANGE:-dc3.e.mqtt}
|
|
healthcheck:
|
|
test: [ "CMD", "rabbitmq-diagnostics", "-q", "ping" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 20s
|
|
volumes:
|
|
- rabbitmq:/var/lib/rabbitmq
|
|
deploy:
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
- node.role == manager
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
web:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-web:${DC3_VERSION:-latest}
|
|
ports:
|
|
- target: 80
|
|
published: ${DC3_WEB_HTTP_PORT:-8080}
|
|
mode: ingress
|
|
- target: 443
|
|
published: ${DC3_WEB_HTTPS_PORT:-8443}
|
|
mode: ingress
|
|
environment:
|
|
- APP_API_HOST=${APP_API_HOST:-dc3-gateway}
|
|
- APP_API_PORT=${APP_API_PORT:-8000}
|
|
volumes:
|
|
- nginx:/var/log/nginx
|
|
healthcheck:
|
|
test: [ "CMD-SHELL", "curl -fsS http://127.0.0.1/ >/dev/null || exit 1" ]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 30s
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 256M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
gateway:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-gateway:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
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
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
auth:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-auth:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
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
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
manager:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-manager:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
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
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
data:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-data:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
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
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
agentic:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-center-agentic:${DC3_IMAGE_TAG:-2026.6}
|
|
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}
|
|
volumes:
|
|
- logs:/dc3-center/dc3-center-agentic/dc3/logs
|
|
- agentic_data:/dc3-center/dc3-center-agentic/dc3/data
|
|
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
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
listening-virtual:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-listening-virtual:${DC3_IMAGE_TAG:-2026.6}
|
|
# Inbound device TCP/UDP. Keep replicas at 1 - connections are pinned to a
|
|
# container; ingress-mode published ports would rebalance established sockets.
|
|
ports:
|
|
- target: 6270
|
|
published: ${DC3_LISTENING_VIRTUAL_TCP_PORT:-6270}
|
|
mode: host
|
|
- target: 6271
|
|
published: ${DC3_LISTENING_VIRTUAL_UDP_PORT:-6271}
|
|
mode: host
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-listening-virtual/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-listening-virtual/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
modbus-tcp:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-modbus-tcp:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-modbus-tcp/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-modbus-tcp/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
modbus-rtu:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-modbus-rtu:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-modbus-rtu/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-modbus-rtu/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
mqtt:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-mqtt:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-mqtt/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-mqtt/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
opc-da:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-opc-da:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-opc-da/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-opc-da/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
opc-ua:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-opc-ua:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-opc-ua/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-opc-ua/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
plcs7:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-plcs7:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-plcs7/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-plcs7/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
virtual:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-virtual:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-virtual/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-virtual/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
bacnet-ip:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-bacnet-ip:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-bacnet-ip/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-bacnet-ip/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
fins:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-fins:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-fins/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-fins/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
melsec:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-melsec:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-melsec/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-melsec/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
ethernet-ip:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-ethernet-ip:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-ethernet-ip/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-ethernet-ip/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
iec104:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-iec104:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-iec104/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-iec104/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
sl651:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-sl651:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-sl651/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-sl651/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
snmp:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-snmp:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-snmp/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-snmp/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
dlms:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-dlms:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-dlms/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-dlms/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
coap:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-coap:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-coap/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-coap/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
lwm2m:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-lwm2m:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-lwm2m/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-lwm2m/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
http:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-http:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-http/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-http/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
serial:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-serial:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-serial/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-serial/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
tcp-udp:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-tcp-udp:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-tcp-udp/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-tcp-udp/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
mysql:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-mysql:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-mysql/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-mysql/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
postgresql:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-postgresql:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-postgresql/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-postgresql/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
oracle:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-oracle:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-oracle/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-oracle/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
sqlserver:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-sqlserver:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-sqlserver/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-sqlserver/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
ble:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-ble:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-ble/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-ble/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
can:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-can:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-can/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-can/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
dlt645:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-dlt645:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-dlt645/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-dlt645/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
dnp3:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-dnp3:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-dnp3/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-dnp3/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
iec61850:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-iec61850:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-iec61850/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-iec61850/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
kafka:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-kafka:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-kafka/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-kafka/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
knx:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-knx:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-knx/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-knx/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
lorawan:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-lorawan:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-lorawan/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-lorawan/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
mbus:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-mbus:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-mbus/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-mbus/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
redis:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-redis:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-redis/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-redis/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
zigbee:
|
|
image: ${DC3_IMAGE_REGISTRY:-pnoker}/dc3-driver-zigbee:${DC3_IMAGE_TAG:-2026.6}
|
|
environment:
|
|
<<: *app-runtime-env
|
|
volumes:
|
|
- logs:/dc3-driver/dc3-driver-zigbee/dc3/logs
|
|
- driver_data:/dc3-driver/dc3-driver-zigbee/dc3/data
|
|
deploy:
|
|
replicas: 1
|
|
update_config:
|
|
order: start-first
|
|
parallelism: 1
|
|
delay: 10s
|
|
failure_action: rollback
|
|
rollback_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
restart_policy:
|
|
condition: any
|
|
delay: 5s
|
|
max_attempts: 3
|
|
window: 120s
|
|
resources:
|
|
limits:
|
|
cpus: '0.5'
|
|
memory: 512M
|
|
reservations:
|
|
cpus: '0.05'
|
|
memory: 64M
|
|
networks:
|
|
- dc3net
|
|
|
|
volumes:
|
|
postgres:
|
|
rabbitmq:
|
|
logs:
|
|
driver_data:
|
|
agentic_data:
|
|
nginx:
|
|
|
|
networks:
|
|
dc3net:
|
|
driver: overlay
|
|
attachable: true |