diff --git a/blueprints/crawl4ai/docker-compose.yml b/blueprints/crawl4ai/docker-compose.yml new file mode 100644 index 00000000..1e186b2d --- /dev/null +++ b/blueprints/crawl4ai/docker-compose.yml @@ -0,0 +1,23 @@ +version: "3.8" + +services: + crawl4ai: + image: unclecode/crawl4ai:latest + restart: unless-stopped + shm_size: 1g + expose: + - 11235 + environment: + - LLM_PROVIDER=${LLM_PROVIDER} + - OPENAI_API_KEY=${OPENAI_API_KEY} + - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} + - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} + - GROQ_API_KEY=${GROQ_API_KEY} + - TOGETHER_API_KEY=${TOGETHER_API_KEY} + - MISTRAL_API_KEY=${MISTRAL_API_KEY} + - GEMINI_API_TOKEN=${GEMINI_API_TOKEN} + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:11235/health"] + interval: 30s + timeout: 10s + retries: 3 diff --git a/blueprints/crawl4ai/image.png b/blueprints/crawl4ai/image.png new file mode 100644 index 00000000..c578aeef Binary files /dev/null and b/blueprints/crawl4ai/image.png differ diff --git a/blueprints/crawl4ai/template.toml b/blueprints/crawl4ai/template.toml new file mode 100644 index 00000000..0d82e7fc --- /dev/null +++ b/blueprints/crawl4ai/template.toml @@ -0,0 +1,18 @@ +[variables] +main_domain = "${domain}" + +[config] +[[config.domains]] +serviceName = "crawl4ai" +port = 11235 +host = "${main_domain}" + +[config.env] +LLM_PROVIDER = "openai/gpt-4o-mini" +OPENAI_API_KEY = "${password:48}" +ANTHROPIC_API_KEY = "" +DEEPSEEK_API_KEY = "" +GROQ_API_KEY = "" +TOGETHER_API_KEY = "" +MISTRAL_API_KEY = "" +GEMINI_API_TOKEN = "" diff --git a/meta.json b/meta.json index 28e33556..49b2f40e 100644 --- a/meta.json +++ b/meta.json @@ -1409,6 +1409,25 @@ "storage" ] }, + { + "id": "crawl4ai", + "name": "Crawl4AI", + "version": "0.7.3", + "description": "Crawl4AI is a modern AI-powered web crawler with support for screenshots, PDFs, JavaScript execution, and LLM-based extraction. Includes an interactive playground and MCP (Model Context Protocol) integration.", + "logo": "image.png", + "links": { + "github": "https://github.com/unclecode/crawl4ai", + "website": "https://crawl4ai.com", + "docs": "https://github.com/unclecode/crawl4ai#readme" + }, + "tags": [ + "crawler", + "scraping", + "AI", + "LLM", + "API" + ] + }, { "id": "crowdsec", "name": "Crowdsec",