Docker+貝銳花生殼內(nèi)網(wǎng)穿透:3步搭建可遠程訪問的ntfy私有推送服務

在自動化運維、貝銳腳本監(jiān)控以及IoT設備管理等場景中,花生及時的殼內(nèi)可遠狀態(tài)通知至關重要。ntfy作為一個極簡的網(wǎng)穿問基于HTTP的推送通知服務,允許開發(fā)者僅通過簡單的透步推送PUT或POST請求就能向手機或桌面發(fā)送通知,無需復雜的搭建注冊或配置。

然而,程訪出于數(shù)據(jù)安全和成本考慮,服務我們通常將ntfy部署在本地局域網(wǎng)(如公司內(nèi)網(wǎng)服務器、貝銳NAS或樹莓派)中?;ㄉ@就帶來了新的殼內(nèi)可遠難題:一旦離開內(nèi)網(wǎng)環(huán)境,如何接收這些重要的網(wǎng)穿問報警通知?

接下來將詳細介紹如何在Linux環(huán)境下通過Docker部署ntfy,并通過免費可用的透步推送貝銳花生殼內(nèi)網(wǎng)穿透技術,在不改變網(wǎng)絡架構、搭建無需公網(wǎng)IP的程訪前提下,快速實現(xiàn)ntfy服務的遠程訪問。

一、 本地環(huán)境搭建:Docker部署ntfy服務

首先,我們需要在本地Linux設備上將ntfy服務運行起來。推薦使用Docker進行容器化部署,這能最大程度簡化依賴管理。

如果您的設備尚未安裝Docker環(huán)境,可以通過官方腳本快速完成安裝。安裝完成后,記得啟動Docker服務:

# 安裝Docker并啟動服務

sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

sudo systemctl start docker

環(huán)境準備就緒后,我們直接從Docker Hub拉取ntfy的官方鏡像 binwiederhier/ntfy,并執(zhí)行啟動命令。為了保證數(shù)據(jù)持久化和服務的可用性,啟動時需要配置端口映射與緩存目錄掛載:

# 拉取鏡像

sudo docker pull binwiederhier/ntfy

# 啟動容器

# 注意:我們將容器80端口映射到宿主機80端口,并掛載/var/cache/ntfy用于存儲數(shù)據(jù)

sudo docker run -v /var/cache/ntfy:/var/cache/ntfy -p 80:80 -it binwiederhier/ntfy serve --cache-file /var/cache/ntfy/cache.db

容器啟動成功后,ntfy服務即已在局域網(wǎng)內(nèi)上線。此時,您可以嘗試在同局域網(wǎng)的瀏覽器中訪問 http://本地IP(例如本例中的 http://10.168.123.227),如果能看到簡潔的ntfy Web交互界面,即說明本地部署無誤。

二、 打通網(wǎng)絡壁壘:安裝與配置花生殼

為了打破局域網(wǎng)的限制,實現(xiàn)外網(wǎng)訪問,我們需要在運行ntfy的設備上安裝貝銳花生殼客戶端。它能將內(nèi)網(wǎng)服務端口映射到公網(wǎng)域名,建立一條安全的訪問隧道,并且免費可用。

1.      客戶端安裝與激活

請訪問貝銳官網(wǎng)下載頁面,根據(jù)您的系統(tǒng)架構(如x86或ARM)下載對應的Linux安裝包。下載完成后,使用 dpkg 命令進行安裝:

安裝過程會自動注冊服務,終端將直接輸出該設備的 SN碼(序列號)和默認密碼(admin)。請務必記錄下這組憑證,它是后續(xù)登錄云端管理平臺的唯一身份標識。

2.      建立內(nèi)網(wǎng)映射隧道

所有的配置工作均在 花生殼管理平臺進行,無需在Linux終端輸入復雜的指令。

使用SN碼登錄管理平臺后,系統(tǒng)會提示進行設備激活,您可以選擇使用花生殼APP掃碼或輸入貝銳賬號密碼進行綁定。激活完成后,點擊左側的“內(nèi)網(wǎng)穿透”菜單,進入核心配置環(huán)節(jié)。

點擊“添加映射”按鈕,在彈出的配置窗口中,我們需要準確填寫映射信息以確保連接通暢:

應用名稱:可自定義,如“ntfy-notify”。

映射類型:選擇HTTP或HTTPS,以便通過網(wǎng)頁和API進行訪問。

內(nèi)網(wǎng)主機:填寫部署了Docker容器的本機局域網(wǎng)IP(如 10.168.123.227)。

內(nèi)網(wǎng)端口:填寫容器對外暴露的端口號(本例中為 80)。

確認信息無誤后點擊保存,系統(tǒng)會自動生成一個外網(wǎng)訪問地址。至此,一條連接互聯(lián)網(wǎng)與您本地ntfy服務的隧道已經(jīng)建立完成。

三、遠程訪問實測:隨時隨地接收通知

現(xiàn)在,無論身處何地,只要有互聯(lián)網(wǎng)連接,您都可以通過花生殼生成的域名訪問您的私有通知服務。

在瀏覽器中輸入該外網(wǎng)地址,即可直接進入ntfy的管理面板。更重要的是,您可以在任何外部網(wǎng)絡的腳本或程序中,調用該地址發(fā)送通知。

我們可以簡單通過一行 curl 命令來測試遠程推送功能的連通性:

# 測試從外網(wǎng)向內(nèi)網(wǎng)ntfy發(fā)送消息

curl -d "Backup task completed successfully" http://你的花生殼域名/my_scripts

發(fā)送指令后,刷新瀏覽器或查看訂閱了該主題的手機端,您將立即收到這條來自遠程的推送消息。

通過Docker+貝銳花生殼 的組合,我們僅需簡單的幾步操作,便低成本地解決了內(nèi)網(wǎng)服務“出不去”的難題,為自動化運維監(jiān)控構建了穩(wěn)定可靠的信息觸達通道。

綜合
上一篇:中國自主研發(fā) 全球最大5000平米高空風力發(fā)電做功傘首試成功
下一篇:最佳游戲CPU即將換代 AMD銳龍7 9850X3D性能測試曝光