mirror of
https://github.com/okxlin/appstore.git
synced 2026-10-05 16:00:26 +00:00
161 lines
4.5 KiB
YAML
161 lines
4.5 KiB
YAML
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:df1a393ce8bfc3801570a826a9b0dcc400ae48789adb4a0ad9d6cbf0229b059b"
|
|
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:becdda6c7f4b3fb42e42fd7f120bbf5c54c4caaaf16f26da24e4563d2c1f0576"
|
|
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
|