ARG BUILDER_IMAGE=nexus.ervu.rt-sk.ru/ervu-base/alt:p10
ARG RUNTIME_IMAGE=nexus.ervu.rt-sk.ru/ervu-base/alt:p10

FROM $BUILDER_IMAGE AS builder

ARG MVN_FLAGS="-T4C -Pprod --batch-mode --no-transfer-progress"

RUN apt-get update \
 && apt-get -y install git glibc-locales java-17-openjdk-devel maven node \
 && apt-get clean

ENV JAVA_HOME=/usr/lib/jvm/java
ENV LANG ru_RU.UTF-8
ENV LANGUAGE ru_RU.UTF-8
ENV LC_ALL ru_RU.UTF-8

WORKDIR /app
COPY . .

RUN mkdir -p $HOME/.m2 \
 && cp config/settings.xml $HOME/.m2/settings.xml

RUN mvn clean ${MVN_FLAGS} \
 && mvn package ${MVN_FLAGS}


FROM $RUNTIME_IMAGE

COPY --from=builder /usr/lib/locale/ru_RU /usr/lib/locale/ru_RU
COPY --from=builder /usr/lib/locale/ru_RU.utf8 /usr/lib/locale/ru_RU.utf8
COPY --from=builder /usr/share/locale/ru_RU /usr/share/locale/ru_RU

COPY config/entrypoint.sh /entrypoint.sh

RUN apt-get update \
 && apt-get -y dist-upgrade \
 && apt-get -y install java-17-openjdk-headless tomcat \
 && apt-get clean \
 && rm -f /var/cache/apt/*.bin \
 && rm -f /var/lib/apt/lists/update* \
 && chmod +x /entrypoint.sh

ENV JAVA_HOME=/usr/lib/jvm/java
ENV LANG=ru_RU.UTF-8
ENV LANGUAGE=ru_RU.UTF-8
ENV LC_ALL=ru_RU.UTF-8

COPY config/tomcat /

RUN cat /etc/tomcat/webbpm.properties >> /etc/tomcat/catalina.properties \
 && chown -R tomcat:tomcat /var/lib/tomcat/webapps && rm -rf /var/lib/tomcat/webapps/ROOT

COPY --from=builder /app/backend/target/dashboard*.war /var/lib/tomcat/webapps/ROOT.war

USER tomcat

EXPOSE 8080

ENTRYPOINT ["/entrypoint.sh"]
