最近自己研究Dify,使用到Firecrawl這個比較好用的工具。用Firecrawl官網的不知道為什么總是卡住得不到結果,于是我打算自己去本地部署一個。好家伙真給我人搞麻了,太多問題了。
我是在京東云上面租的一臺服務器。
首先就是docker的安裝,這里個人建議選個比較新的版本,因為我有個服務器裝了個舊一點的版本的docker 裝到后面給我報rust版本錯誤了。不知道啥原因,由于這個服務器要跑dify就沒在這個服務器上面弄了。
error: failed to parse lock file at: /app/sharedLibs/html-transformer/Cargo.lock Caused by: lock file version `4` was found, but this version of Cargo does not understand this lock file, perhaps Cargo needs to be updated?
如果有rust版本錯誤的,可以去修改firecrawl/apps/api/Dockerfile這個文件的內容
把FROM rust:1-slim AS rust-base? 該為 FROM rust:1.70?AS rust-base
然后就是 GO訪問不了外網的問題
Get "https://proxy.golang.org/github.com/tomkosm/html-to-markdown/@v/v0.0.0-20250128162844-2f19490e042d.zip": dial tcp 142.250.217.81:443: i/o timeout
?在firecrawl/apps/api/Dockerfile中
RUN cd /app/sharedLibs/go-html-to-md && \
? ? go mod tidy && \
? ? go build -o html-to-markdown.so -buildmode=c-shared html-to-markdown.go && \
? ? chmod +x html-to-markdown.so
?前面加上一行? ? 設置國內代理
ENV GOPROXY=https://goproxy.cn,direct
最后當我部署完成之后用dify調用,總是說未授權,找了很久發現是開始設置環境配置文件.env 的時候里面的參數有問題。我是從apps/api 里面復制 .env.example過來的的.env
把你在firecrawl目錄下配置的 .env文件中的?USE_DB_AUTHENTICATION 設置為false
還有就是部署過程中有些包下載的很慢,需要耐心等待
?最后感謝下面這些文章,幫助我解決了很多問題。也感謝通義和Gemini 的幫助
https://blog.csdn.net/zjw529507929/article/details/146218875
https://blog.csdn.net/Lb_jay/article/details/147632780
https://docs.firecrawl.dev/contributing/self-host
https://blog.csdn.net/weixin_51455837/article/details/145712180