nas部署docker笔记 docker freenas
前言:
可以實現這功能,非常感謝原作者luolongfei的無私貢獻。
往時我也是在Github Actions實現自動續期freenom域名,但不知名原因已經不能使用了。
所以luolongfei大佬也遷移了倉庫,根據最新的倉庫原碼實現了在VPS部署Docker實現自動續期freenom域名功能及這篇貼文分享做記錄。
限制條件:
- VPS或者可以實現Docker功能的電腦
- freenom域名的登入名稱及密碼
- 發信及收信郵箱
- Telegram bot發送通知 (可選)
部署:
事前在VPS上已安裝了Docker及Doker-Compose
在這範例中是以Doker-Compose形式建立容器
在VPS建立freenom目錄及進入
mkdir freenom && cd freenom新建docker-compose.yml文件
cat > 'docker-compose.yml' <<EOF version: "3" services: freenom: image: luolongfei/freenom container_name: freenom restart: always # environment: # - RUN_AT="9 11 * * *" volumes: - $PWD:/conf - $PWD/logs:/app/logs EOF按ENTER完成文件的建立
- RUN_AT="9 11 * * *" 為 CRON 命令形式執行任務,如有需要可去掉注釋# (作者不建議,因為每次重啟容器都會隨機一個時間點,從而保障服務的穩定。)
$PWD 為當前目錄
用 docker-compose.yml 創建並啟動容器
docker-compose up -d容器建立後,需要修改 .env 參數才能執行通知服務
- freenom域名的登入名稱及密碼
- 郵箱的發信及收信 (以163郵箱為範例)
登入到mail. 穫取 授權密碼
返回VPS,建立環境變量
DOMAIN_ACC=freenom@; DOMAIN_PW=\'freenomPasswd\'; EMAIL_ACC=freenom@; EMAIL_PW=\'emailPasswd\'; EMAIL_REC=\'freenom@\'資訊如下:
變量
例(需要自行更改)
解釋
DOMAIN_ACC
freenom@
FREENOM賬戶
DOMAIN_PW
freenomPasswd
FREENOM密碼
EMAIL_ACC
freenom@
郵箱賬戶
EMAIL_PW
emailPasswd
郵箱密碼(授權密碼)
EMAIL_REC
freenom@
接收通知的郵箱
修改 .env 參數
sed -i -e "s/FREENOM_USERNAME=593198779@/FREENOM_USERNAME=$DOMAIN_ACC/g" -e "s/FREENOM_PASSWORD=''/FREENOM_PASSWORD=$DOMAIN_PW/g" -e "s/MAIL_USERNAME=llf.push@/MAIL_USERNAME=$EMAIL_ACC/g" -e "s/MAIL_PASSWORD=''/MAIL_PASSWORD=$EMAIL_PW/g" -e "s/TO=''/TO=$EMAIL_REC/g" .env查看更新後的參數
head -n 37 .env重新啟動容器
docker-compose restart檢視容器日誌
docker-compose logs重新登入到mail. ,可以查看到新郵件
通過 Telegram bot 發送通知消息(可選)
由於需要有訪問404區連線,固沒有這次的分享。
有這方面需求的伙伴可參考如何通過電報機器人給自己或群組發消息 - 知乎 (zhihu.com)
結語:
當你在不同時段申請了有多個或一堆域名,每次到期前14天都需要登入到Freenom網頁續期,但這樣的操作好容易有甩漏而且很不便。但有了luolongfei大佬的Docker倉庫,大大簡化了部署難度,域名期滿前透過Docker自動續期,而且支持多種平台部署(如: arm/x86等)。
參考資料:
- GitHub - luolongfei/next-freenom: Freenom 域名自動續期
- luolongfei/freenom - Docker Image | Docker Hub