PaperCortex adds semantic search, auto-classification, receipt extraction, bank statement matching, and DATEV export to Paperless-ngx — powered entirely by local AI through Ollama. Exposes everything as an MCP Server for Claude Code and AI agent integration. - MCP Server with 5 tools (search, classify, receipt, query, export) - Local Ollama embeddings for semantic document search - Receipt data extraction (vendor, amount, date, tax, line items) - DATEV Buchungsstapel CSV export for German accounting - Bank CSV transaction matching - Paperless-ngx REST API client - Docker deployment - Zero cloud dependencies — 100% self-hosted
35 lines
627 B
Docker
35 lines
627 B
Docker
FROM node:22-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package.json package-lock.json* ./
|
|
RUN npm ci
|
|
|
|
COPY tsconfig.json ./
|
|
COPY src/ ./src/
|
|
RUN npm run build
|
|
|
|
# --- Production image ---
|
|
FROM node:22-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
RUN addgroup -g 1001 -S papercortex && \
|
|
adduser -S papercortex -u 1001
|
|
|
|
COPY package.json package-lock.json* ./
|
|
RUN npm ci --omit=dev && npm cache clean --force
|
|
|
|
COPY --from=builder /app/dist ./dist
|
|
|
|
RUN mkdir -p /app/data && chown papercortex:papercortex /app/data
|
|
|
|
USER papercortex
|
|
|
|
ENV NODE_ENV=production
|
|
ENV VECTOR_DB_PATH=/app/data/vectors.db
|
|
|
|
EXPOSE 3100
|
|
|
|
CMD ["node", "dist/mcp-server/index.js"]
|