From e76745563803d2a4310644e8f09a9c81875fa06c Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Mon, 19 Oct 2026 10:25:32 +0800 Subject: [PATCH] chore(appstore): add Firecrawl Redis digest version --- .../2.11.359-redis-digest-3811787/.env.sample | 10 + .../2.11.359-redis-digest-3811787/data.yml | 185 ++++++++++++++++++ .../docker-compose.yml | 160 +++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 apps/firecrawl/2.11.359-redis-digest-3811787/.env.sample create mode 100644 apps/firecrawl/2.11.359-redis-digest-3811787/data.yml create mode 100644 apps/firecrawl/2.11.359-redis-digest-3811787/docker-compose.yml diff --git a/apps/firecrawl/2.11.359-redis-digest-3811787/.env.sample b/apps/firecrawl/2.11.359-redis-digest-3811787/.env.sample new file mode 100644 index 000000000..7b7b035f7 --- /dev/null +++ b/apps/firecrawl/2.11.359-redis-digest-3811787/.env.sample @@ -0,0 +1,10 @@ +CONTAINER_NAME=firecrawl-compose-check +PANEL_APP_PORT_HTTP=3002 +POSTGRES_PASSWORD=replace-with-a-strong-password +NUM_WORKERS_PER_QUEUE=8 +CRAWL_CONCURRENT_REQUESTS=10 +MAX_CONCURRENT_JOBS=5 +BROWSER_POOL_SIZE=5 +OPENAI_API_KEY= +OPENAI_BASE_URL= +OLLAMA_BASE_URL= diff --git a/apps/firecrawl/2.11.359-redis-digest-3811787/data.yml b/apps/firecrawl/2.11.359-redis-digest-3811787/data.yml new file mode 100644 index 000000000..7a41a71cf --- /dev/null +++ b/apps/firecrawl/2.11.359-redis-digest-3811787/data.yml @@ -0,0 +1,185 @@ +additionalProperties: + formFields: + - default: 3002 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: API port + labelZh: API 端口 + label: + en: API port + zh: API 端口 + zh-hant: API 埠 + ja: API ポート + ko: API 포트 + ru: Порт API + ms: Port API + pt-br: Porta da API + tr: API bağlantı noktası + es-es: Puerto de la API + fa: پورت API + lo: ພອດ API + required: true + rule: paramPort + type: number + - default: '' + edit: true + envKey: POSTGRES_PASSWORD + labelEn: PostgreSQL password + labelZh: PostgreSQL 数据库密码 + label: + en: PostgreSQL password + zh: PostgreSQL 数据库密码 + zh-hant: PostgreSQL 資料庫密碼 + ja: PostgreSQL パスワード + ko: PostgreSQL 비밀번호 + ru: Пароль PostgreSQL + ms: Kata laluan PostgreSQL + pt-br: Senha do PostgreSQL + tr: PostgreSQL parolası + es-es: Contraseña de PostgreSQL + fa: گذرواژه PostgreSQL + lo: ລະຫັດຜ່ານ PostgreSQL + random: true + required: true + rule: paramComplexity + type: password + - default: 8 + edit: true + envKey: NUM_WORKERS_PER_QUEUE + labelEn: Workers per queue + labelZh: 每个队列的工作进程数 + label: + en: Workers per queue + zh: 每个队列的工作进程数 + zh-hant: 每個佇列的工作程序數 + ja: キューごとのワーカー数 + ko: 큐당 워커 수 + ru: Воркеры на очередь + ms: Pekerja bagi setiap baris gilir + pt-br: Workers por fila + tr: Kuyruk başına çalışan sayısı + es-es: Trabajadores por cola + fa: تعداد worker برای هر صف + lo: ຈຳນວນ worker ຕໍ່ຄິວ + required: true + type: number + - default: 10 + edit: true + envKey: CRAWL_CONCURRENT_REQUESTS + labelEn: Concurrent crawl requests + labelZh: 并发抓取请求数 + label: + en: Concurrent crawl requests + zh: 并发抓取请求数 + zh-hant: 併發抓取請求數 + ja: 同時クロールリクエスト数 + ko: 동시 크롤링 요청 수 + ru: Параллельные запросы сканирования + ms: Permintaan crawl serentak + pt-br: Solicitações de rastreamento simultâneas + tr: Eşzamanlı tarama isteği sayısı + es-es: Solicitudes de rastreo simultáneas + fa: درخواست‌های هم‌زمان خزش + lo: ຈຳນວນຄຳຮ້ອງຂໍ crawl ພ້ອມກັນ + required: true + type: number + - default: 5 + edit: true + envKey: MAX_CONCURRENT_JOBS + labelEn: Maximum concurrent jobs + labelZh: 最大并发任务数 + label: + en: Maximum concurrent jobs + zh: 最大并发任务数 + zh-hant: 最大併發工作數 + ja: 最大同時ジョブ数 + ko: 최대 동시 작업 수 + ru: Максимум параллельных задач + ms: Bilangan kerja serentak maksimum + pt-br: Máximo de tarefas simultâneas + tr: Maksimum eşzamanlı iş sayısı + es-es: Máximo de trabajos simultáneos + fa: حداکثر jobهای هم‌زمان + lo: ຈຳນວນວຽກພ້ອມກັນສູງສຸດ + required: true + type: number + - default: 5 + edit: true + envKey: BROWSER_POOL_SIZE + labelEn: Browser pool size + labelZh: 浏览器池大小 + label: + en: Browser pool size + zh: 浏览器池大小 + zh-hant: 瀏覽器集區大小 + ja: ブラウザプールサイズ + ko: 브라우저 풀 크기 + ru: Размер пула браузеров + ms: Saiz kumpulan pelayar + pt-br: Tamanho do pool de navegadores + tr: Tarayıcı havuzu boyutu + es-es: Tamaño del grupo de navegadores + fa: اندازه pool مرورگر + lo: ຂະໜາດ browser pool + required: true + type: number + - default: '' + edit: true + envKey: OPENAI_API_KEY + labelEn: OpenAI API key + labelZh: OpenAI API 密钥 + label: + en: OpenAI API key + zh: OpenAI API 密钥 + zh-hant: OpenAI API 金鑰 + ja: OpenAI API キー + ko: OpenAI API 키 + ru: API-ключ OpenAI + ms: Kunci API OpenAI + pt-br: Chave da API OpenAI + tr: OpenAI API anahtarı + es-es: Clave de API de OpenAI + fa: کلید API OpenAI + lo: API key OpenAI + required: false + type: password + - default: '' + edit: true + envKey: OPENAI_BASE_URL + labelEn: OpenAI-compatible base URL + labelZh: OpenAI 兼容接口地址 + label: + en: OpenAI-compatible base URL + zh: OpenAI 兼容接口地址 + zh-hant: OpenAI 相容介面位址 + ja: OpenAI 互換ベース URL + ko: OpenAI 호환 기본 URL + ru: Базовый URL, совместимый с OpenAI + ms: URL asas serasi OpenAI + pt-br: URL base compatível com OpenAI + tr: OpenAI uyumlu temel URL + es-es: URL base compatible con OpenAI + fa: نشانی پایه سازگار با OpenAI + lo: URL ພື້ນຖານທີ່ຮອງຮັບ OpenAI + required: false + type: text + - default: '' + edit: true + envKey: OLLAMA_BASE_URL + labelEn: Ollama base URL + labelZh: Ollama 接口地址 + label: + en: Ollama base URL + zh: Ollama 接口地址 + zh-hant: Ollama 介面位址 + ja: Ollama ベース URL + ko: Ollama 기본 URL + ru: Базовый URL Ollama + ms: URL asas Ollama + pt-br: URL base do Ollama + tr: Ollama temel URL + es-es: URL base de Ollama + fa: نشانی پایه Ollama + lo: URL ພື້ນຖານ Ollama + required: false + type: text diff --git a/apps/firecrawl/2.11.359-redis-digest-3811787/docker-compose.yml b/apps/firecrawl/2.11.359-redis-digest-3811787/docker-compose.yml new file mode 100644 index 000000000..69f77fc32 --- /dev/null +++ b/apps/firecrawl/2.11.359-redis-digest-3811787/docker-compose.yml @@ -0,0 +1,160 @@ +services: + firecrawl: + image: "ghcr.io/firecrawl/firecrawl@sha256:d9d3cacff6b0fa62dba01540e5901f5952138c461237d18b1558ec90f2fec714" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + - firecrawl-backend + ulimits: + nofile: + soft: 65535 + hard: 65535 + extra_hosts: + - "host.docker.internal:host-gateway" + ports: + - "${PANEL_APP_PORT_HTTP}:3002" + environment: + - REDIS_URL=redis://firecrawl-redis:6379 + - REDIS_RATE_LIMIT_URL=redis://firecrawl-redis:6379 + - PLAYWRIGHT_MICROSERVICE_URL=http://firecrawl-playwright:3000/scrape + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=postgres + - POSTGRES_HOST=firecrawl-postgres + - POSTGRES_PORT=5432 + - USE_DB_AUTHENTICATION=false + - NUM_WORKERS_PER_QUEUE=${NUM_WORKERS_PER_QUEUE} + - CRAWL_CONCURRENT_REQUESTS=${CRAWL_CONCURRENT_REQUESTS} + - MAX_CONCURRENT_JOBS=${MAX_CONCURRENT_JOBS} + - BROWSER_POOL_SIZE=${BROWSER_POOL_SIZE} + - OPENAI_API_KEY=${OPENAI_API_KEY:-} + - OPENAI_BASE_URL=${OPENAI_BASE_URL:-} + - OLLAMA_BASE_URL=${OLLAMA_BASE_URL:-} + - NUQ_BACKEND=pg + - HOST=0.0.0.0 + - PORT=3002 + - EXTRACT_WORKER_PORT=3004 + - WORKER_PORT=3005 + - NUQ_RABBITMQ_URL=amqp://firecrawl-rabbitmq:5672 + - HARNESS_STARTUP_TIMEOUT_MS=60000 + - ENV=local + depends_on: + firecrawl-redis: + condition: service_started + firecrawl-playwright: + condition: service_started + firecrawl-rabbitmq: + condition: service_healthy + firecrawl-postgres: + condition: service_healthy + command: ["node", "dist/src/harness.js", "--start-docker"] + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + compress: "true" + labels: + createdBy: "Apps" + + firecrawl-playwright: + image: "ghcr.io/firecrawl/playwright-service@sha256:717699bf8a61d94451926c810d19ca1d36278192907e307bf5229a558b08fcc6" + container_name: ${CONTAINER_NAME}-playwright + restart: always + networks: + - firecrawl-backend + environment: + - PORT=3000 + - ALLOW_LOCAL_WEBHOOKS=false + - BLOCK_MEDIA=false + - MAX_CONCURRENT_PAGES=${CRAWL_CONCURRENT_REQUESTS} + security_opt: + - no-new-privileges:true + cap_drop: + - ALL + tmpfs: + - /tmp/.cache:noexec,nosuid,size=1g + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + compress: "true" + labels: + createdBy: "Apps" + + firecrawl-redis: + image: "redis:alpine@sha256:3811787313eba226a2ef38658c6ccb91cd5e110edc89c37767de373120a0e5a0" + container_name: ${CONTAINER_NAME}-redis + restart: always + networks: + - firecrawl-backend + command: ["redis-server", "--bind", "0.0.0.0"] + volumes: + - ./data/redis:/data + logging: + driver: "json-file" + options: + max-size: "5m" + max-file: "2" + compress: "true" + labels: + createdBy: "Apps" + + firecrawl-rabbitmq: + image: "rabbitmq:3-management@sha256:e582c0bc7766f3342496d8485efb5a1df782b5ce3886ad017e2eaae442311f69" + container_name: ${CONTAINER_NAME}-rabbitmq + restart: always + networks: + - firecrawl-backend + command: ["rabbitmq-server"] + volumes: + - ./data/rabbitmq:/var/lib/rabbitmq + healthcheck: + test: ["CMD", "rabbitmq-diagnostics", "-q", "check_running"] + interval: 5s + timeout: 5s + retries: 3 + start_period: 5s + logging: + driver: "json-file" + options: + max-size: "5m" + max-file: "2" + compress: "true" + labels: + createdBy: "Apps" + + firecrawl-postgres: + image: "ghcr.io/firecrawl/nuq-postgres@sha256:9b638af78d99873bc0ba2b57c9cbcd01df6ce96efeaa72d36cfbe0f76521e8fc" + container_name: ${CONTAINER_NAME}-postgres + restart: always + networks: + - firecrawl-backend + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=postgres + volumes: + - ./data/postgres:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"] + interval: 5s + timeout: 5s + retries: 5 + start_period: 5s + logging: + driver: "json-file" + options: + max-size: "10m" + max-file: "3" + compress: "true" + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true + firecrawl-backend: + driver: bridge