? ? ? ?大家知道,在公網環境下利用docker安裝dify源碼鏡像比較容易,詳見我之前的文章,基于dify開發agent、workflow等非常方便,本次想著在內部網絡環境下也完成部署,以方便更多的人使用,但在部署到內網環境下,遇到各類問題,雖然可以通過離線下載安裝包來解決,但是總會遇到各種各樣的問題,因此本文做了如何通過代理實現安裝和更新,具體如下,在dify鏡像安裝在企業內網部署時,需要考慮各種情況下的代理問題。
1.docker容器安裝過程中的代理配置
安裝過程中記得在.env的配置proxy,詳見.env文件
2.安裝插件的代理配置
記得關閉.env的proxy,打開plugin_daemon服務的proxy配置,并配置國內數據源,詳見docker-compose.yaml配置文件的PIP_MIRROR_URL,之后安裝任何插件都需要打開這一步的配置。
3.安裝和配置ollama服務
采用第2步配置下,通過本地安裝ollama插件
配置局域網內的ollama服務,記得關閉plugin_daemon服務的proxy配置,否則訪問不到。
4.sandbox容器如何安裝python庫
默認情況下,sandbox還無法安裝外部庫,由于sandbox依賴于ssrf_proxy,主要原因是ssrf_proxy服務沒有設置訪問外部的代理,具體設置代理方法如下。
1).打開E:\temp\dify12\docker\ssrf_proxy目錄下的squid.conf.template文件
在# cache_peer 172.1.1.1 parent 3128 0 no-query no-digest no-netdb-exchange default 行下面增加如下內容。
# 定義直接訪問的 ACL
acl direct_access dst 192.128.0.0/16
# 配置 cache_peer
cache_peer http_proxy_ip parent http_proxy_port 0 no-query no-digest no-netdb-exchange default login=user:pass# 允許 192.128.*.* 的請求直接訪問(B段)
always_direct allow direct_access# 其他請求通過代理
never_direct allow all
cache_peer的參數說明:
http_proxy_ip:代理服務器的主機名或 IP 地址
parent
?或?sibling
?:表示該代理是上游(父)代理還是兄弟代理
http_proxy_port:代理服務器的 HTTP 端口
login=用戶名:密碼
2).打開docker-compose.yaml文件,找到ssrf_proxy服務,增加如下內容
environment:# pls clearly modify the squid env vars to fit your network environment.HTTP_PROXY_SERVER_HOST: http_proxy_ipHTTP_PROXY_SERVER_PORT: http_proxy_portHTTP_PROXY_SERVER_USERNAME: userHTTP_PROXY_SERVER_PASSWORD: pwd
然后卸載容器,再重新加載容器。進入sandbox容器中,即可用pip install安裝庫。
完成類庫安裝后,記得關閉上述兩步設置的內容,防止ssrf攻擊。
5.成功部署后實現第一個agent應用
查詢數字孿生技術的應用場景有哪些?