feat: Add .env.example configuration file and integrate Redis service into Docker Compose for improved task management. Update desktop application to support document indexing and extraction workflows, enhancing user experience with a new extraction wizard and stepper components. Revise README and documentation for clarity on setup and usage.

This commit is contained in:
erik
2026-07-05 22:39:07 -05:00
parent 9aca926988
commit d95f8f6ad8
70 changed files with 9807 additions and 499 deletions
@@ -0,0 +1,56 @@
# syntax=docker/dockerfile:1
FROM golang:1.23-bookworm AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc g++ pkg-config \
libtesseract-dev libleptonica-dev \
tesseract-ocr tesseract-ocr-spa \
wget ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# ONNX Runtime
ARG ONNX_VERSION=1.22.0
RUN wget -q https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-linux-x64-${ONNX_VERSION}.tgz \
&& tar -xzf onnxruntime-linux-x64-${ONNX_VERSION}.tgz \
&& cp onnxruntime-linux-x64-${ONNX_VERSION}/lib/libonnxruntime.so* /usr/local/lib/ \
&& ldconfig
ENV CGO_ENABLED=1
ENV ONNXRUNTIME_SHARED_LIBRARY=/usr/local/lib/libonnxruntime.so
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go build -o /out/api ./cmd/api && go build -o /out/worker ./cmd/worker
FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl wget \
tesseract-ocr tesseract-ocr-spa \
&& rm -rf /var/lib/apt/lists/*
ARG ONNX_VERSION=1.22.0
RUN wget -q https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-linux-x64-${ONNX_VERSION}.tgz \
&& tar -xzf onnxruntime-linux-x64-${ONNX_VERSION}.tgz \
&& cp onnxruntime-linux-x64-${ONNX_VERSION}/lib/libonnxruntime.so* /usr/local/lib/ \
&& rm -rf onnxruntime-linux-x64-${ONNX_VERSION}* \
&& ldconfig
ENV ONNXRUNTIME_SHARED_LIBRARY=/usr/local/lib/libonnxruntime.so
WORKDIR /app
COPY --from=builder /out/api /app/api
COPY --from=builder /out/worker /app/worker
COPY api/openapi.yaml /app/openapi.yaml
ENV OPENAPI_PATH=/app/openapi.yaml
ENV MODEL_PATH=/app/models/model.onnx
ENV INFERENCE_CONFIG=/app/models/inference.json
ENV PORT=8080
EXPOSE 8080
CMD ["/app/api"]