Automated repo indexer for Paparats MCP - clones, indexes, and keeps code search fresh on a schedule
9.8K
Automated repo indexer for Paparats MCP. Clones Git repositories, indexes code for semantic search, and keeps your search index fresh on a configurable schedule.
Part of the Paparats semantic code search stack. Designed for server/production deployments where you want headless, scheduled indexing without manual CLI runs.
Used as part of the full Paparats server stack:
npm install -g @paparats/cli
paparats install --mode server --repos org/repo1,org/repo2
Or run directly with Docker Compose:
services:
indexer:
image: ibaz/paparats-indexer
environment:
PAPARATS_URL: http://paparats:9876
REPOS: org/repo1,org/repo2
CRON: "0 */6 * * *"
# GITHUB_TOKEN: ghp_xxx # for private repos
volumes:
- indexer_repos:/data/repos
depends_on:
- paparats
- ollama
- qdrant
paparats:
image: ibaz/paparats-server
environment:
OLLAMA_URL: http://ollama:11434
ports:
- "9876:9876"
ollama:
image: ibaz/paparats-ollama
qdrant:
image: qdrant/qdrant
ports:
- "6333:6333"
volumes:
indexer_repos:
| Variable | Description | Default |
|---|---|---|
PAPARATS_URL | Paparats server URL | http://paparats:9876 |
REPOS | Comma-separated repos (e.g. org/repo1,org/repo2) | Required |
GITHUB_TOKEN | GitHub token for private repos | Optional |
CRON | Cron expression for index schedule | 0 */6 * * * |
REPOS_DIR | Directory for cloned repos | /data/repos |
Trigger reindex:
# Reindex all repos
curl -X POST http://localhost:9877/trigger
# Reindex specific repos
curl -X POST http://localhost:9877/trigger \
-H 'Content-Type: application/json' \
-d '{"repos": ["org/repo1"]}'
Health check:
curl http://localhost:9877/health
latest - most recent stable buildx.y.z - version-pinned releases (e.g., 0.2.2)Content type
Image
Digest
sha256:219f9daf9…
Size
89.5 MB
Last updated
2 days ago
docker pull ibaz/paparats-indexer