在QNAP NAS上建立客製化app

如何在 QNAP NAS 上建立客製化 app? 3 個超簡單的方法分享

Last Updated on

想到 QNAP,大部分的人應該會馬上想到資料備份、居家數位化…等等,衝著它主打拋下 DAS(Direct Attached Storage),奔向 NAS (Network Attached Storage),輕鬆生活得更先進 (QNAP官網請點) 的賣點,相信許多愛好新科技產品的人都曾想(或已經)入手一台來試試。

近年來,QNAP 進入美國市場發展,尤其在中小企業與新創公司間漸漸普及。既然在企業間有點火紅,那 IT 人員或軟體工程師也許想問,可以在 QNAP NAS 上部署自己開發的 application 嗎?當然可以!

當初我也因為這個問題,加上不熟悉,而研究好久好久,最後才歸納並實作出來。

以下我將分享其中 3 個簡單且 QNAP 官方也驗證的部署方法,希望幫助你更快上手,建議在進入文章前先了解 Docker 的基本概念。

3 個在 QNAP NAS 上建立客製化 app 的方式

你可以選擇透過 Container Station 或 App Center 來完成,若是第一次使用 Container Station,需要先安裝,可參考官方教學文件(點我看文件)。

建立方法如下:

  1. 利用 Container Station:從 Docker hub 拉下來安裝
  2. 利用 Container Station:如果不想用到 Docker hub,也可以從 Git hub 拉下來安裝
  3. 利用 App Center:將 app 轉成 QNAP 特有的 QPKG 格式安裝

其中,第 2 和 3 的方式在 2018 年 QNAP 發表的影片後面(45:00開始)曾介紹過,所以如果在這部分的開發遇到任何無法解決的問題,都可以尋求 QNAP 技術支援。 ps. 此影片需要一點英文聽力。


利用 Container Station:從 Docker hub 拉下來安裝

這是最直覺的方法。

(1) 首先,你必須要申請一個 Docker hub 的帳號,並建立一個 repository,把開發好的 app 建 docker image 後,push 到 docker hub。

create repository and docker push

(2) 到 Container Station 的「Create」(建立),搜尋你的 docker image,然後「Install」(安裝)。

search docker image and install

(3) 最後,設定參數,特別是要注意網路的參數設定。

container setting

(4) 到「Containers」選擇剛剛安裝好的,點 open link 就可以打開 app。

打開 QNAP 客製化 app

利用 Container Station:從 Git hub 拉下來安裝

(1) 進入 QNAP 開發團隊的 GitHub repository (https://github.com/qnap-dev/container-apps),點擊「Fork」複製到自己的GitHub帳戶。

身為專業的開發者,別忘了看看裡面的 README.md 或其他文件,確認版本與需求。

fork repository

(2) 官方也提供一些 templates,你可以 git pull 下來,修改並設計自己的 image / application,再 git push。

記得到 list.json 加入新 app 的參數設定,之後才會出現在 Container Station 的列表中,以下以影片示範的 Ubuntu 17.10 Desktop 作為例子。

add app in list

(3) 打開 QNAP NAS 的 Container Station,選擇左邊的「Preference」,點擊右上方的「Application Repository」,點「Custom」引入自己的repository,最後「Apply」。

QNAP NAS屬性設定

(4) 從左邊 side bar 選擇「Create」,你就會看到你的客製化 app 出現在列表中,「Install」後就可以啟用了。

QNAP NAS建立新app

如果要提供 web servise,別忘記要設定好網路的參數喔!


利用 App Center:將 app 轉成 QPKG 格式安裝

注意:在打包成 QPKG 檔前,請先安裝 docker 。

QPKG 是 QNAP 開發的獨特格式,在 QTS 內的 app 通常由這種格式佈建,你也可以把自己的 app 包成 .qpkg 檔放到 NAS 裡面,以下用 Nginx 為例:

(1) 打開 local desktop 的 Terminal,將 QNAP 開發團隊的 GitHub repository (https://github.com/qnap-dev/docker-qdk2) 複製下來,裡面有一些 examples 可以讓你參考來設計出自己的 app。

git clone

(2) 把自己開發完的 app 放到 docker hub 裡,QNAP 將包 .qpkg 檔的動作做成 docker image,只要執行 docker run 就可以完成此動作,是不是很方便簡單呢?這部分也有寫在 README.md

QPKG格式

(3) 務必確認 Container Station 已先安裝在 QNAP NAS,然後打開 AppCenter ,利用前一步驟所產生的 .qpkg 檔手動安裝。

QNAP手動安裝app

載入 .qpkg 檔後,按下「Install」確認安裝,需要等它跑一下。

QNAP手動安裝app確認

(4) 安裝完後,會出現在 app 列表中,開啟它並完成參數設定就可以執行了。

啟動客製化app

範例的 Nginx 需要設定 HTTP port ~

設定Nginx的參數

完成所有設定後,就會啟動 Nginx 的服務。

Nginx執行結果

如果覺得這篇文章有幫助,請幫我拍手 5 下鼓勵我、支持我,讓我繼續有創作的動力!

如果有任何問題或想分享的資訊,歡迎在下方留言!

Leave a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *