| FROM rust:1-bookworm AS builder |
| RUN apt-get update \ |
| && apt-get install -y --no-install-recommends cmake curl git python3 \ |
| && rm -rf /var/lib/apt/lists/* |
| WORKDIR /src |
| COPY . . |
| RUN cargo build --release --locked |
| RUN ./factory/unix/build-whisper-backend.sh \ |
| && ./unix/Install-Voice.sh /src |
|
|
| FROM debian:bookworm-slim |
| RUN apt-get update \ |
| && apt-get install -y --no-install-recommends ca-certificates \ |
| && rm -rf /var/lib/apt/lists/* |
| WORKDIR /opt/jackailocal |
| COPY --from=builder /src/target/release/jackailocald ./bin/jackailocald |
| COPY webui ./webui |
| COPY config ./config |
| COPY content ./content |
| COPY content-packs ./content-packs |
| COPY manifest ./manifest |
| COPY --from=builder /src/backends/whisper.cpp/linux ./backends/whisper.cpp/linux |
| COPY --from=builder /src/backends/piper/linux ./backends/piper/linux |
| COPY --from=builder /src/models/whisper ./models/whisper |
| COPY --from=builder /src/models/piper ./models/piper |
| COPY deploy/appliance/entrypoint.sh /usr/local/bin/jackailocal-entrypoint |
| RUN chmod +x /opt/jackailocal/bin/jackailocald /usr/local/bin/jackailocal-entrypoint \ |
| && mkdir -p models/ollama models/gguf workspace/documents workspace/threads workspace/exports .jackailocal/logs |
| ENV OLLAMA_HOST=http://ollama:11434 |
| ENV OLLAMA_NO_CLOUD=true |
| ENV RUST_LOG=info |
| EXPOSE 4891 |
| ENTRYPOINT ["/usr/local/bin/jackailocal-entrypoint"] |
|
|