FROM eclipse-temurin:21-jre-alpine

ENV TZ="Europe/Moscow"

USER root

WORKDIR /opt/app
COPY maven/elastic-apm-agent-1.50.0.jar elastic-apm-agent.jar
COPY maven/indic-search-service*.jar indic-search-service.jar
COPY maven/application.properties application.properties

CMD java \
    -javaagent:/opt/app/elastic-apm-agent.jar \
    -Xmx${XMX_MB}m \
    -XX:+UseZGC \
    -XX:+ZGenerational \
    -Dcom.sun.management.jmxremote=true \
    -Dcom.sun.management.jmxremote.port=1234 \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Dcom.sun.management.jmxremote.ssl=false \
    -Dnode_routing_suffix=${JVM_ROUTE} \
    -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 \
    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5555 \
    ${JAVA_OPTS} \
    -jar indic-search-service.jar \
    --spring.config.location=application.properties