兄弟們,你們平時(shí)都是怎么在NAS上部署Docker的呢?
比如當(dāng)你有某些特定的需求,像影視管理、小說(shuō)管理、文檔管理等等,往往需要自己去找對(duì)應(yīng)的Docker項(xiàng)目。
這樣雖然也可以,但是費(fèi)時(shí)費(fèi)力,而且也不一定能找到合適的。
就算找到合適的了,在部署的過(guò)程中,如果遇到報(bào)錯(cuò)等問(wèn)題,也不一定能解決。
今天,給大家介紹一個(gè)新奇的玩法!
讓AI幫你在NAS上通過(guò)Docker部署項(xiàng)目,只需要給AI描述需求,剩下的它幫你搞定!
本文用到的AI工具是iflow-cli,這個(gè)在國(guó)內(nèi)可以訪問(wèn)。
當(dāng)然,如果你的網(wǎng)絡(luò)條件允許的話,也可以使用claude code、gemini-cli等更強(qiáng)大的工具。
對(duì)于本文介紹的玩法來(lái)說(shuō),iflow-cli就已經(jīng)夠了。
iflow-cli的介紹可以在我往期的文章可以找到,大家可以自行查閱:挖到一個(gè)終端AI神器,用了一下,有點(diǎn)逆天。。。
本文主要是在飛牛OS上進(jìn)行安裝。首先需要先打開(kāi)飛牛的SSH登錄:
通過(guò)ssh登錄到飛牛OS之后,執(zhí)行下面的命令切換到root賬戶
sudo -i
然后依次執(zhí)行下面的命令安裝nodejs:
# Download and install nvm:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash# in lieu of restarting the shell\. '$HOME/.nvm/nvm.sh'# Download and install Node.js:nvm install 22
安裝完成之后,執(zhí)行下面的命令查看一下nodejs的版本:
node -v
如果顯示版本在18以上,就沒(méi)問(wèn)題:
執(zhí)行下面的命令安裝iflow-cli:
bash -c '$(curl -fsSL https://cloud.iflow.cn/iflow-cli/install.sh)'
在安裝的過(guò)程中,會(huì)提示選擇哪種模型的認(rèn)證方式,這里我選擇的是iFlow,也就是第一個(gè):
然后會(huì)讓輸入API Key,這里直接去iFlow官網(wǎng)獲取即可,目前是免費(fèi)使用:
輸入API Key之后,選擇模型,這里我選擇的是Qwen3-Coder-480B-A35B:
這樣就安裝好了:
后面可以直接在終端輸入iflow來(lái)啟動(dòng)AI助手。
下面,讓我們用iflow-cli自動(dòng)幫我們部署應(yīng)用。
我們需要給AI提需求,這里我描述的是:幫我通過(guò)docker部署一個(gè)文檔管理系統(tǒng)
然后我們就可以喝咖啡了<<<<
可以邊喝邊看看AI在干什么<<<<
首先,它進(jìn)行了需求分析,明確了要執(zhí)行的步驟,如下圖所示:
通過(guò)搜索,AI發(fā)現(xiàn)paperless-ngx比較適合進(jìn)行文檔管理:
然后就自動(dòng)創(chuàng)建了一個(gè)docker-compose.yml文件:
還創(chuàng)建了需要用到的環(huán)境變量:
接下來(lái)就開(kāi)始拉取鏡像了:
拉取鏡像的過(guò)程中,發(fā)生了錯(cuò)誤,AI自動(dòng)進(jìn)行了重試:
之后,AI嘗試啟動(dòng)服務(wù),發(fā)現(xiàn)服務(wù)啟動(dòng)不了:
經(jīng)過(guò)分析,創(chuàng)建一個(gè)最小化的docker-compose.yml文件,只包含Paperless-ngx本身和必要的依賴項(xiàng):
然后它發(fā)現(xiàn)拉取鏡像太慢了,就自動(dòng)配置了國(guó)內(nèi)鏡像源:
經(jīng)過(guò)一系列自動(dòng)化的嘗試,最終成功的部署上了paperless-ngx,在這個(gè)過(guò)程中,還解決了端口沖突的問(wèn)題。
最終給出了總結(jié)和使用說(shuō)明:
讓我們來(lái)訪問(wèn)一下試試,在瀏覽器輸入http://192.168.66.6:9000:
發(fā)現(xiàn)頁(yè)面輸出了錯(cuò)誤400,讓我們把這個(gè)問(wèn)題反饋給AI。
輸入下面內(nèi)容:為什么訪問(wèn)的時(shí)候,返回了:Bad Request (400),我是通過(guò)ip訪問(wèn)的,ip是192.168.66.6
可以看到AI分析了一下,發(fā)現(xiàn)是因?yàn)镈jango(Paperless-ngx基于Django)的安全機(jī)制阻止了來(lái)自未授權(quán)主機(jī)的請(qǐng)求。
AI自動(dòng)修改了一下,重新啟動(dòng)之后,讓我們?cè)俅卧L問(wèn):
這次沒(méi)問(wèn)題了!
登錄下看看也是正常的:
聯(lián)系客服