主页 > IT业界  > 

Docker容器化|超简单部署FireCrawl

Docker容器化|超简单部署FireCrawl
灵感来源 【RAG实战】Docker容器化 🔥 FireCrawl | 基于docker-compose.yaml一键运行的网页解析API 参考仓库地址

建议给大佬点点star,这么简单的教程非常实用

测试环境 ubuntu 24.04 可能要安装的依赖 sudo apt install docker-buildx 拉取FireCrawl官方仓库 git clone github /mendableai/firecrawl.git 需要新增的dockerfile文件

路径: 根目录/apps/api/server.Dockerfile

# server.Dockerfile FROM node:lts AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" LABEL fly_launch_runtime="Node.js" RUN corepack enable COPY . /app WORKDIR /app FROM base AS prod-deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile FROM base AS build RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm install RUN pnpm run build:nosentry FROM base RUN apt-get update -qq && \ apt-get install --no-install-recommends -y chromium chromium-sandbox && \ rm -rf /var/lib/apt/lists /var/cache/apt/archives COPY --from=prod-deps /app/node_modules /app/node_modules COPY --from=build /app /app # Start the server by default, this can be overwritten at runtime EXPOSE 3002 ENV PUPPETEER_EXECUTABLE_PATH="/usr/bin/chromium" CMD [ "pnpm", "run", "start:production" ]

路径: 根目录/apps/api/worker.Dockerfile

# worker.Dockerfile FROM node:lts AS base # 添加 corepack_npm_registry 环境变量,你可以根据需要修改其值 ENV COREPACK_NPM_REGISTRY= registry.npmmirror ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" LABEL fly_launch_runtime="Node.js" RUN corepack enable COPY . /app WORKDIR /app FROM base AS prod-deps RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile FROM base AS build RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile RUN pnpm install RUN pnpm run build:nosentry FROM base RUN apt-get update -qq && \ apt-get install --no-install-recommends -y chromium chromium-sandbox && \ rm -rf /var/lib/apt/lists /var/cache/apt/archives COPY --from=prod-deps /app/node_modules /app/node_modules COPY --from=build /app /app EXPOSE 8080 ENV PUPPETEER_EXECUTABLE_PATH="/usr/bin/chromium" CMD [ "pnpm", "run", "worker:production" ] 执行docker镜像构建 构建: plb/firecrawl-worker:local

先切换到路径: 根目录/apps/api/ ,然后执行:

# docker buildx build -f worker.Dockerfile -t {你自定义的Worker镜像}:{标签名} # 我这边设置镜像名: plb/firecrawl-worker:local sudo docker buildx build -f worker.Dockerfile -t plb/firecrawl-worker:local .

然后就能构建出一个名字 plb/firecrawl-worker:local 的镜像,接下来构建 plb/firecrawl-server:local 镜像。

构建: plb/firecrawl-server:local # docker buildx build -f server.Dockerfile -t {你自定义的Worker镜像}:{标签名} # 我这边设置镜像名: plb/firecrawl-server:local sudo docker buildx build -f server.Dockerfile -t plb/firecrawl-server:local . 创建docker-compose.ymal文件

这个文件是用来同时启动上面两个镜像的,记得替换关键镜像名字

路径: 根目录/apps/api/docker-compose.yaml

# docker-compose.yaml version: '3.1' services: redis: image: redis:latest restart: always volumes: - redis_data:/data worker: environment: - REDIS_URL=redis://redis:6379 - USE_DB_AUTHENTICATION=false image: plb/firecrawl-worker:local pull_policy: always restart: always server: environment: - REDIS_URL=redis://redis:6379 - USE_DB_AUTHENTICATION=false - HOST=0.0.0.0 image: plb/firecrawl-server:local pull_policy: always ports: - "3002:3002" restart: always volumes: redis_data: 开始运行已经构建好的docker镜像

切换到路径: 根目录/apps/api/

docker compose up 测试是否成功 curl -X GET http://localhost:3002/test

如果有返回值,那么就是部署成功了。

标签:

Docker容器化|超简单部署FireCrawl由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Docker容器化|超简单部署FireCrawl