Enterprise Data Ingestion Platform

Securely connecting
siloed content to AI pipelines.

OpenCrawling® is a high-performance enterprise data ingestion and security mapping framework. Powered by Java 25 and Spring Boot 4, it orchestrates secure pipelines using Apache Tika for text extraction, Apache Kafka for queueing, Apache Ozone & S3 for distributed payload storage, Redis for caching, and Ollama for embeddings while preserving document permissions (ACLs).

docker-compose-decoupled-dockerhub.yml
Docker Hub

# 1. Download pre-built Docker Hub stack (no compilation needed)

curl -LO https://raw.githubusercontent.com/OpenCrawling/opencrawling/main/docker-compose-decoupled-dockerhub.yml

# 2. Launch the complete decoupled platform & backing engines

docker compose -f docker-compose-decoupled-dockerhub.yml up -d

✔ Network opencrawling-network Created

✔ Container postgres-vector-decoupled Running

✔ Container redis-stack-decoupled, kafka Running

✔ Container ollama-decoupled (mxbai-embed) Running

✔ Container oc-crawler-service, oc-ingestion Running

✔ Container oc-embedding-consumer, oc-writer Running

✔ Container oc-mcp-server (:8080), oc-admin-ui (:3000) Running

✔ Decoupled platform running at http://localhost:3000

Java 25 Virtual Threads & Structured Concurrency
100% ACL Security & Permission Mapping
Event-Driven Apache Kafka Document Decoupling
Scale-Out Decoupled Embedding Microservice

Designed for Enterprise Security & Scale

Going far beyond simple scraping, OpenCrawling bridges data stores and vector indexes securely.

Enterprise Security First

Built-in authority translation and Access Control List (ACL) mapping. Search engines only return documents that users are explicitly authorized to view.

High Performance & Concurrency

Leverages Java 25 Virtual Threads and Spring Boot. Processes thousands of streams with minimal memory overhead, preventing source system bottlenecks.

AI & RAG Ready Ingestion

Advanced RAG support with flexible chunking and embedding logic. Configure multiple embedding strategies (Ollama, OpenAI, HuggingFace) across diverse vector index backends.

Pluggable SPI Architecture

Simple interfaces for writing custom connectors. Define a new Repository Source, Transformation filter, or Database Output connector in just a few lines of Java.

AI-Powered Observability (AIOps)

Integrates OpenTelemetry (OTel) correlated traces and Micrometer metrics. Automatically translates complex pipeline stack traces into human-readable AI Root Cause Analysis (RCA) and diagnostic recommendations. Learn more →

Auto-Narrativization Copilot

Configured per job or interactive panel. Translates connector schemas into human-readable Mustache narrative templates and mock datasets via Ollama (llama3.2) or OpenAI. Automatically falls back to deterministic generation when AI is offline.

Java Client SDK (`oc-java-client-sdk`)

Strongly typed, fluent Java 25 & Spring Boot 4 client SDK. Programmatically manage ingestion job lifecycles, connector setups, Copilot templates, and AIOps diagnostics with zero third-party HTTP transport bloat. Explore SDK →

Enterprise Migration Mode (Apache Ozone & Amazon S3)

Run high-throughput bulk content migrations with bit-for-bit fidelity directly into Apache Ozone and Amazon S3. Bypasses text extraction, narrativization, chunking, and vector embedding to maximize transfer rates, generating Open Ingestion Standard (OIS) Zero-Trust metadata sidecars (.ois.json) with SHA-256 hashes, source ACLs, and multi-vendor storage presets.

Secure Model Context Protocol (MCP) Server

Built with Spring AI 2.0.2 over Streamable HTTP (/mcp) and SSE (/mcp/sse). Employs the pluggable McpVectorSearchBackend SPI across all 9 target vector & search engines (PostgreSQL/pgvector, Vespa, Qdrant, Milvus, OpenSearch 2.x/3.x, Apache Solr, Luxir, and Hyland OpenArch). Server-side McpAclEvaluator authoritatively evaluates Zero-Trust document ACLs with explicit deny precedence, dynamic role mapping, and integrated AIOps observability tools. Explore MCP Server →

Ingestion Architecture

Decoupled, event-driven orchestration with a horizontally scalable Embedding Microservice leveraging Kafka and the Claim Check Pattern.

Sources SharePoint Online 🌐 M-Files Vault 🗂️ Hyland OpenArch 🟣 IBM FileNet P8 🏢 Documentum REST 📄 gRPC Push Stream 📡 Doxis ECM 🏛️ Relational (JDBC) 🗄️ OASIS CMIS 📑 Alfresco ACS/APS 📂 Apache Iceberg 🧊 Flowable BPMN 🔄 Camunda BPMN ⚡ Web Crawler 🕸️ StormCrawler 🕷️ File System 📁 Ingestion Core Tika Extractor Token Splitter Publish Chunks Apache Kafka Ingestion Topic Chunks Topic Embedded Topic Outputs & Sinks Alfresco Migration 🌿 OpenArch Parquet 🟣 AWS S3 Migration ☁️ Ozone Migration 🗄️ SeaTunnel Fan-Out 🌊 Luxir / Solr 10 ✨ Vespa Engine 🚀 pgvector / Milvus Qdrant / OpenSearch Admin React UI oc-admin-ui oc-embedding-service EmbeddingConsumer EmbeddingModelFactory Secure MCP Server Model Context Protocol PostgreSQL / Redis Job Status Cache Metadata State Authority Service Access Filters ACL Mapping Claim Check Store Ozone Native (ofs RPC) Ozone S3 Gateway (s3g) ×N

System Architecture

Hover over or tap any node in the architecture diagram to view how OpenCrawling orchestrates the high-speed data flow and security controls.

Unified Administration Console

Manage repository connectors, monitor Kafka topics, and track ingestion jobs from a sleek, real-time dashboard.

localhost:5173/dashboard
OpenCrawling Admin UI Live Walkthrough Screencast

Interactive Admin UI Screencast Walkthrough

Experience real-time pipeline management, job scheduling, AIOps diagnostics, and Auto-Narrativization Copilot in action.

OpenCrawling Admin Dashboard Telemetry

Real-Time Ingestion Telemetry

Track crawling health, active workers, Kafka queue load, and document-indexing throughput at a glance.

OpenCrawling Ingestion Job Pipeline

Pipeline & Job Scheduling

Schedule, execute, pause, and configure crawling operations. Review historical runs, document success rates, and errors.

OpenCrawling Repository Connector Configuration

Connector Registry Configuration

Set up SharePoint credentials, S3 bucket access policies, database queries, and custom connector metadata properties.

OpenCrawling Embedding Settings

AI & Vector Embedding Mappings

Select RAG embedding models (local Ollama, OpenAI), set custom token text-splitter boundaries, and map schema attributes.

OpenCrawling Real-Time Activity Logs

Live System Activity & Audit Logs

Stream real-time JVM telemetry, Kafka partition consumer offsets, active threads, and document security ACL mapping logs.

Live Ingestion Simulator

Simulate real-time ingestion, security mapping, and the new decoupled embedding scale-out pipeline locally in your browser.

Ready to run
📂 Crawler
🚇 Kafka Broker
⚙️ Ingestion (Tika)
🔱 oc-embedding-service ×1
🧬 Vector Writer
Job Console Output

Select a source and click "Run Ingestion Job" to start simulation...

Getting Started in 2 Minutes

Follow these quick steps to deploy OpenCrawling locally, integrate via Maven, or scaffold custom connectors with the official Maven Archetypes.

# Option 1: Standard Multi-Tier Stack (Backend + Standalone Frontend)
# 1. Start backing services (Postgres, Redis, Kafka, Ollama)
docker compose up -d
# 2. Start pre-built applications from Docker Hub (no compilation)
docker compose -f docker-compose-apps-dockerhub.yml up -d
# 3. (Alternative) Or build from source and run:
docker compose -f docker-compose-apps.yml build
docker compose -f docker-compose-apps.yml up -d

# Option 2: Decoupled Microservices Pipeline (Fully Distributed Workers)
# 1. Run using pre-built Docker Hub images (includes OTel stack)
docker compose -f docker-compose-decoupled-dockerhub.yml up -d
# 2. (Alternative) Or run using pre-built GHCR release images:
docker compose -f docker-compose-decoupled-dist.yml up -d
# 3. (Alternative) Or build from local source and run:
docker compose -f docker-compose-decoupled.yml build
docker compose -f docker-compose-decoupled.yml up -d

# Access points:
# - Standalone Administration Console: http://localhost:3000
# - Secure MCP Server / REST Backend:  http://localhost:8080
# Scaffold a ready-to-build custom connector with tests, Docker Compose overlay & Admin UI integration
# Available archetypes under org.opencrawling.archetypes:
#   1. opencrawling-archetype-repository-connector      (Ingestion sources: CMS, APIs, DBs)
#   2. opencrawling-archetype-output-connector          (Vector stores, Search engines, Sinks)
#   3. opencrawling-archetype-transformation-connector  (Custom chunking, enrichment, redaction)

mvn archetype:generate \
  -DarchetypeGroupId=org.opencrawling.archetypes \
  -DarchetypeArtifactId=opencrawling-archetype-repository-connector \
  -DarchetypeVersion=1.0.4 \
  -DgroupId=com.mycompany.connectors \
  -DartifactId=my-repository-connector \
  -Dversion=1.0.4 \
  -DconnectorName=SampleRepositoryConnector

# Build, run unit & Failsafe integration tests (*Test.java & *IT.java), and launch with Docker overlay:
cd my-repository-connector
mvn clean package
docker compose -f docker/docker-compose.dist.yml -f docker/docker-compose.override.yml up -d
mvn verify
<!-- Add core connector API to your Spring Boot application -->
<dependency>
    <groupId>org.opencrawling</groupId>
    <artifactId>oc-core</artifactId>
    <version>1.0.4</version>
</dependency>

<!-- Include FileSystem Repository Connector if required -->
<dependency>
    <groupId>org.opencrawling</groupId>
    <artifactId>oc-filesystem-repository-connector</artifactId>
    <version>1.0.4</version>
</dependency>
// Tip: Scaffold this project automatically using the Maven Archetypes tab!
// Implements RepositoryConnector (or OutputConnector / TransformationConnector) SPI
@Component
public class SampleRepositoryConnector implements RepositoryConnector {

    private final SampleRepositoryConnectorConfiguration configuration;
    private final SampleRepositoryConnectorFetcher fetcher;
    private boolean connected = false;

    @Override
    public String getName() {
        return "SampleRepositoryConnector";
    }

    @Override
    public void connect() throws Exception {
        // Initialize authenticated client session with target repository
        this.connected = true;
    }

    @Override
    public Flux<RepositoryDocument> scan(String basePath) {
        // Stream documents reactively with metadata and Zero-Trust ACLs
        return fetcher.fetchDocuments(basePath);
    }

    @Override
    public ConnectorSchema getSchema(String basePath) {
        return new ConnectorSchema(List.of());
    }
}

Open Ingestion Standard (OIS)

A cross-platform specification for secure enterprise data exchange, document lifecycle operations, and configuration.

The Ingestion Manifesto

Enterprise data pipelines suffer from proprietary lock-in and security permission leaks. The OIS specification standardizes document payloads, metadata repositories, workflow processes, and full document lifecycles—now featuring native support for UPSERT & DELETE tombstones to automatically purge removed documents from downstream vector stores, alongside Microsoft SharePoint Online, M-Files, Hyland OpenArch, gRPC Push, Doxis, CMIS, and BPMN integrations.

🔒 Zero-Trust Security 🌐 SharePoint Online & M-Files 🟣 Hyland OpenArch & Parquet 📡 gRPC Push Streaming 🗑️ Tombstones & Deletion 🏛️ Doxis & CMIS Ready 🔌 Vendor-Neutral ⚙️ Event-Decoupled
sample-document.json
{
  "id": "doc-554032-sp",
  "action": "UPSERT",
  "source": { "type": "sharepoint", "instance": "..." },
  "content": { "mimeType": "application/pdf", "text": "..." },
  "metadata": { "title": "Fiscal Strategy", "author": "..." },
  "security": { "inheritanceEnabled": true, "permissions": [] }
}

Latest Articles & Deep Dives

Read the latest announcements, engineering insights, and tutorials from the OpenCrawling core team.

Connector Release November 5, 2026 8 min read

Embedded Web Crawling, Politeness & Zero-Trust SSRF Defense: Announcing the Web Repository Connector

Discover OpenCrawling's native in-process Web Repository Connector (oc-web-repository-connector). Built on Java 25 Virtual Threads with zero external cluster dependencies, it delivers RFC 9309 robots.txt compliance (crawler-commons), automatic sitemap discovery, runtime-wide host politeness delays, anti-spider-trap guards with linear-time RE2/J pattern matching, and a strict enterprise SSRF Guard with DNS rebinding protection and Zero-Trust ACL mapping.

Developer Experience November 4, 2026 8 min read

Accelerating Developer Velocity: Announcing run.sh and run.bat Root CLI Helpers for OpenCrawling

Discover OpenCrawling's cross-platform root developer CLI convenience wrappers—./run.sh (macOS/Linux) and run.bat (Windows CMD). Enjoy 3-second container rebuilds with BuildKit cache mounts, containerized Java 25 Maven builds with host ~/.m2 repository mapping (oc-maven-builder), single-command Docker Compose stack orchestration, pre-flight environment checks, and full command parity across operating systems.

Connector Release November 2, 2026 9 min read

Enterprise ECM Replatforming & Zero-Trust Ingestion: Announcing the Alfresco Content Services Output Connector

Discover OpenCrawling's native Alfresco Content Services Output Connector (oc-alfresco-output-connector). Built for high-throughput Migration Mode data liberation, bit-for-bit binary streaming directly from the Claim Check Store via native REST API v1, automatic hierarchical cm:folder parent path preservation, Zero-Trust ACL synchronization with Java 25 StructuredTaskScope pre-flight authority auditing, automatic missing authority Gap Ledger reporting, OIS lifecycle tombstones into the Alfresco Trashcan, and lightweight noindex container operation.

Connector Release October 31, 2026 10 min read

Documentum REST Services, DQL Keyset Paging & Zero-Trust Enterprise RAG: Announcing the OpenText Documentum Repository Connector

Discover OpenCrawling's native OpenText Documentum Repository Connector (oc-documentum-repository-connector). Built on Documentum REST Services and DQL with keyset cursor pagination, Java 25 Virtual Threads, single and repeating custom type attributes, primary content streams or preferred renditions (e.g. PDF), fail-closed Zero-Trust permission mapping (DocumentumSecurityMapper) with deny precedence and required-group exclusion, ACL version stamp (i_vstamp) tracking, moved folder detection, and comprehensive verification against the OpenAPI-conforming DCTM REST mock.

Connector Release October 27, 2026 9 min read

Microsoft Graph v1.0 & Zero-Trust Enterprise RAG: Announcing the SharePoint Online Repository Connector

Discover OpenCrawling's native Microsoft SharePoint Online Repository Connector (oc-sharepoint-repository-connector). Built on Microsoft Graph v1.0 with Entra ID app-only client_credentials (Sites.Selected / Sites.Read.All), incremental @odata.deltaLink and permission-fingerprint tree crawl modes, custom list item columns (sharepoint_field_*), a shared Retry-After throttle gate across Java 25 Virtual Threads, fail-closed Zero-Trust ACL mapping (SharePointSecurityMapper), and a 6-tier verification suite with a 16-user RBAC oracle.

Connector Release October 27, 2026 9 min read

Metadata-Driven Knowledge Work Automation Meets Enterprise RAG: Announcing the M-Files Repository Connector

Discover OpenCrawling's native M-Files Repository Connector (oc-mfiles-repository-connector). Built on the M-Files Web Service (MFWS) REST API and Vault Application Framework (VAF) change feed, featuring recursive last-modified time-window splitting beyond MFWS limits, Single-File and Multi-File Document (MFD) lineage, typed MFDataType property normalization, fail-closed Zero-Trust ACL component intersection, Java 25 Virtual Threads, and incremental tombstone synchronization.

Connector & Vector Bridge October 26, 2026 9 min read

Bidirectional Cloud-Native Content & Parquet Vector Bridging: Announcing the Hyland OpenArch Integration

Discover OpenCrawling's bidirectional Hyland OpenArch integration (oc-openarch-repository-connector & oc-openarch-output-connector). Featuring high-throughput paged HXQL source harvesting on Java 25 Virtual Threads, a native SNAPPY Apache Parquet Vector Bridge strictly conforming to OpenArch's embedding.avsc specification, lossless Zero-Trust sys_acl permission mapping, and dedicated Model Context Protocol (MCP) tools (openarch_search & openarch_fetch_document).

Core Engine & Security October 21, 2026 8 min read

Zero-Trust AI Retrieval Across Any Vector Store: Announcing the Universal MCP Server & Defense-in-Depth Security Guard

Discover OpenCrawling's Universal Secure Model Context Protocol (MCP) Server. Built on Spring AI 2.0, the pluggable McpVectorSearchBackend SPI supporting all 8 target vector engines (PostgreSQL/pgvector, Vespa, Qdrant, Milvus, OpenSearch 2.x/3.x, Apache Solr, and Luxir), server-side Zero-Trust evaluation with explicit deny precedence (McpAclEvaluator), Streamable HTTP transport, and an automated 16-step decoupled integration test suite.

Connector Release October 19, 2026 9 min read

Sub-Millisecond Event-Driven Ingestion: Announcing the gRPC Push Repository Connector

Discover OpenCrawling's native gRPC Push Repository Connector (oc-grpc-push-connector). Built on HTTP/2, Protocol Buffers v3, and Java 25 Virtual Threads, delivering Unary, Client-Streaming, and Bi-Directional Streaming ingestion, automatic Claim-Check offloading to Apache Ozone & S3, Zero-Trust ACL mapping, Mutual TLS (mTLS), W3C OpenTelemetry trace propagation, and Lakehouse Parquet audit ledgers.

OpenAPI & Dev Tooling October 18, 2026 7 min read

Contract-First Ingestion & Living Documentation: Announcing OpenAPI 3.1 & Interactive Swagger UI in OpenCrawling

Discover OpenCrawling's platform-wide OpenAPI 3.1 adoption and embedded Swagger UI Explorer. Delivers living documentation across 10 functional domains, end-to-end type safety for oc-admin-ui (React 19 / TypeScript), synchronized client SDKs, autonomous AI Agent tool calling via the Model Context Protocol (MCP), and automated CI/CD contract validation on Java 25 and Spring Boot 4.

Lakehouse & Analytics October 17, 2026 9 min read

Zero-Overhead Lakehouse Audit Reporting & Embedded DuckDB Analytics: Announcing OpenCrawling's Document Ledger

Discover OpenCrawling's enterprise-grade Lakehouse Columnar Audit Reporting and Document Ledger. Delivers zero runtime overhead via an in-memory lock-free ledger accumulator, automated Apache Parquet with Zstandard (ZSTD) compression, RFC 4180 CSV compliance manifests, Hive partitioning, an embedded DuckDB vectorized OLAP analytical engine, an interactive Admin UI Query Playground, and terminal-first CLI/Java SDK auditing.

Connector Release October 17, 2026 8 min read

Intelligent Content Automation Meets Enterprise RAG: Announcing the Doxis Repository Connector

Discover OpenCrawling's native Doxis 4 integration (oc-doxis-repository-connector & oc-doxis-client). Built on SER Group's Content Service Bus (CSB) REST API, Java 25 Virtual Threads, CQL paged search, recursive electronic dossier (Akten) traversal, custom typed descriptor normalization, and Zero-Trust multi-tenant isolation (ACME/*) with incremental tombstone synchronization.

Enterprise Migration October 6, 2026 8 min read

Bit-for-Bit Enterprise Data Liberation: Announcing Migration Mode and the Apache Ozone Output Connector

Discover OpenCrawling's dedicated Migration Mode and native Apache Ozone Output Connector (oc-ozone-output-connector). Built for high-throughput enterprise content migration, bit-for-bit binary streaming, Zero-Trust OIS metadata sidecars (.ois.json), dual Ozone Native RPC and S3 Gateway transports, and parallel decoupled Kafka orchestration without RAG text-extraction or embedding overhead.

Connector Release October 5, 2026 8 min read

Universal Relational Ingestion & Tabular RAG: Announcing the JDBC Repository Connector

Discover OpenCrawling's native JDBC Repository Connector (oc-jdbc-repository-connector). Built on standard JDBC 4.2+, Java 25 Virtual Threads (StructuredTaskScope), HikariCP, and Schema Introspection, delivering dual-path ingestion: Tabular RAG with auto-narrativization via Spring AI Copilot, and high-throughput binary BLOB/CLOB streaming with magic byte detection across PostgreSQL, MySQL, Oracle, SQL Server, and SQLite.

Distributed Fan-Out September 28, 2026 6 min read

Distributed Fan-Out & Multi-Sink Pipelines: Announcing the Apache SeaTunnel Output Connector

Discover OpenCrawling's native Apache SeaTunnel integration (oc-seatunnel-output-connector). Built on Apache SeaTunnel 2.3.13, automated HOCON DAG synthesis, and Zeta Engine REST API v2 orchestration, delivering parallel streaming fan-out of Open Ingestion Standard (OIS) chunks, vectors, and Zero-Trust ACLs across 100+ destination sinks.

Connector Release September 28, 2026 6 min read

Enterprise Distributed Web Crawling: Announcing the Apache StormCrawler Repository Connector & Bolt

Discover OpenCrawling's native Apache StormCrawler integration (oc-stormcrawler-repository-connector and oc-stormcrawler-bolt). Built on Apache Storm 3.1.0, StormCrawler 3.7.0, and Java 25 Virtual Threads, delivering dual-stream OIS UPSERT and DELETE tombstone dispatching, cryptographic content deduplication, and Nimbus REST cluster supervision.

Workflow / BPMN July 24, 2026 6 min read

Connecting Flowable & Camunda BPMN Engines to Enterprise RAG

OpenCrawling now natively supports the top open-source BPMN workflow engines: Flowable and Camunda. Discover how oc-flowable-repository-connector and oc-camunda-repository-connector stream process definitions, historic execution variables, and candidate group ACLs into AI pipelines.

Connector July 16, 2026 5 min read

New Connector: Apache Iceberg Repository Connector

OpenCrawling now supports Apache Iceberg data lakes as a first-class ingestion source. The new oc-iceberg-repository-connector module scans Iceberg table catalogs (REST, Hive, Hadoop, AWS Glue) and streams structured records directly into the RAG pipeline.

Connector July 16, 2026 6 min read

Introducing the Alfresco Repository Connector for OpenCrawling

The new oc-alfresco-repository-connector bridges Alfresco Content Services to your AI pipeline via the Alfresco REST API v1. Discover how Java 25 Structured Task Scope enables parallel folder traversal, and how the Claim Check Pattern decouples remote content downloads from the Kafka publish step.

Connect & Contribute

We are an open-source organization building the future of secure AI ingestion pipelines.

📂

Framework Core

Browse the OpenCrawling core engine source code, Java SPIs, connectors, and admin react UI.

View Repo →
📜

Open Standard

Read the Manifesto, review the JSON schemas, and contribute to the OIS cross-vendor specification.

View Spec →
📊

Enterprise Vision Deck

Explore our interactive 16-slide architecture and executive vision presentation in English and Italian.

Launch Deck →
💬

Slack Community

Join our Slack server to chat with maintainers, ask questions, and collaborate with the community in real-time.

Join Slack →
🙋

Discussions & Issues

Help shape the roadmap, report bugs, request new repository/output connectors, or ask questions.

Get Involved →
✉️

Official Contact

For general inquiries, partnership discussions, or sensitive security reports, reach out to us via our contact form.

Send Message →