# 基础镜像：使用 Eclipse Temurin JDK 17
FROM eclipse-temurin:17-jre-alpine

# 维护者信息
LABEL maintainer="XL Prison System <admin@xlprison.com>"

# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 创建非 root 用户运行应用
RUN addgroup -g 1000 app && adduser -u 1000 -G app -s /bin/sh -D app

# 设置工作目录
WORKDIR /app

# 创建必要的目录
RUN mkdir -p logs heapdump config && chown -R app:app /app

# 切换到非 root 用户
USER app

# 暴露端口
EXPOSE 48080

# 健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
    CMD curl -f http://localhost:48080/actuator/health || exit 1

# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]
