mirror of
https://git-proxy.hk.martin98.com/https://github.com/mendableai/firecrawl
synced 2025-04-10 13:52:42 +08:00
99 lines
2.8 KiB
YAML
99 lines
2.8 KiB
YAML
name: firecrawl
|
|
|
|
x-common-service: &common-service
|
|
# NOTE: If you want to build the service locally,
|
|
# uncomment the build: statement and comment out the image: statement
|
|
# image: ghcr.io/mendableai/firecrawl
|
|
build: apps/api
|
|
|
|
ulimits:
|
|
nofile:
|
|
soft: 65535
|
|
hard: 65535
|
|
networks:
|
|
- backend
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
|
|
x-common-env: &common-env
|
|
REDIS_URL: ${REDIS_URL:-redis://redis:6379}
|
|
REDIS_RATE_LIMIT_URL: ${REDIS_URL:-redis://redis:6379}
|
|
PLAYWRIGHT_MICROSERVICE_URL: ${PLAYWRIGHT_MICROSERVICE_URL:-http://playwright-service:3000/scrape}
|
|
USE_DB_AUTHENTICATION: ${USE_DB_AUTHENTICATION}
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY}
|
|
OPENAI_BASE_URL: ${OPENAI_BASE_URL}
|
|
MODEL_NAME: ${MODEL_NAME}
|
|
MODEL_EMBEDDING_NAME: ${MODEL_EMBEDDING_NAME}
|
|
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL}
|
|
SLACK_WEBHOOK_URL: ${SLACK_WEBHOOK_URL}
|
|
BULL_AUTH_KEY: ${BULL_AUTH_KEY}
|
|
TEST_API_KEY: ${TEST_API_KEY}
|
|
POSTHOG_API_KEY: ${POSTHOG_API_KEY}
|
|
POSTHOG_HOST: ${POSTHOG_HOST}
|
|
SUPABASE_ANON_TOKEN: ${SUPABASE_ANON_TOKEN}
|
|
SUPABASE_URL: ${SUPABASE_URL}
|
|
SUPABASE_SERVICE_TOKEN: ${SUPABASE_SERVICE_TOKEN}
|
|
SCRAPING_BEE_API_KEY: ${SCRAPING_BEE_API_KEY}
|
|
SELF_HOSTED_WEBHOOK_URL: ${SELF_HOSTED_WEBHOOK_URL}
|
|
SERPER_API_KEY: ${SERPER_API_KEY}
|
|
SEARCHAPI_API_KEY: ${SEARCHAPI_API_KEY}
|
|
LOGGING_LEVEL: ${LOGGING_LEVEL}
|
|
PROXY_SERVER: ${PROXY_SERVER}
|
|
PROXY_USERNAME: ${PROXY_USERNAME}
|
|
PROXY_PASSWORD: ${PROXY_PASSWORD}
|
|
SEARXNG_ENDPOINT: ${SEARXNG_ENDPOINT}
|
|
SEARXNG_ENGINES: ${SEARXNG_ENGINES}
|
|
SEARXNG_CATEGORIES: ${SEARXNG_CATEGORIES}
|
|
|
|
services:
|
|
playwright-service:
|
|
build: apps/playwright-service-ts
|
|
environment:
|
|
PORT: 3000
|
|
PROXY_SERVER: ${PROXY_SERVER}
|
|
PROXY_USERNAME: ${PROXY_USERNAME}
|
|
PROXY_PASSWORD: ${PROXY_PASSWORD}
|
|
BLOCK_MEDIA: ${BLOCK_MEDIA}
|
|
networks:
|
|
- backend
|
|
|
|
api:
|
|
<<: *common-service
|
|
environment:
|
|
<<: *common-env
|
|
HOST: "0.0.0.0"
|
|
PORT: ${INTERNAL_PORT:-3002}
|
|
FLY_PROCESS_GROUP: app
|
|
depends_on:
|
|
- redis
|
|
- playwright-service
|
|
ports:
|
|
- "${PORT:-3002}:${INTERNAL_PORT:-3002}"
|
|
command: [ "pnpm", "run", "start:production" ]
|
|
|
|
worker:
|
|
<<: *common-service
|
|
environment:
|
|
<<: *common-env
|
|
FLY_PROCESS_GROUP: worker
|
|
depends_on:
|
|
- redis
|
|
- playwright-service
|
|
- api
|
|
command: [ "pnpm", "run", "workers" ]
|
|
|
|
redis:
|
|
# NOTE: If you want to use Valkey (open source) instead of Redis (source available),
|
|
# uncomment the Valkey statement and comment out the Redis statement.
|
|
# Using Valkey with Firecrawl is untested and not guaranteed to work. Use with caution.
|
|
image: redis:alpine
|
|
# image: valkey/valkey:alpine
|
|
|
|
networks:
|
|
- backend
|
|
command: redis-server --bind 0.0.0.0
|
|
|
|
networks:
|
|
backend:
|
|
driver: bridge
|