credit_tracker/docker_compose/docker-compose.yml
2026-07-03 15:55:51 +03:00

195 lines
No EOL
9.7 KiB
YAML

services:
credit-tracker:
image: ${REGISTRY_URL}/credit-tracker:${APP_VERSION}
container_name: credit-tracker
restart: always
volumes:
- ${LOGS_DIR}:/opt/app/logs/app
- ${JSON_LOGS_DIR}:/opt/app/logs/json
- shared_data:/opt/app/reports
- ${REPORT_MAIN_DIR}:/opt/app/reports
- ${ACCESS_LOGS_DIR}:/opt/app/logs/access
ports:
- "${HOST_PORT}:${SERVER_PORT}"
environment:
- APP_JAR=main
- XMX=4G
- XMS=1G
- TZ=Europe/Moscow
- ${JVM_EXTRA_OPTS:-} \
- APM_SERVICE_NAME=${APM_SERVICE_NAME}-${APP_JAR}
- APM_SERVER_URLS=${APM_SERVER_URLS}
- APM_ENVIRONMENT=${APM_ENVIRONMENT}
- APM_SERVICE_NODE_NAME=${APM_SERVICE_NODE_NAME}
- APM_SERVICE_VERSION=${APP_VERSION}
- JMX_PORT=${JMX_MAIN_PORT}
- JMX_HOSTNAME=${JMX_HOSTNAME}
- SERVER_PORT=${SERVER_PORT}
- DB_URL_INDIC=${DB_URL_INDIC}
- USERNAME_INDIC=${USERNAME_INDIC}
- PASSWORD_INDIC=${PASSWORD_INDIC}
- MAXIMUM_POOL_SIZE_INDIC=${MAXIMUM_POOL_SIZE_INDIC}
- MINIMUM_IDLE_INDIC=${MINIMUM_IDLE_INDIC}
- CONNECTION_TIMEOUT_INDIC=${CONNECTION_TIMEOUT_INDIC}
- VALIDATION_TIMEOUT_INDIC=${VALIDATION_TIMEOUT_INDIC}
- IDLE_TIMEOUT_INDIC=${IDLE_TIMEOUT_INDIC}
- MAX_LIFETIME_INDIC=${MAX_LIFETIME_INDIC}
- KEEPALIVE_TIME_INDIC=${KEEPALIVE_TIME_INDIC}
- LEAK_DETECTION_THRESHOLD_INDIC=${LEAK_DETECTION_THRESHOLD_INDIC}
- DB_URL_SIGNAL=${DB_URL_SIGNAL}
- USERNAME_SIGNAL=${USERNAME_SIGNAL}
- PASSWORD_SIGNAL=${PASSWORD_SIGNAL}
- MAXIMUM_POOL_SIZE_SIGNAL=${MAXIMUM_POOL_SIZE_SIGNAL}
- MINIMUM_IDLE_SIGNAL=${MINIMUM_IDLE_SIGNAL}
- CONNECTION_TIMEOUT_SIGNAL=${CONNECTION_TIMEOUT_SIGNAL}
- VALIDATION_TIMEOUT_SIGNAL=${VALIDATION_TIMEOUT_SIGNAL}
- IDLE_TIMEOUT_SIGNAL=${IDLE_TIMEOUT_SIGNAL}
- MAX_LIFETIME_SIGNAL=${MAX_LIFETIME_SIGNAL}
- KEEPALIVE_TIME_SIGNAL=${KEEPALIVE_TIME_SIGNAL}
- LEAK_DETECTION_THRESHOLD_SIGNAL=${LEAK_DETECTION_THRESHOLD_SIGNAL}
- DB_URL_SCORING=${DB_URL_SCORING}
- USERNAME_SCORING=${USERNAME_SCORING}
- PASSWORD_SCORING=${PASSWORD_SCORING}
- MAXIMUM_POOL_SIZE_SCORING=${MAXIMUM_POOL_SIZE_SCORING}
- MINIMUM_IDLE_SCORING=${MINIMUM_IDLE_SCORING}
- CONNECTION_TIMEOUT_SCORING=${CONNECTION_TIMEOUT_SCORING}
- VALIDATION_TIMEOUT_SCORING=${VALIDATION_TIMEOUT_SCORING}
- IDLE_TIMEOUT_SCORING=${IDLE_TIMEOUT_SCORING}
- MAX_LIFETIME_SCORING=${MAX_LIFETIME_SCORING}
- KEEPALIVE_TIME_SCORING=${KEEPALIVE_TIME_SCORING}
- LEAK_DETECTION_THRESHOLD_SCORING=${LEAK_DETECTION_THRESHOLD_SCORING}
- DB_URL_NBCH=${DB_URL_NBCH}
- USERNAME_NBCH=${USERNAME_NBCH}
- PASSWORD_NBCH=${PASSWORD_NBCH}
- MAXIMUM_POOL_SIZE_NBCH=${MAXIMUM_POOL_SIZE_NBCH}
- MINIMUM_IDLE_NBCH=${MINIMUM_IDLE_NBCH}
- CONNECTION_TIMEOUT_NBCH=${CONNECTION_TIMEOUT_NBCH}
- VALIDATION_TIMEOUT_NBCH=${VALIDATION_TIMEOUT_NBCH}
- IDLE_TIMEOUT_NBCH=${IDLE_TIMEOUT_NBCH}
- MAX_LIFETIME_NBCH=${MAX_LIFETIME_NBCH}
- KEEPALIVE_TIME_NBCH=${KEEPALIVE_TIME_NBCH}
- LEAK_DETECTION_THRESHOLD_NBCH=${LEAK_DETECTION_THRESHOLD_NBCH}
- CONSUMER_TOPIC=${CONSUMER_TOPIC}
- CONSUMER_CONCURENCY=${CONSUMER_CONCURENCY}
- CONSUMER_BOOTSTRAP_SERVERS=${CONSUMER_BOOTSTRAP_SERVERS}
- CONSUMER_GROUP_ID=${CONSUMER_GROUP_ID}
- CONSUMER_AUTO_OFFSET_RESET=${CONSUMER_AUTO_OFFSET_RESET}
- CONSUMER_MAX_POLL_RECORDS=${CONSUMER_MAX_POLL_RECORDS}
- CONSUMER_MAX_POLL_INTERVAL_MS=${CONSUMER_MAX_POLL_INTERVAL_MS}
- ACCEPTED_XML_SIZE=${ACCEPTED_XML_SIZE}
- ACCEPTED_ARCHIVE_SIZE=${ACCEPTED_ARCHIVE_SIZE}
- SIGNALS_ROOT_URI=${SIGNALS_ROOT_URI}
- SIGNALS_TOKEN=${SIGNALS_TOKEN}
- SIGNALS_USER=${SIGNALS_USER}
- MONITORING_INTERVAL=${MONITORING_INTERVAL}
- UPDATE_FLAGS_CRON_EXPRESSION=${UPDATE_FLAGS_CRON_EXPRESSION}
- NEW_FLAGS_CRON_EXPRESSION=${NEW_FLAGS_CRON_EXPRESSION}
- UPDATE_FIDS_CRON_EXPRESSION=${UPDATE_FIDS_CRON_EXPRESSION}
- DAYS_TO_UPDATE_FIDS=${DAYS_TO_UPDATE_FIDS}
- DAYS_TO_UPDATE_FLAGS=${DAYS_TO_UPDATE_FLAGS}
- SAVER_SUBJECT_BATCH_SIZE=${SAVER_SUBJECT_BATCH_SIZE}
- FLAG_UPDATER_CONCURRENCY=${FLAG_UPDATER_CONCURRENCY}
- FLAG_UPDATER_QUEUE_CAPACITY=${FLAG_UPDATER_QUEUE_CAPACITY}
- NP_PIPELINE_SUBJECT_BATCH_SIZE=${NP_PIPELINE_SUBJECT_BATCH_SIZE}
- NP_PIPELINE_NAME_ENRICHER_STAGE_CONCURRENCY=${NP_PIPELINE_NAME_ENRICHER_STAGE_CONCURRENCY}
- NP_PIPELINE_NAME_ENRICHER_QUEUE_CAPACITY=${NP_PIPELINE_NAME_ENRICHER_QUEUE_CAPACITY}
- NP_PIPELINE_MERGER_QUEUE_CAPACITY=${NP_PIPELINE_MERGER_QUEUE_CAPACITY}
- NP_PIPELINE_NAME_UPDATER_STAGE_CONCURRENCY=${NP_PIPELINE_NAME_UPDATER_STAGE_CONCURRENCY}
- NP_PIPELINE_NAME_UPDATER_QUEUE_CAPACITY=${NP_PIPELINE_NAME_UPDATER_QUEUE_CAPACITY}
- NP_PIPELINE_ERROR_ATTEMPT_COUNT=${NP_PIPELINE_ERROR_ATTEMPT_COUNT}
- NP_PIPELINE_ERROR_ATTEMPT_DELAY=${NP_PIPELINE_ERROR_ATTEMPT_DELAY}
- NP_PIPELINE_RETRYABLE_EXCEPTIONS=${NP_PIPELINE_RETRYABLE_EXCEPTIONS}
- NP_PIPELINE_GLOBAL_TIMEOUT=${NP_PIPELINE_GLOBAL_TIMEOUT}
- NP_PIPELINE_PARALLEL_REQUESTS=${NP_PIPELINE_PARALLEL_REQUESTS}
- LP_PIPELINE_SUBJECT_BATCH_SIZE=${LP_PIPELINE_SUBJECT_BATCH_SIZE}
- LP_PIPELINE_NAME_ENRICHER_STAGE_CONCURRENCY=${LP_PIPELINE_NAME_ENRICHER_STAGE_CONCURRENCY}
- LP_PIPELINE_NAME_ENRICHER_QUEUE_CAPACITY=${LP_PIPELINE_NAME_ENRICHER_QUEUE_CAPACITY}
- LP_PIPELINE_MERGER_QUEUE_CAPACITY=${LP_PIPELINE_MERGER_QUEUE_CAPACITY}
- LP_PIPELINE_NAME_UPDATER_STAGE_CONCURRENCY=${LP_PIPELINE_NAME_UPDATER_STAGE_CONCURRENCY}
- LP_PIPELINE_NAME_UPDATER_QUEUE_CAPACITY=${LP_PIPELINE_NAME_UPDATER_QUEUE_CAPACITY}
- LP_PIPELINE_ERROR_ATTEMPT_COUNT=${LP_PIPELINE_ERROR_ATTEMPT_COUNT}
- LP_PIPELINE_ERROR_ATTEMPT_DELAY=${LP_PIPELINE_ERROR_ATTEMPT_DELAY}
- LP_PIPELINE_RETRYABLE_EXCEPTIONS=${LP_PIPELINE_RETRYABLE_EXCEPTIONS}
- LP_PIPELINE_GLOBAL_TIMEOUT=${LP_PIPELINE_GLOBAL_TIMEOUT}
- LP_PIPELINE_PARALLEL_REQUESTS=${LP_PIPELINE_PARALLEL_REQUESTS}
command: ["/opt/app/start-credit-tracker.sh"]
credit-tracker-monitoring:
image: ${REGISTRY_URL}/credit-tracker:${APP_VERSION}
container_name: credit-tracker-monitoring
restart: always
volumes:
- shared_data:/opt/app/reports
- ${LOGS_DIR}:/opt/app/logs/app
- ${JSON_LOGS_DIR}:/opt/app/logs/json
environment:
- APP_JAR=monitoring
- TZ=Europe/Moscow
- XMX=4G
- XMS=1G
- APM_SERVICE_NAME=${APM_SERVICE_NAME}-${APP_JAR}
- APM_SERVER_URLS=${APM_SERVER_URLS}
- APM_ENVIRONMENT=${APM_ENVIRONMENT}
- APM_SERVICE_NODE_NAME=${APM_SERVICE_NODE_NAME}
- APM_SERVICE_VERSION=${APP_VERSION}
- JMX_PORT=${JMX_MONITORING_PORT}
- JMX_HOSTNAME=${JMX_HOSTNAME}
- DB_URL_INDIC=${DB_URL_INDIC}
- USERNAME_INDIC=${USERNAME_INDIC}
- PASSWORD_INDIC=${PASSWORD_INDIC}
- MAXIMUM_POOL_SIZE_INDIC=${MAXIMUM_POOL_SIZE_INDIC}
- MINIMUM_IDLE_INDIC=${MINIMUM_IDLE_INDIC}
- CONNECTION_TIMEOUT_INDIC=${CONNECTION_TIMEOUT_INDIC}
- VALIDATION_TIMEOUT_INDIC=${VALIDATION_TIMEOUT_INDIC}
- IDLE_TIMEOUT_INDIC=${IDLE_TIMEOUT_INDIC}
- MAX_LIFETIME_INDIC=${MAX_LIFETIME_INDIC}
- KEEPALIVE_TIME_INDIC=${KEEPALIVE_TIME_INDIC}
- LEAK_DETECTION_THRESHOLD_INDIC=${LEAK_DETECTION_THRESHOLD_INDIC}
- DB_URL_SIGNAL=${DB_URL_SIGNAL}
- USERNAME_SIGNAL=${USERNAME_SIGNAL}
- PASSWORD_SIGNAL=${PASSWORD_SIGNAL}
- MAXIMUM_POOL_SIZE_SIGNAL=${MAXIMUM_POOL_SIZE_SIGNAL}
- MINIMUM_IDLE_SIGNAL=${MINIMUM_IDLE_SIGNAL}
- CONNECTION_TIMEOUT_SIGNAL=${CONNECTION_TIMEOUT_SIGNAL}
- VALIDATION_TIMEOUT_SIGNAL=${VALIDATION_TIMEOUT_SIGNAL}
- IDLE_TIMEOUT_SIGNAL=${IDLE_TIMEOUT_SIGNAL}
- MAX_LIFETIME_SIGNAL=${MAX_LIFETIME_SIGNAL}
- KEEPALIVE_TIME_SIGNAL=${KEEPALIVE_TIME_SIGNAL}
- LEAK_DETECTION_THRESHOLD_SIGNAL=${LEAK_DETECTION_THRESHOLD_SIGNAL}
- DB_URL_SCORING=${DB_URL_SCORING}
- USERNAME_SCORING=${USERNAME_SCORING}
- PASSWORD_SCORING=${PASSWORD_SCORING}
- MAXIMUM_POOL_SIZE_SCORING=${MAXIMUM_POOL_SIZE_SCORING}
- MINIMUM_IDLE_SCORING=${MINIMUM_IDLE_SCORING}
- CONNECTION_TIMEOUT_SCORING=${CONNECTION_TIMEOUT_SCORING}
- VALIDATION_TIMEOUT_SCORING=${VALIDATION_TIMEOUT_SCORING}
- IDLE_TIMEOUT_SCORING=${IDLE_TIMEOUT_SCORING}
- MAX_LIFETIME_SCORING=${MAX_LIFETIME_SCORING}
- KEEPALIVE_TIME_SCORING=${KEEPALIVE_TIME_SCORING}
- LEAK_DETECTION_THRESHOLD_SCORING=${LEAK_DETECTION_THRESHOLD_SCORING}
- DB_URL_NBCH=${DB_URL_NBCH}
- USERNAME_NBCH=${USERNAME_NBCH}
- PASSWORD_NBCH=${PASSWORD_NBCH}
- MAXIMUM_POOL_SIZE_NBCH=${MAXIMUM_POOL_SIZE_NBCH}
- MINIMUM_IDLE_NBCH=${MINIMUM_IDLE_NBCH}
- CONNECTION_TIMEOUT_NBCH=${CONNECTION_TIMEOUT_NBCH}
- VALIDATION_TIMEOUT_NBCH=${VALIDATION_TIMEOUT_NBCH}
- IDLE_TIMEOUT_NBCH=${IDLE_TIMEOUT_NBCH}
- MAX_LIFETIME_NBCH=${MAX_LIFETIME_NBCH}
- KEEPALIVE_TIME_NBCH=${KEEPALIVE_TIME_NBCH}
- LEAK_DETECTION_THRESHOLD_NBCH=${LEAK_DETECTION_THRESHOLD_NBCH}
- CONSUMER_TOPIC=${CONSUMER_TOPIC}
- CONSUMER_CONCURENCY=${CONSUMER_CONCURENCY}
- CONSUMER_BOOTSTRAP_SERVERS=${CONSUMER_BOOTSTRAP_SERVERS}
- CONSUMER_GROUP_ID=${CONSUMER_GROUP_ID}
- CONSUMER_AUTO_OFFSET_RESET=${CONSUMER_AUTO_OFFSET_RESET}
- CONSUMER_MAX_POLL_RECORDS=${CONSUMER_MAX_POLL_RECORDS}
- CONSUMER_MAX_POLL_INTERVAL_MS=${CONSUMER_MAX_POLL_INTERVAL_MS}
- SIGNALS_ROOT_URI=${SIGNALS_ROOT_URI}
- SIGNALS_TOKEN=${SIGNALS_TOKEN}
- SIGNALS_USER=${SIGNALS_USER}
- MONITORING_INTERVAL=${MONITORING_INTERVAL}
command: ["/opt/app/start-credit-tracker.sh"]
volumes:
shared_data: