mirror of
https://github.com/okxlin/appstore.git
synced 2026-10-30 16:05:49 +00:00
chore(appstore): add Firecrawl Redis digest version
This commit is contained in:
@@ -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=
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user