# JRE 11 运行时：JDK 8 下 OIDC JWT 校验链路失败导致前端登录刷新循环，运行时对齐本地已验证的 JDK 11。
# 用 11-jre-jammy 锁定大版本/JRE/jammy 基底（与现有 8-jre-jammy 同为 Ubuntu 22.04，无新内核兼容风险）；
# 如需构建可重现，可在服务器拉取清单后钉死为 11.0.XX_Y-jre-jammy。
FROM eclipse-temurin:11-jre-jammy

LABEL maintainer="zxm<2060197959@qq.com>"

ENV TZ=Asia/Shanghai \
    JAVA_OPTS="-Xmx256m -Xms128m"

# 固定 UID 1001，与宿主机日志目录属主对齐；提前创建日志目录并授权给非 root 用户
RUN groupadd -r app --gid=1001 \
    && useradd -r -g app --uid=1001 -d /home/app app \
    && mkdir -p /var/log/yd-csf-api \
    && chown app:app /var/log/yd-csf-api

# COPY 会自动创建父目录 /home/app，无需单独 mkdir
COPY --chown=app:app target/yd-csf-api-1.0-SNAPSHOT-exec.jar /home/app/yd-csf-api.jar

USER app
EXPOSE 9202
# sh -c + exec：保证 JVM 成为 1 号进程，docker stop 的 SIGTERM 可直达，支持优雅停机
ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -Duser.timezone=Asia/Shanghai -jar /home/app/yd-csf-api.jar"]
