# PUBLIC DOMAIN - NO LICENSE, NO WARRANTY
# Copyright 2025 TimeHexOn & foxhop & russell@unturf
# https://www.permacomputer.com

# Pin to specific OpenJDK and sbt versions (checked 2025-10-13: openjdk:17-jdk-slim is current LTS)
FROM openjdk:17-jdk-slim AS builder

# Install sbt
RUN apt-get update && apt-get install -y curl gnupg2 && \
    curl -L "https://github.com/sbt/sbt/releases/download/v1.9.7/sbt-1.9.7.tgz" | tar -xz -C /opt && \
    ln -s /opt/sbt/bin/sbt /usr/local/bin/sbt && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY build.sbt .
COPY project ./project
RUN sbt update

COPY src ./src
RUN sbt clean compile stage

FROM openjdk:17-jdk-slim

WORKDIR /app
COPY --from=builder /app/target/universal/stage .

CMD ["bin/uncloseai"]
