FROM docker.m.daocloud.io/library/maven:3.9.11-eclipse-temurin-21 AS builder WORKDIR /build COPY . . RUN mvn -Pprod -DskipTests -pl ruoyi-admin -am clean package FROM docker.m.daocloud.io/library/eclipse-temurin:21-jre-jammy RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates curl \ && curl -fsSL --connect-timeout 10 --max-time 30 https://ghfast.top/https://raw.githubusercontent.com/DingTalk-Real-AI/dingtalk-workspace-cli/main/scripts/install.sh -o /tmp/install-dws.sh \ && env DWS_GITEE_REPO=DingTalk-Real-AI/dingtalk-workspace-cli DWS_VERSION=v1.0.60 DWS_NO_SKILLS=1 DWS_INSTALL_DIR=/usr/local/bin sh /tmp/install-dws.sh \ && dws version \ && rm -rf /var/lib/apt/lists/* /tmp/install-dws.sh /root/.cache WORKDIR /app RUN mkdir -p /app/logs /app/temp /var/lib/ruoyi-sync/dws COPY --from=builder /build/ruoyi-admin/target/ruoyi-admin.jar /app/app.jar ENV TZ=Asia/Shanghai \ JAVA_OPTS="-XX:+UseZGC -XX:+HeapDumpOnOutOfMemoryError" \ DWS_EXECUTABLE=/usr/local/bin/dws \ DWS_PROFILE_ROOT=/var/lib/ruoyi-sync/dws EXPOSE 8080 HEALTHCHECK --interval=15s --timeout=5s --start-period=60s --retries=10 \ CMD curl -fsS http://127.0.0.1:8080/ >/dev/null || exit 1 ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar /app/app.jar"]