-
Notifications
You must be signed in to change notification settings - Fork 11
deployment
Magnus Hedemark edited this page Jun 10, 2026
·
1 revision
GroktoCrawl is designed to run with a single docker compose up --build -d. The docker-compose.yml at the repo root defines all 8 core containers plus optional services.
- Set a real LLM provider in
.env - Enable API key authentication:
API_KEY=sk-your-secret-key - Optionally enable the politeness protocol:
SCRAPER_POLITENESS_ENABLED=true - Optionally configure the scrape cache with appropriate TTLs
- Set
LOG_LEVEL=INFO(or WARNING for quieter logs)
Only the following ports are exposed to the host:
| Service | Port |
|---|---|
| agent-svc | 8080 |
| portal-svc | 8082 |
| searxng | 8081 |
| semantic-svc | 8003 |
All other services (scraper-svc, browser-svc, parse-svc) are reachable only via Docker internal DNS.
For production deployments behind a corporate network or requiring egress through a specific IP:
SCRAPER_PROXY_URL=http://proxy:8080Supported schemes: http://, https://, socks5://, socks5h://.
Jobs are processed inline with asyncio.create_task() inside the API process. For high-throughput production deployments, restore the RQ queue (reference in app.py) and add a separate worker container.