From bc1b3c837a2386bdcdfecd2bd846b0aa8cd9890f Mon Sep 17 00:00:00 2001 From: gismo212 <125292781+gismo212@users.noreply.github.com> Date: Mon, 25 May 2026 05:24:17 +0300 Subject: [PATCH] build: docker compose + dockerignore Adds docker-compose.yml with Qdrant and RAG service, plus .dockerignore files. --- .dockerignore | 17 ++++++++++++++++ docker-compose.yml | 50 ++++++++++++++++++++++++++++++++++++++++++++++ rust/.dockerignore | 15 ++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 .dockerignore create mode 100644 docker-compose.yml create mode 100644 rust/.dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..7c82d648 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,17 @@ +# Keep docker build context small (Windows-friendly). +.git +.github +**/target +**/.claw-rag +**/.claw +**/.claude +**/.cursor +**/node_modules +**/dist +**/build +**/*.log +**/*.tmp +**/*.sqlite +**/*.sqlite-wal +**/*.sqlite-shm +**/.DS_Store diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..7dec3ab3 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,50 @@ +services: + qdrant: + image: qdrant/qdrant:latest + ports: + - "6333:6333" + - "6334:6334" + environment: + QDRANT__SERVICE__GRPC_PORT: "6334" + volumes: + - qdrant-storage:/qdrant/storage + + rag-serve: + build: + context: ./rust + dockerfile: crates/claw-rag-service/Dockerfile + command: ["serve", "--db", "/data/index.sqlite"] + environment: + # Use mock embeddings by default for local dev; override in your shell for real providers. + CLAW_RAG_MOCK_PROVIDERS: "1" + CLAW_RAG_DB: "/data/index.sqlite" + CLAW_RAG_HOST: "0.0.0.0" + CLAW_RAG_QDRANT_URL: "http://qdrant:6334" + CLAW_RAG_QDRANT_COLLECTION: "claw_rag_chunks" + ports: + - "8787:8787" + depends_on: + - qdrant + volumes: + - rag-data:/data + + rag-ingest: + build: + context: ./rust + dockerfile: crates/claw-rag-service/Dockerfile + command: ["ingest", "--db", "/data/index.sqlite"] + environment: + CLAW_RAG_MOCK_PROVIDERS: "1" + CLAW_RAG_DB: "/data/index.sqlite" + CLAW_RAG_QDRANT_URL: "http://qdrant:6334" + CLAW_RAG_QDRANT_COLLECTION: "claw_rag_chunks" + depends_on: + - qdrant + volumes: + - rag-data:/data + # Mount example workspace roots under /workspaces + - ./:/workspaces/main:ro + +volumes: + qdrant-storage: + rag-data: diff --git a/rust/.dockerignore b/rust/.dockerignore new file mode 100644 index 00000000..baae2f5e --- /dev/null +++ b/rust/.dockerignore @@ -0,0 +1,15 @@ +# This .dockerignore applies to docker-compose build context: ./rust +target +**/target +.claw +.claw-rag +.claude +node_modules +dist +build +*.log +*.tmp +*.sqlite +*.sqlite-wal +*.sqlite-shm +.DS_Store