diff --git a/.gitignore b/.gitignore
index 0d192a3..9b6479d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,3 +67,4 @@ npm-debug.log
*.sublime-workspace
sync-backend.ps1
sync-frontend.ps1
+config/kafka_data
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..3d8aae2
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,20 @@
+#Dockerfile for TeamCity build "run in docker"
+
+FROM repo.asd.center.cg:8082/alt/alt-tomcat:c10f1-9.0.59-20240917
+
+USER root
+
+COPY config/tomcat /
+
+RUN cat /etc/tomcat/webbpm.properties >> /etc/tomcat/catalina.properties \
+ && chown root:tomcat /var/lib/tomcat/webapps \
+ && chmod g+rw /var/lib/tomcat/webapps
+
+COPY frontend/target/frontend*.war /var/lib/tomcat/webapps/ROOT.war
+COPY backend/target/*.war /var/lib/tomcat/webapps/
+
+USER tomcat
+
+EXPOSE 8080
+
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/config/crypto-gateway.env b/config/crypto-gateway.env
new file mode 100644
index 0000000..a6b4df3
--- /dev/null
+++ b/config/crypto-gateway.env
@@ -0,0 +1,5 @@
+JCSP_KEYSTORE_ALIAS=aef8d0e0-bcaa-4e07-8bbe-4953c6eea458
+JCSP_KEYSTORE_PASS=1234567890
+
+SF_OFFLINE_CRL_ENABLED=false
+CRYPTO_OFFLINE_CRL_ENABLED=false
\ No newline at end of file
diff --git a/config/ervu-extract-from-registry-provider.env b/config/ervu-extract-from-registry-provider.env
new file mode 100644
index 0000000..0fdac8e
--- /dev/null
+++ b/config/ervu-extract-from-registry-provider.env
@@ -0,0 +1,25 @@
+PG_HOST=10.10.31.119
+PG_PORT=5432
+PG_DATABASE=ervu_extract_from_registry_provider
+PG_USER=ervu_extract_from_registry_provider
+PG_PASSWORD=ervu_extract_from_registry_provider
+
+KAFKA_HOSTS=local-kafka:9094
+KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+KAFKA_AUTH_SEC_PROTO=PLAINTEXT
+KAFKA_AUTH_SASL_MECH=PLAIN
+KAFKA_USER=user2
+KAFKA_PASS=Blfi9d2OFG
+
+EXTERNAL_KAFKA_HOSTS=local-kafka:9094
+EXTERNAL_KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+EXTERNAL_KAFKA_AUTH_SEC_PROTO=PLAINTEXT
+EXTERNAL_KAFKA_AUTH_SASL_MECH=PLAIN
+EXTERNAL_KAFKA_USER=user2
+EXTERNAL_KAFKA_PASS=Blfi9d2OFG
+
+AWS_ENDPOINT=http://ervu-minio.k8s.micord.ru:31900
+AWS_ACCESS_KEY_ID=rlTdTvkmSXu9FsLhfecw
+AWS_SECRET_ACCESS_KEY=NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0
+
+CRYPTO_GATEWAY_URL=http://crypto-gateway:8080
\ No newline at end of file
diff --git a/config/ervu-person-registry.env b/config/ervu-person-registry.env
new file mode 100644
index 0000000..0630568
--- /dev/null
+++ b/config/ervu-person-registry.env
@@ -0,0 +1,23 @@
+PG_HOST=10.10.31.119
+PG_PORT=5432
+PG_DATABASE=ervu_person_registry_local
+PG_USER=ervu_person_registry
+PG_PASSWORD=ervu_person_registry
+
+KAFKA_HOSTS=local-kafka:9094
+KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+KAFKA_AUTH_SEC_PROTO=PLAINTEXT
+KAFKA_AUTH_SASL_MECH=PLAIN
+KAFKA_USER=user2
+KAFKA_PASS=Blfi9d2OFG
+
+EXTERNAL_KAFKA_HOSTS=local-kafka:9094
+EXTERNAL_KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+EXTERNAL_KAFKA_AUTH_SEC_PROTO=PLAINTEXT
+EXTERNAL_KAFKA_AUTH_SASL_MECH=PLAIN
+EXTERNAL_KAFKA_USER=user2
+EXTERNAL_KAFKA_PASS=Blfi9d2OFG
+
+AWS_ENDPOINT=http://ervu-minio.k8s.micord.ru:31900
+AWS_ACCESS_KEY_ID=rlTdTvkmSXu9FsLhfecw
+AWS_SECRET_ACCESS_KEY=NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0
diff --git a/config/ervu-rp-summons-service.env b/config/ervu-rp-summons-service.env
new file mode 100644
index 0000000..fc08229
--- /dev/null
+++ b/config/ervu-rp-summons-service.env
@@ -0,0 +1,19 @@
+PGHOST=10.10.31.119
+PGPORT=5432
+PGDATABASE=ervu_rp_summons_service
+PGUSER=ervu_rp_summons_service
+PGPASSWORD=ervu_rp_summons_service
+
+KAFKA_HOSTS=local-kafka:9094
+KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+KAFKA_AUTH_SEC_PROTO=PLAINTEXT
+KAFKA_AUTH_SASL_MECH=PLAIN
+KAFKA_USER=user2
+KAFKA_PASS=Blfi9d2OFG
+
+EXTERNAL_KAFKA_HOSTS=local-kafka:9094
+EXTERNAL_KAFKA_AUTH_SASL_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+EXTERNAL_KAFKA_AUTH_SEC_PROTO=PLAINTEXT
+EXTERNAL_KAFKA_AUTH_SASL_MECH=PLAIN
+EXTERNAL_KAFKA_USER=user2
+EXTERNAL_KAFKA_PASS=Blfi9d2OFG
diff --git a/config/kafdrop.env b/config/kafdrop.env
new file mode 100644
index 0000000..064b61a
--- /dev/null
+++ b/config/kafdrop.env
@@ -0,0 +1,2 @@
+KAFKA_BROKERCONNECT=local-kafka:9094
+KAFKA_PROPERTIES=c2VjdXJpdHkucHJvdG9jb2w9UExBSU5URVhUDQpzYXNsLm1lY2hhbmlzbT1QTEFJTg0Kc2FzbC5qYWFzLmNvbmZpZz1vcmcuYXBhY2hlLmthZmthLmNvbW1vbi5zZWN1cml0eS5wbGFpbi5QbGFpbkxvZ2luTW9kdWxlIHJlcXVpcmVkIHVzZXJuYW1lPSd1c2VyMicgcGFzc3dvcmQ9J0JsZmk5ZDJPRkcnOw==
\ No newline at end of file
diff --git a/config/kafka.env b/config/kafka.env
new file mode 100644
index 0000000..6716ba1
--- /dev/null
+++ b/config/kafka.env
@@ -0,0 +1,23 @@
+KAFKA_CFG_NODE_ID=0
+KAFKA_CFG_PROCESS_ROLES=controller,broker
+KAFKA_CFG_LISTENERS=CLIENT://:9092,INTERNAL://:9094,CONTROLLER://:9093
+KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://local-kafka:9092,INTERNAL://local-kafka:9094,CONTROLLER://localhost:9093
+KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:SASL_PLAINTEXT,INTERNAL:PLAINTEXT,CONTROLLER:SASL_PLAINTEXT,
+KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@local-kafka:9093
+KAFKA_KRAFT_BOOTSTRAP_SCRAM_USERS=true
+
+# Controller
+KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
+#KAFKA_CONTROLLER_USER=controller_user
+#KAFKA_CONTROLLER_PASSWORD=Blfi9d2OFG
+KAFKA_CFG_SASL_MECHANISM_CONTROLLER_PROTOCOL=PLAIN
+
+# Client CLIENT
+KAFKA_CLIENT_USERS=user2
+KAFKA_CLIENT_PASSWORDS=Blfi9d2OFG
+KAFKA_CLIENT_LISTENER_NAME=CLIENT
+KAFKA_CFG_SASL_JAAS_CONFIG=org.apache.kafka.common.security.scram.ScramLoginModule required username="user2" password="Blfi9d2OFG";
+
+# Client internal
+KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
+KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
\ No newline at end of file
diff --git a/config/kafka.properties b/config/kafka.properties
new file mode 100644
index 0000000..538f397
--- /dev/null
+++ b/config/kafka.properties
@@ -0,0 +1,3 @@
+security.protocol=PLAINTEXT
+sasl.mechanism=PLAIN
+sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='user2' password='Blfi9d2OFG';
\ No newline at end of file
diff --git a/config/local.env b/config/local.env
new file mode 100644
index 0000000..36a1822
--- /dev/null
+++ b/config/local.env
@@ -0,0 +1,38 @@
+TZ=Europe/Moscow
+
+# App datasource
+DB_APP_USERNAME=ervu_lkrp_fl
+DB_APP_PASSWORD=ervu_lkrp_fl
+DB_APP_HOST=10.10.31.119
+DB_APP_PORT=5432
+DB_APP_NAME=ervu_lkrp_fl
+
+ESIA_SCOPES=snils, fullname, birthdate, id_doc
+ESIA_BASE_URI=https://esia-portal1.test.gosuslugi.ru/
+ESIA_ISSUER_URL=http://esia-portal1.test.gosuslugi.ru/
+ESIA_CLIENT_ID=MNSV93
+ESIA_CLIENT_CERT_HASH=CF35A98C48E48665EA73530537BAFBB51F911C434ADC89215C2F86DCD04E28C5
+ESIA_REDIRECT_URL=http://localhost:8080/
+
+SIGN_URL=https://ervu-sign-dev.k8s.micord.ru/sign
+SIGN_VERIFY_URL=https://ervu-sign-dev.k8s.micord.ru/verify
+
+ERVU_KAFKA_BOOTSTRAP_SERVERS=local-kafka:9094
+ERVU_KAFKA_USERNAME=user2
+ERVU_KAFKA_PASSWORD=Blfi9d2OFG
+ERVU_KAFKA_SASL_MECHANISM=PLAIN
+ERVU_KAFKA_SECURITY_PROTOCOL=PLAINTEXT
+ERVU_KAFKA_GROUP_ID=ervu-lkrp-fl-new
+ERVU_KAFKA_REPLY_TOPIC=ervu.lkpr.person.search.response
+ERVU_KAFKA_REQUEST_TOPIC=ervu.lkpr.person.search.request
+ERVU_KAFKA_REPLY_TIMEOUT=5
+ERVU_KAFKA_RECRUIT_REQUEST_TOPIC=ervu.recruit.info.request
+ERVU_KAFKA_RECRUIT_REPLY_TOPIC=ervu.recruit.info.response
+ERVU_KAFKA_RECRUIT_HEADER_CLASS=Request@urn://rostelekom.ru/RP-SummonsTR/1.0.5
+ERVU_KAFKA_REGISTRY_EXTRACT_REQUEST_TOPIC=ervu.extract.info.request
+ERVU_KAFKA_REGISTRY_EXTRACT_REPLY_TOPIC=ervu.extract.info.response
+ERVU_KAFKA_EXTRACT_HEADER_CLASS=request@urn://rostelekom.ru/ERVU-extractFromRegistryTR/1.0.3
+ERVU_KAFKA_DOC_LOGIN_MODULE=org.apache.kafka.common.security.plain.PlainLoginModule
+
+ESIA_TOKEN_CLEAR_CRON=0 0 */1 * * *
+COOKIE_PATH=/fl
diff --git a/config/printer.env b/config/printer.env
new file mode 100644
index 0000000..61ad9e6
--- /dev/null
+++ b/config/printer.env
@@ -0,0 +1,15 @@
+MICRONAUT_ENVIRONMENTS=local
+MICRONAUT_SERVER_PORT=8080
+MICRONAUT_SECURITY_ENABLED=false
+KAFKA_BOOTSTRAP_SERVERS=local-kafka:9094
+KAFKA_SASL_MECHANISM=PLAIN
+KAFKA_SASL_JAAS_CONFIG=''
+KAKFA_SECURITY_PROTOCOL=PLAINTEXT
+S3_CLIENTS_DEFAULT_ENDPOINT=http://ervu-minio.k8s.micord.ru:31900
+S3_CLIENTS_DEFAULT_ACCESS_KEY=rlTdTvkmSXu9FsLhfecw
+S3_CLIENTS_DEFAULT_SECRET_KEY=NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0
+S3_CLIENTS_DEFAULT_BUCKET=printer
+REDIS_URI=redis://:@redis:6379
+RTL_MONITORING_HEALTH_INDICATOR_LIBREOFFICE_ENABLED=false
+TOKEN_MANAGER_ENABLED=false
+LIBREOFFICE_PORT_NUMBERS=8101,8102,8103,8104,8105,8106,8107,8108
diff --git a/config/tomcat/etc/tomcat/tomcat-users.xml b/config/tomcat/etc/tomcat/tomcat-users.xml
deleted file mode 100644
index 4a9631c..0000000
--- a/config/tomcat/etc/tomcat/tomcat-users.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
diff --git a/config/tomcat/var/lib/tomcat/webapps/manager/META-INF/context.xml b/config/tomcat/var/lib/tomcat/webapps/manager/META-INF/context.xml
deleted file mode 100644
index 82a93f3..0000000
--- a/config/tomcat/var/lib/tomcat/webapps/manager/META-INF/context.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000..e8d7b12
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,106 @@
+services:
+ local-kafka:
+ image: docker.io/bitnami/kafka:3.9.0
+ container_name: kafka-fl
+ ports:
+ - 9092:9092
+ - 9094:9094
+ volumes:
+ - ./config/kafka_data:/bitnami/kafka
+ env_file:
+ - config/kafka.env
+ healthcheck:
+ test: ["CMD", "kafka-topics.sh", "--list", "--bootstrap-server", "localhost:9094"]
+ interval: 30s
+ timeout: 10s
+ retries: 4
+
+ kafdrop:
+ container_name: kafdrop-fl
+ image: obsidiandynamics/kafdrop
+ restart: "no"
+ ports:
+ - 9000:9000
+ env_file:
+ config/kafdrop.env
+ depends_on:
+ local-kafka:
+ condition: service_healthy
+
+ redis:
+ image: redis/redis-stack:latest
+ container_name: redis
+ ports:
+ - 6379:6379
+
+ ervu-rp-summons-service:
+ image: registry-dev.pgs.rtlabs.ru/ervu/ervu-rp-summons-service:0.0.1-sha05ea36ab
+ container_name: rp-summons-service
+ env_file:
+ - config/ervu-rp-summons-service.env
+ depends_on:
+ local-kafka:
+ condition: service_healthy
+
+ ervu-person-registry:
+ container_name: person-registry
+ image: registry-dev.pgs.rtlabs.ru/ervu/ervu-person-registry:0.0.1-shad32a31f0
+ env_file:
+ - config/ervu-person-registry.env
+ depends_on:
+ local-kafka:
+ condition: service_healthy
+
+ crypto-gateway:
+ image: registry-dev.pgs.rtlabs.ru/ervu/crypto-gateway:0.0.1-shada76e6e7
+ container_name: crypto-gateway
+ ports:
+ - 8080
+ env_file:
+ config/crypto-gateway.env
+
+ printer:
+ image: registry-dev.pgs.rtlabs.ru/ervu/printer:0.0.1-shabd591b88
+ container_name: printer
+ depends_on:
+ redis:
+ condition: service_started
+ local-kafka:
+ condition: service_healthy
+ ports:
+ - 8080
+ - 5005
+ env_file:
+ - config/printer.env
+
+ ervu-extract-from-registry-provider:
+ container_name: extract-from-registry-provider
+ image: registry-dev.pgs.rtlabs.ru/ervu/ervu-extract-from-registry-provider:0.0.1-shaa6a2261f
+ env_file:
+ - config/ervu-extract-from-registry-provider.env
+ depends_on:
+ crypto-gateway:
+ condition: service_started
+ local-kafka:
+ condition: service_healthy
+ printer:
+ condition: service_started
+
+ lkrp-fl:
+ container_name: lkrp-fl
+ build:
+ context: .
+ dockerfile: Dockerfile
+ ports:
+ - 8080:8080
+ env_file:
+ - config/local.env
+ depends_on:
+ local-kafka:
+ condition: service_healthy
+ ervu-extract-from-registry-provider:
+ condition: service_started
+ ervu-person-registry:
+ condition: service_started
+ ervu-rp-summons-service:
+ condition: service_started