189 lines
8.3 KiB
YAML
189 lines
8.3 KiB
YAML
version: "3.8"
|
|
|
|
# Set LINGNIU_IMAGE_VERSION in Portainer Stack env, for example:
|
|
# main-0.1.0-SNAPSHOT-22468e7
|
|
x-common-env: &common-env
|
|
TZ: Asia/Shanghai
|
|
JAVA_OPTS: ${JAVA_OPTS:--XX:+UseZGC -XX:MaxRAMPercentage=75}
|
|
NACOS_CONFIG_ENABLED: ${NACOS_CONFIG_ENABLED:-true}
|
|
NACOS_SERVER_ADDR: ${NACOS_SERVER_ADDR:-127.0.0.1:8848}
|
|
NACOS_NAMESPACE: ${NACOS_NAMESPACE:-}
|
|
NACOS_GROUP: ${NACOS_GROUP:-DEFAULT_GROUP}
|
|
NACOS_CONFIG_FILE_EXTENSION: ${NACOS_CONFIG_FILE_EXTENSION:-yml}
|
|
NACOS_REFRESH_ENABLED: ${NACOS_REFRESH_ENABLED:-true}
|
|
NACOS_USERNAME: ${NACOS_USERNAME:-}
|
|
NACOS_PASSWORD: ${NACOS_PASSWORD:-}
|
|
KAFKA_BROKERS: ${KAFKA_BROKERS:-172.17.111.56:9092}
|
|
KAFKA_ENABLED: ${KAFKA_ENABLED:-true}
|
|
KAFKA_CONSUMER_ENABLED: ${KAFKA_CONSUMER_ENABLED:-true}
|
|
KAFKA_CONSUMER_MAX_POLL_INTERVAL_MILLIS: ${KAFKA_CONSUMER_MAX_POLL_INTERVAL_MILLIS:-900000}
|
|
KAFKA_TOPIC_GB32960_EVENT: ${KAFKA_TOPIC_GB32960_EVENT:-vehicle.event.gb32960.v1}
|
|
KAFKA_TOPIC_GB32960_RAW: ${KAFKA_TOPIC_GB32960_RAW:-vehicle.raw.gb32960.v1}
|
|
KAFKA_TOPIC_GB32960_DLQ: ${KAFKA_TOPIC_GB32960_DLQ:-vehicle.dlq.gb32960.v1}
|
|
KAFKA_TOPIC_JT808_EVENT: ${KAFKA_TOPIC_JT808_EVENT:-vehicle.event.jt808.v1}
|
|
KAFKA_TOPIC_JT808_RAW: ${KAFKA_TOPIC_JT808_RAW:-vehicle.raw.jt808.v1}
|
|
KAFKA_TOPIC_JT808_DLQ: ${KAFKA_TOPIC_JT808_DLQ:-vehicle.dlq.jt808.v1}
|
|
KAFKA_TOPIC_MQTT_EVENT: ${KAFKA_TOPIC_MQTT_EVENT:-vehicle.event.mqtt-yutong.v1}
|
|
KAFKA_TOPIC_MQTT_RAW: ${KAFKA_TOPIC_MQTT_RAW:-vehicle.raw.mqtt-yutong.v1}
|
|
KAFKA_TOPIC_MQTT_DLQ: ${KAFKA_TOPIC_MQTT_DLQ:-vehicle.dlq.mqtt-yutong.v1}
|
|
MYSQL_JDBC_URL: ${MYSQL_JDBC_URL:-}
|
|
MYSQL_USERNAME: ${MYSQL_USERNAME:-}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-}
|
|
|
|
services:
|
|
gb32960-ingest-app:
|
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/gb32960-ingest-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
|
container_name: gb32960-ingest-app
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-env
|
|
HTTP_PORT: 20100
|
|
GB32960_PORT: 32960
|
|
KAFKA_CONSUMER_ENABLED: "false"
|
|
KAFKA_NODE_ID: ${KAFKA_NODE_ID:-gb32960-ingest-portainer}
|
|
GB32960_AUTH_ENABLED: ${GB32960_AUTH_ENABLED:-false}
|
|
GB32960_PLATFORM_USER_HYUNDAI: ${GB32960_PLATFORM_USER_HYUNDAI:-Hyundai}
|
|
GB32960_PLATFORM_PWD_HYUNDAI: ${GB32960_PLATFORM_PWD_HYUNDAI:-}
|
|
GB32960_PLATFORM_IP_HYUNDAI: ${GB32960_PLATFORM_IP_HYUNDAI:-}
|
|
GB32960_TLS_ENABLED: ${GB32960_TLS_ENABLED:-false}
|
|
VEHICLE_IDENTITY_STORE: ${VEHICLE_IDENTITY_STORE:-mysql}
|
|
VEHICLE_IDENTITY_MYSQL_JDBC_URL: ${MYSQL_JDBC_URL:-}
|
|
VEHICLE_IDENTITY_MYSQL_USERNAME: ${MYSQL_USERNAME:-}
|
|
VEHICLE_IDENTITY_MYSQL_PASSWORD: ${MYSQL_PASSWORD:-}
|
|
ports:
|
|
- "${GB32960_HTTP_PORT:-20100}:20100"
|
|
- "${GB32960_TCP_PORT:-32960}:32960"
|
|
volumes:
|
|
- gb32960-ingest-data:/data
|
|
networks:
|
|
- vehicle-ingest
|
|
|
|
jt808-ingest-app:
|
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/jt808-ingest-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
|
container_name: jt808-ingest-app
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-env
|
|
HTTP_PORT: 20400
|
|
JT808_PORT: 808
|
|
KAFKA_CONSUMER_ENABLED: "false"
|
|
KAFKA_NODE_ID: ${KAFKA_NODE_ID_JT808:-jt808-ingest-portainer}
|
|
VEHICLE_IDENTITY_STORE: ${VEHICLE_IDENTITY_STORE:-mysql}
|
|
VEHICLE_IDENTITY_MYSQL_JDBC_URL: ${MYSQL_JDBC_URL:-}
|
|
VEHICLE_IDENTITY_MYSQL_USERNAME: ${MYSQL_USERNAME:-}
|
|
VEHICLE_IDENTITY_MYSQL_PASSWORD: ${MYSQL_PASSWORD:-}
|
|
ports:
|
|
- "${JT808_HTTP_PORT:-20400}:20400"
|
|
- "${JT808_TCP_PORT:-808}:808"
|
|
volumes:
|
|
- jt808-ingest-data:/data
|
|
networks:
|
|
- vehicle-ingest
|
|
|
|
yutong-mqtt-app:
|
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/yutong-mqtt-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
|
container_name: yutong-mqtt-app
|
|
restart: unless-stopped
|
|
environment:
|
|
<<: *common-env
|
|
HTTP_PORT: 20500
|
|
MQTT_ENABLED: "true"
|
|
KAFKA_CONSUMER_ENABLED: "false"
|
|
KAFKA_NODE_ID: ${KAFKA_NODE_ID_MQTT:-yutong-mqtt-portainer}
|
|
KAFKA_TOPIC_PARTNER_EVENT: ${KAFKA_TOPIC_MQTT_EVENT:-vehicle.event.mqtt-yutong.v1}
|
|
KAFKA_TOPIC_PARTNER_RAW: ${KAFKA_TOPIC_MQTT_RAW:-vehicle.raw.mqtt-yutong.v1}
|
|
KAFKA_TOPIC_PARTNER_DLQ: ${KAFKA_TOPIC_MQTT_DLQ:-vehicle.dlq.mqtt-yutong.v1}
|
|
VEHICLE_IDENTITY_STORE: ${VEHICLE_IDENTITY_STORE:-mysql}
|
|
VEHICLE_IDENTITY_MYSQL_JDBC_URL: ${MYSQL_JDBC_URL:-}
|
|
VEHICLE_IDENTITY_MYSQL_USERNAME: ${MYSQL_USERNAME:-}
|
|
VEHICLE_IDENTITY_MYSQL_PASSWORD: ${MYSQL_PASSWORD:-}
|
|
MQTT_ENDPOINT_NAME: ${MQTT_ENDPOINT_NAME:-yutong}
|
|
MQTT_URI: ${MQTT_URI:-tcp://127.0.0.1:1883}
|
|
MQTT_TOPIC: "${MQTT_TOPIC:-#}"
|
|
MQTT_QOS: ${MQTT_QOS:-1}
|
|
MQTT_CLIENT_ID: ${MQTT_CLIENT_ID:-lingniu-yutong-mqtt}
|
|
MQTT_USERNAME: ${MQTT_USERNAME:-}
|
|
MQTT_PASSWORD: ${MQTT_PASSWORD:-}
|
|
MQTT_CLEAN_SESSION: ${MQTT_CLEAN_SESSION:-true}
|
|
MQTT_PROFILE: ${MQTT_PROFILE:-yutong}
|
|
ports:
|
|
- "${YUTONG_MQTT_HTTP_PORT:-20500}:20500"
|
|
networks:
|
|
- vehicle-ingest
|
|
|
|
vehicle-history-app:
|
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/vehicle-history-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
|
container_name: vehicle-history-app
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- gb32960-ingest-app
|
|
- jt808-ingest-app
|
|
- yutong-mqtt-app
|
|
environment:
|
|
<<: *common-env
|
|
HTTP_PORT: 20200
|
|
KAFKA_CONSUMER_CLIENT_ID_PREFIX: ${KAFKA_CONSUMER_CLIENT_ID_PREFIX_HISTORY:-vehicle-history}
|
|
KAFKA_CONSUMER_MAX_POLL_RECORDS: ${KAFKA_CONSUMER_MAX_POLL_RECORDS_HISTORY:-2000}
|
|
KAFKA_GROUP_HISTORY: ${KAFKA_GROUP_HISTORY:-vehicle-history}
|
|
KAFKA_GROUP_HISTORY_GB32960: ${KAFKA_GROUP_HISTORY_GB32960:-vehicle-history}
|
|
KAFKA_GROUP_HISTORY_JT808: ${KAFKA_GROUP_HISTORY_JT808:-vehicle-history}
|
|
KAFKA_GROUP_HISTORY_MQTT_YUTONG: ${KAFKA_GROUP_HISTORY_MQTT_YUTONG:-vehicle-history}
|
|
SINK_ARCHIVE_ENABLED: ${SINK_ARCHIVE_ENABLED:-true}
|
|
SINK_ARCHIVE_PATH: /archive/
|
|
TDENGINE_ENABLED: ${TDENGINE_ENABLED:-true}
|
|
TDENGINE_JDBC_URL: ${TDENGINE_JDBC_URL:-jdbc:TAOS-WS://172.17.111.57:6041/vehicle_ts}
|
|
TDENGINE_DATABASE: ${TDENGINE_DATABASE:-vehicle_ts}
|
|
TDENGINE_JT808_LOCATION_STABLE: ${TDENGINE_JT808_LOCATION_STABLE:-jt808_locations}
|
|
TDENGINE_USERNAME: ${TDENGINE_USERNAME:-root}
|
|
TDENGINE_PASSWORD: ${TDENGINE_PASSWORD:-taosdata}
|
|
TDENGINE_CONNECTION_TIMEOUT_MILLIS: ${TDENGINE_CONNECTION_TIMEOUT_MILLIS:-30000}
|
|
TDENGINE_MIN_IDLE: ${TDENGINE_MIN_IDLE:-1}
|
|
TDENGINE_MAX_POOL_SIZE: ${TDENGINE_MAX_POOL_SIZE:-32}
|
|
ports:
|
|
- "${VEHICLE_HISTORY_HTTP_PORT:-20200}:20200"
|
|
volumes:
|
|
- vehicle-history-archive:/archive
|
|
networks:
|
|
- vehicle-ingest
|
|
|
|
vehicle-analytics-app:
|
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/vehicle-analytics-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
|
container_name: vehicle-analytics-app
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- gb32960-ingest-app
|
|
- jt808-ingest-app
|
|
environment:
|
|
<<: *common-env
|
|
HTTP_PORT: 20300
|
|
KAFKA_CONSUMER_CLIENT_ID_PREFIX: ${KAFKA_CONSUMER_CLIENT_ID_PREFIX_ANALYTICS:-vehicle-analytics}
|
|
KAFKA_GROUP_STATE: ${KAFKA_GROUP_STATE:-vehicle-state}
|
|
KAFKA_GROUP_STAT: ${KAFKA_GROUP_STAT:-vehicle-stat}
|
|
VEHICLE_STATE_ENABLED: ${VEHICLE_STATE_ENABLED:-false}
|
|
VEHICLE_STAT_ENABLED: ${VEHICLE_STAT_ENABLED:-true}
|
|
VEHICLE_STAT_ZONE_ID: ${VEHICLE_STAT_ZONE_ID:-Asia/Shanghai}
|
|
VEHICLE_STAT_JT808_MILEAGE_ENABLED: ${VEHICLE_STAT_JT808_MILEAGE_ENABLED:-true}
|
|
VEHICLE_STAT_JT808_STATE_STORE: ${VEHICLE_STAT_JT808_STATE_STORE:-redis}
|
|
VEHICLE_STAT_JT808_STATE_TTL_DAYS: ${VEHICLE_STAT_JT808_STATE_TTL_DAYS:-3}
|
|
MYSQL_JDBC_URL: ${MYSQL_JDBC_URL:-}
|
|
MYSQL_USERNAME: ${MYSQL_USERNAME:-}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-}
|
|
REDIS_HOST: ${REDIS_HOST:-}
|
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
|
REDIS_DATABASE: ${REDIS_DATABASE:-50}
|
|
REDIS_USERNAME: ${REDIS_USERNAME:-}
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
|
ports:
|
|
- "${VEHICLE_ANALYTICS_HTTP_PORT:-20300}:20300"
|
|
networks:
|
|
- vehicle-ingest
|
|
|
|
networks:
|
|
vehicle-ingest:
|
|
name: vehicle-ingest
|
|
|
|
volumes:
|
|
gb32960-ingest-data:
|
|
jt808-ingest-data:
|
|
vehicle-history-archive:
|