
===========================================
Docker 與 n8n 簡介===========================================
█什麼是 n8n?
n8n是一個強大的「AI流程自動化平台」,它結合了無代碼的便捷性和代碼的靈活性,
讓你能夠構建從簡單到複雜的各種自動化流程。
與市面上其他自動化工具相比,n8n 有幾個突出優勢: - 完全可自託管,數據掌握在自
己手中 - 400+ 集成,覆蓋幾乎所有主流服務 - 內置 AI 能力,支持 LangChain 和自定
義模型 - 公平代碼許可,核心功能完全免費。
最簡單的方式是 Docker安裝後,打開瀏覽器訪問 http://localhost:5678,註冊賬號後
就能看到整潔美觀的工作流編輯界面。
●架設n8n有兩種選擇(本文以自行架設n8n做解說)

█Docker概念
●Docker 是一種軟體平台
可讓您快速地建置、測試和部署應用程式。Docker 將軟體封裝到名為容器的標準化單位,其中包含程式庫、系統工具、程式碼和執行時間等執行軟體所需的所有項目。使用 Docker,您可以將應用程式快速地部署到各種環境並加以擴展,而且知道程式碼可以執行。
●Docker 與虛擬主機不同
Docker 運行應用程式的環境被稱作 容器 (container)。它不像虛擬機器(virtual machine )一樣需要 虛擬機器監視器(hypervisor)模擬出軟體、韌體或硬體,反而直接運行在宿主機(host machine)的核心。以執行應用程式的運行來說,虛擬機器需要模擬出整套作業系統才能運行應用程式,而應用程式容器則是直接運行在宿主機上。不僅如此,宿主機也可以是虛擬機器。因此,它比虛擬機器又更為輕量級、執行啟動又更快。

●Docker主要元件:
1.Dockerfile
開發人員在使用 Docker 時發現,大多現成的 Docker 映像檔無法滿足他們的需求,因此需要一種能夠生成映像檔的工具。Dockerfile 是一種簡易的文件檔,裡面包含了建立新映像檔所需的指令。Dockerfile 語法主要由 Command(命令)和 Argument (參數選擇)兩大元素組成。以下是一個簡易的 Docker file 示意圖:命令式語法+選擇參數(Command + Argument)

【TIPS】實作撰寫 Dockerfile
https://ithelp.ithome.com.tw/articles/10191016?sc=hot
2.Image (映像檔)
Docker 映像檔是創建容器的模板,我們能將它想像為一種虛擬機快照(snapshot),映像檔包含了開發者需要部署的應用程式、作業系統和編譯環境。開發者能透過映像檔建置不同的容器,在容器中,每個應用程式都是獨立運行的,彼此互不影響。
3.Container (容器)
容器是映像檔建立出來的實例(Instance),我們能將它比喻為一個輕量級的沙盒,Docker 利用容器運行和隔離應用程式,能夠在容器中將應用程式啟動、開始、停止、刪除。由於映像檔是唯讀(Read Only)的模板,因此容器在運行後映像檔的上層會增加一個能夠修改的讀寫層(Read and Write),而映像檔本身則不變。

4.Repository(倉庫)
Repository 是儲存映像檔的地方,使用者可以將自己完成的映像檔上傳至倉庫上儲存,倉庫上也有許多現成的映像檔供用戶存取,倉儲的種類被分為公開與私人兩種,目前官方最大的公開倉庫是 Docker Hub。在上面儲存了超過 15,000 個映像檔供使用者下載。

●Docker其他元件
1.docker daemon (dockerd): 它是一個長期運行(long-running)的 server,它也是 daemon process 在作業系統的背景運行。
2.REST API:這個介面可以讓我們與本地或是遠端的 docker daemon 通訊、操作 docker 物件如:images、containers、networks 和 volumes。
3.Client docker CLI (docer): 操作 docker 物件常常是使用 CLI 比較方便,而不是用 REST API。
●Docker 的運作流程
步驟一、撰寫 Dockerfile,步驟二、將 Dockerfile 建立為 Image,步驟三、將 Image 運行為容器。透過這三個簡單的步驟,就能創建自己的 Docker 容器囉!

===========================================
先安裝 Docker 再安裝 n8n
===========================================
1.安裝 windows版 Docker
(1)至 https://docs.docker.com/desktop/setup/install/windows-install/ 下載安裝程式

(2) 以系統管理員執行 Docker Desktop Installer.exe 進行安裝

(3)至 c:\Program Files 的Docker資料夾,執行 Docker.exe (以系統管理員身分執行)



2.安裝n8n
(1) 在桌面:建資料夾n8n
(2) 在n8n夾內建 docker.compose.yml檔(docker.compose.txt檔完成後再改檔名即可)

3. 啟動 n8n
(1) 打開 cmd (以系統管理員身分執行)
(2) 輸入 C:\Users\Ark\DeskTop\n8n>docker compose up


4. 設定 Windows IIS 的 Localhost 功能:
(1)啟動 Internet Information Services (IIS)
打開"控制台" --> "程式集" --> "程式和功能“-->點擊"開啟Windows 功能"。
確認"Internet Information Services" 及其子項(例如"Web Management Tools",
"World Wide Web Services") 已啟用。
(2)啟動World Wide Web Publishing Service
打開"服務" (Services)。 你可以通過在Windows 搜尋欄,輸入"services.msc"
找到"World Wide Web Publishing Service",右鍵點擊,選擇"啟動"。
將啟動類型改為"自動",以確保服務在系統啟動時自動啟動。
5. 註冊帳號取得免費密鑰
在Chrome 瀏覽器輸入 http://localhost:5678/setup





6.在Chrome 瀏覽器輸入 http://localhost:5678

【TIPS】n8n 管理介面&功能教學 (請參見「雷蒙三十網站」)
https://raymondhouch.com/lifehacker/digital-workflow/n8n-beginner-guide/
【視頻】一站式掌握n8n安裝:雲服務與本地部署全攻略
【1小時學會n8n會用到的概念】n8n x Docker x LINE Messaging API x Ngrok x RAG
============================================
【TIPS】MacBook 安裝 n8n
============================================
【視頻】n8n免費本地端部署--Mac版
