diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..2a6b014
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,17 @@
+FROM eclipse-temurin:17-jre-alpine
+MAINTAINER ru.nbch
+RUN apk add gcompat bash
+
+VOLUME /opt/app/logs
+VOLUME /opt/app/reports
+
+WORKDIR /opt/app
+COPY maven/elastic-apm-agent-1.45.0.jar /opt/app/elastic-apm-agent.jar
+COPY maven/credit-tracker.jar /opt/app/credit-tracker.jar
+COPY maven/start-credit-tracker.sh /opt/app/start-credit-tracker.sh
+COPY maven/credit-tracker.properties /opt/app/credit-tracker.properties
+COPY maven/monitoring-request.xsd /opt/app/monitoring-request.xsd
+COPY maven/signal-package.xsd /opt/app/signal-package.xsd
+
+RUN chmod +x /opt/app/start-credit-tracker.sh
+ENTRYPOINT ["/opt/app/start-credit-tracker.sh"]
diff --git a/apm-agent/elastic-apm-agent-1.45.0.jar b/apm-agent/elastic-apm-agent-1.45.0.jar
new file mode 100644
index 0000000..2b0e5d0
Binary files /dev/null and b/apm-agent/elastic-apm-agent-1.45.0.jar differ
diff --git a/credit-tracker.properties b/credit-tracker.properties
index 37e632a..d294b79 100644
--- a/credit-tracker.properties
+++ b/credit-tracker.properties
@@ -30,7 +30,9 @@ ct.signals-root-uri=http://10.230.227.102:11094/signalRUalfa/
ct.signals-token=gttcHxwcGojoAvZK
ct.signals-user=0001ZZ000001
-ct.load-dir=D:\\folder_name\\signals
+ct.load-dir=/opt/app/reports
+#ct.load-dir=D:\\folder_name\\signals
+
# min
ct.monitoring-interval=15
# days
diff --git a/docker_compose/credit_tracker_config.env b/docker_compose/credit_tracker_config.env
new file mode 100644
index 0000000..ca5bc7e
--- /dev/null
+++ b/docker_compose/credit_tracker_config.env
@@ -0,0 +1,52 @@
+#commons
+APP_VERSION=1.0
+REGISTRY_URL=localhost:5000
+JMX_PORT=
+JMX_HOSTNAME=
+
+#volumes
+REPORT_DIR=D:\folder_name\signals
+LOGS_DIR=D:\folder_name\signals\logs
+
+#APM settings
+APM_SERVICE_NAME=credit-tracker
+APM_SERVER_URLS=test
+APM_ENVIRONMENT=test
+APM_SERVICE_NODE_NAME=test
+APM_SERVICE_VERSION=test
+
+server.port=8099
+
+# datasources
+# indic
+ct.indic-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver
+ct.indic-data-source-settings.url=jdbc:db2://10.230.227.101:2668/cprosd22:currentSchema=INDIC;
+ct.indic-data-source-settings.username=tester
+ct.indic-data-source-settings.password=tester
+
+# signal
+ct.signal-data-source-settings.driver=org.postgresql.Driver
+ct.signal-data-source-settings.url=jdbc:postgresql://10.200.200.133:5432/credit_tracker
+ct.signal-data-source-settings.username=credit_tracker_user
+ct.signal-data-source-settings.password=
+
+# scoring
+ct.scoring-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver
+ct.scoring-data-source-settings.url=jdbc:db2://10.230.227.101:2668/cprosd22:currentSchema=TEST_2_INDIC;
+ct.scoring-data-source-settings.username=tester
+ct.scoring-data-source-settings.password=tester
+
+spring.servlet.multipart.max-file-size=2048MB
+spring.servlet.multipart.max-request-size=2048MB
+
+ct.signals-root-uri=http://10.230.227.102:11094/signalRUalfa/
+ct.signals-token=gttcHxwcGojoAvZK
+ct.signals-user=0001ZZ000001
+
+# min
+ct.monitoring-interval=15
+# days
+ct.update-flags-interval=1
+ct.days-to-update-flags=30
+
+
diff --git a/docker_compose/docker-compose.yml b/docker_compose/docker-compose.yml
new file mode 100644
index 0000000..9fd1a6d
--- /dev/null
+++ b/docker_compose/docker-compose.yml
@@ -0,0 +1,17 @@
+services:
+ credit-tracker:
+ image: ${REGISTRY_URL}/credit-tracker:${APP_VERSION}
+ container_name: credit-tracker
+ restart: always
+ volumes:
+ - ${LOGS_DIR}:/opt/app/logs
+ - ${REPORT_DIR}:/opt/app/reports
+ environment:
+ - TZ=Europe/Moscow
+ - APM_SERVICE_NAME=${APM_SERVICE_NAME}
+ - 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_PORT}
+ - JMX_HOSTNAME="${JMX_HOSTNAME}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 13e4407..46b9fb3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
ru.nbch
- credit_tracker
+ credit-tracker
1.0
credit_tracker
Credit Tracker Application
@@ -18,6 +18,8 @@
17
git_info
git.properties
+ 10.230.238.56:5000
+
@@ -164,6 +166,65 @@
+
+ io.fabric8
+ docker-maven-plugin
+ 0.45.0
+
+
+ Build and deploy docker container
+ install
+
+ build
+ push
+
+
+
+
+
+
+ ${project.artifactId}:${project.version}
+ ${registry.url}
+
+ ${project.basedir}/Dockerfile
+
+
+
+
+ ${project.build.directory}/${project.build.finalName}.jar
+ .
+
+
+ ${project.basedir}/apm-agent/elastic-apm-agent-1.45.0.jar
+ .
+
+
+ ${project.basedir}/start-credit-tracker.sh
+ .
+
+
+ ${project.basedir}/credit-tracker.properties
+ .
+
+
+ ${project.basedir}/monitoring-request.xsd
+ .
+
+
+ ${project.basedir}/signal-package.xsd
+ .
+
+
+
+
+
+ ${project.version}
+
+
+
+
+
+
diff --git a/start-credit-tracker.sh b/start-credit-tracker.sh
new file mode 100644
index 0000000..9f262d8
--- /dev/null
+++ b/start-credit-tracker.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+export APP_JMX_PORT="${JMX_PORT:-11001}"
+export APP_JMX_HOSTNAME="${JMX_HOSTNAME:-localhost}"
+
+echo "Запуск Credit Tracker"
+exec java \
+ -Xmx8G \
+ -Xms4G \
+ -javaagent:/opt/app/elastic-apm-agent.jar \
+ -XX:+UseZGC \
+ -Delastic.apm.service_name="${APM_SERVICE_NAME}" \
+ -Delastic.apm.server_urls="${APM_SERVER_URLS}" \
+ -Delastic.apm.application_packages=ru.nbch \
+ -Delastic.apm.environment="${APM_ENVIRONMENT}" \
+ -Delastic.apm.service_node_name="${APM_SERVICE_NODE_NAME}" \
+ -Delastic.apm.hostname="${APM_SERVICE_NODE_NAME}" \
+ -Delastic.apm.service_version="${APM_SERVICE_VERSION}" \
+ -Delastic.apm.enable_log_correlation=true \
+ -Delastic.apm.stack_trace_limit=0 \
+ -Delastic.apm.span_stack_trace_min_duration=-1ms \
+ -Dlog4j2.formatMsgNoLookups=true \
+ -Dcom.sun.management.jmxremote \
+ -Dcom.sun.management.jmxremote.ssl=false \
+ -Dcom.sun.management.jmxremote.authenticate=false \
+ -Dcom.sun.management.jmxremote.local.only=false \
+ -Dcom.sun.management.jmxremote.port="$APP_JMX_PORT" \
+ -Dcom.sun.management.jmxremote.rmi.port="$APP_JMX_PORT" \
+ -Djava.rmi.server.hostname="$APP_JMX_HOSTNAME" \
+ -jar credit-tracker.jar