ervu-eks/Dockerfile

55 lines
1.5 KiB
Text
Raw Permalink Normal View History

2025-11-25 22:38:55 +03:00
ARG BUILDER_IMAGE=nexus.ervu.rt-sk.ru/ervu-base/alpine:3.22.2
ARG RUNTIME_IMAGE=nexus.ervu.rt-sk.ru/ervu-base/alpine:3.22.2
2025-10-21 10:58:55 +03:00
FROM $BUILDER_IMAGE AS builder
ARG MVN_FLAGS="-T4C -Pprod --batch-mode --no-transfer-progress"
2025-11-21 14:18:19 +03:00
RUN echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/main" >> /etc/apk/repositories \
&& echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories \
&& apk --update --no-cache add git maven nodejs npm openjdk21-jdk
2025-10-21 10:58:55 +03:00
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 /root/.m2 \
# && cp config/settings.xml /root/.m2/settings.xml \
&& mvn clean ${MVN_FLAGS} \
&& mvn package ${MVN_FLAGS}
FROM $RUNTIME_IMAGE
RUN rm -f /etc/apk/repositories \
2025-11-21 14:18:19 +03:00
&& echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/main" >> /etc/apk/repositories \
&& echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories \
&& apk update \
&& apk upgrade \
&& apk --no-cache add nginx openjdk21-jre-headless
2025-10-21 10:58:55 +03:00
ENV BACKEND_URL=http://localhost:8080
ENV CONFIG_DATA_EXECUTOR_URL=http://localhost:8080/api
2025-11-25 22:38:55 +03:00
EXPOSE 80
RUN addgroup --system --gid 1002 app \
2025-11-25 23:15:20 +03:00
&& adduser -S app -u 1002 -G app \
&& adduser -S cde -u 1003 -G app
2025-11-25 22:38:55 +03:00
2025-10-21 10:58:55 +03:00
COPY config/nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /app/frontend/dist /usr/share/nginx/html
COPY --from=builder /app/backend/target/*.jar /home/app/backend.jar
2025-11-25 22:38:55 +03:00
COPY --from=builder /app/config-data-executor/target/*.jar /home/cde/cde.jar
2025-10-21 10:58:55 +03:00
2025-11-25 23:15:20 +03:00
USER app
2025-11-25 22:38:55 +03:00
WORKDIR /home/app
2025-10-21 10:58:55 +03:00
ENTRYPOINT ["java", "-jar", "/home/app/backend.jar"]