Initial commit: trueref v0.1.0-SNAPSHOT
Some checks failed
Build and publish Docker image / Build and push (push) Failing after 1m27s
Some checks failed
Build and publish Docker image / Build and push (push) Failing after 1m27s
Java 21 / Spring Boot 3.5.3 multi-module Maven project. Hybrid BM25+HNSW search with RRF, cross-encoder reranker, ONNX Runtime 1.22.0 (CPU + CUDA 12 GPU variants).
This commit is contained in:
51
Dockerfile
Normal file
51
Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
||||
# ─── Build stage ──────────────────────────────────────────────────────────────
|
||||
# eclipse-temurin:21-jdk-jammy ships JDK 21 + Maven-compatible toolchain.
|
||||
# frontend-maven-plugin downloads Node/npm automatically, so no explicit
|
||||
# Node install is needed in the build stage.
|
||||
FROM eclipse-temurin:21-jdk-jammy AS builder
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends maven \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /build
|
||||
COPY . .
|
||||
|
||||
RUN mvn -q package -DskipTests -T 1C
|
||||
|
||||
# ─── Runtime stage (CPU-only) ─────────────────────────────────────────────────
|
||||
FROM eclipse-temurin:21-jre-jammy
|
||||
|
||||
LABEL org.opencontainers.image.title="TrueRef"
|
||||
LABEL org.opencontainers.image.description="Self-hosted documentation retrieval platform for AI coding assistants (CPU variant)"
|
||||
LABEL org.opencontainers.image.url="https://git.sal.giize.com/mozempk/trueref"
|
||||
LABEL org.opencontainers.image.source="https://git.sal.giize.com/mozempk/trueref"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --from=builder /build/trueref-bootstrap/target/trueref.jar /app/trueref.jar
|
||||
|
||||
# /data is the default trueref.home: H2 DB, Lucene index, embedding cache and
|
||||
# downloaded models all live here. Mount a volume to persist between restarts.
|
||||
VOLUME /data
|
||||
|
||||
ENV TRUEREF_HOME=/data \
|
||||
TRUEREF_PORT=18080 \
|
||||
JAVA_OPTS=""
|
||||
|
||||
EXPOSE 18080
|
||||
|
||||
# JVM flags required by trueref:
|
||||
# --enable-native-access silences FFM Linker warning from DJL tokenizers
|
||||
# --add-modules enables Lucene 10 SIMD codepath (incubator.vector)
|
||||
# Spring properties are passed via CMD so users can override them at runtime.
|
||||
ENTRYPOINT ["sh", "-c", \
|
||||
"exec java \
|
||||
--enable-native-access=ALL-UNNAMED \
|
||||
--add-modules=jdk.incubator.vector \
|
||||
${JAVA_OPTS} \
|
||||
-jar /app/trueref.jar \
|
||||
--server.port=${TRUEREF_PORT} \
|
||||
--trueref.home=${TRUEREF_HOME} \
|
||||
--trueref.embedding.onnx-providers=cpu \
|
||||
\"$@\"", "--"]
|
||||
Reference in New Issue
Block a user