# 多阶段构建:先 Maven 编译,再运行
FROM maven:3.8.6-openjdk-8 AS builder
WORKDIR /build
COPY pom.xml .
# 先下依赖(利用 Docker 层缓存)
RUN mvn dependency:go-offline -B
COPY src ./src
RUN mvn clean package -DskipTests -B

# 运行阶段:轻量 JRE
FROM openjdk:8-jre-slim
WORKDIR /app

# 从构建阶段复制 jar
COPY --from=builder /build/target/dk-1.0-SNAPSHOT.jar app.jar

# 上传文件目录
RUN mkdir -p /app/files
VOLUME /app/files

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

EXPOSE 8089

# 使用环境变量注入敏感配置
ENV DB_USERNAME=zj \
    DB_PASSWORD= \
    REDIS_PASSWORD= \
    MAILGUN_API_KEY= \
    MAILGUN_DOMAIN=malaysia.loanpersonal.my \
    MAIL_FROM_EMAIL=suman@malaysia.loanpersonal.my

ENTRYPOINT ["java", "-jar", "-Xmx512m", "-Xms256m", "app.jar"]
