MES I/O Gateway / 管理者
03管理者

地端設定伺服器部署

對象:在自家工廠內部署設定伺服器的客戶 / 現場 IT。 你會學到:這套東西是什麼、怎麼裝、怎麼登入、怎麼日常使用、怎麼更新與排錯。


#1. 這是什麼?為什麼要裝它?

地端設定伺服器(Local Config Server) 是一套安裝在你工廠內部網路的小型服務,負責:

  • 📥 設定備份:每台 MES Gateway 設備會把自己的設定快照定期送到這裡,作為第二個備份點(第一個是 MetaSource 官方雲端)。
  • 🕒 設定還原:設備設定誤改 / 故障換機時,可從這裡的歷史快照一鍵還原。
  • 🖥️ 本地總覽:在一個網頁畫面看到廠內所有設備的在線狀態、IP、韌體版本。

不需要連到外網不需要另外裝資料庫,用 Docker 一鍵啟動。資料只留在你自己的機器上。

📌 與官方雲端的分工:官方雲端(opta.smms.com.tw)永遠是主要管理與授權中心;地端伺服器是廠內的第二備份與本地檢視。兩者可並存,互不影響。


#2. 開始之前要準備

項目 說明
一台內網機器 Windows / macOS / Linux 都可以。與設備在同一個區域網路。建議常開機。
Docker 需安裝 Docker(含 docker compose)。Windows / macOS 裝 Docker Desktop;Linux 裝 Docker Engine + Compose plugin。
下載包 從官方網站下載的 opta-config-server-local-vX.Y.Z.zip

#3. 安裝(兩步驟)

  1. 解壓縮下載的 zip,進入解壓後的資料夾。裡面應該有:

    • opta-config-server-local-*.tar.gz(服務本體,Docker image)
    • install.shdocker-compose.yml.env.exampleREADME.md
  2. 執行安裝腳本:

    macOS / Linux

    bash
    cd 解壓後的資料夾
    ./install.sh

    Windows(用 Git Bash / WSL 跑 ./install.sh,或在 PowerShell 手動執行下面三行):

    powershell
    docker load -i (Get-Item opta-config-server-local-*.tar.gz)
    Copy-Item .env.example .env
    docker compose up -d

腳本會自動:載入 image → 建立 .env → 啟動服務。完成後畫面會印出登入網址。


#4. 登入 ⭐(最關鍵的一步)

很多人卡在這一步,所以請務必照做。

啟動後,在同一台機器用瀏覽器打開:

http://localhost:8888

若從廠內其他電腦連,把 localhost 換成這台伺服器機器的 IP,例如 http://192.168.1.50:8888

登入畫面會跳出來。輸入:

欄位
帳號 (Email) local@localhost
密碼 (Password) .env 檔裡 DEFAULT_ADMIN_PASSWORD 的值(預設為 mesgateway-local)

還有一個備用帳號 admin@localhost,密碼相同。一般用 local@localhost 即可。

#4.1 ⚠️ 關於密碼,務必知道的兩件事

  1. 第一次登入後請馬上改密碼 —— 登入後點畫面右上角「🔑 改密碼」,改成只有你知道的密碼。

  2. DEFAULT_ADMIN_PASSWORD 只在「第一次啟動、資料庫還空著」時生效。 之後再去改 .env 的那一行不會改到已經建立好的帳號密碼。要改密碼,一律從**網頁右上「🔑 改密碼」**操作。

💡 為什麼會有「登入卡關」? 如果安裝時把 .env 裡的 DEFAULT_ADMIN_PASSWORD 刪掉或留空,系統會隨機產生一組密碼,而且只印在容器日誌裡一次。這時就會發生「不知道密碼、進不去」。所以安裝前請確認 .env 裡這行有填一個你記得住的密碼。萬一已經發生,見 §7 重設密碼


#5. 日常使用

登入後是一個分頁式的儀表板。地端模式會看到:

  • 🖥️ 設備:廠內所有設備的卡片(在線/離線、IP、韌體版本、設定版本、運行時間)。點某台可以開「歷史」看設定快照、做「比較」與「還原」。
  • 🏢 客戶:把設備分組歸戶(若你需要分線別/分區管理)。

🔒 授權韌體部署 這兩個分頁是官方雲端才有的功能,地端模式不會顯示,屬正常現象。

#常用 Docker 指令

bash
docker compose ps          # 看服務有沒有在跑
docker compose logs -f     # 看即時日誌(排錯用)
docker compose down        # 停止服務(資料保留,不會遺失)
docker compose up -d       # 重新啟動

#6. 更新到新版

收到新的下載包時:

  1. 把新 zip 解壓到同一個資料夾覆蓋(你的 .env 會被保留,腳本不會覆蓋已存在的 .env)。
  2. 再執行一次 ./install.sh

你的歷史資料(設定快照、登入帳號密碼)都存在名為 opta-local-data 的 Docker volume,更新不會遺失。


#7. 重設密碼(忘記密碼 / 進不去)

地端伺服器是單機部署,沒有「忘記密碼寄信」機制。若進不去,用下列方式重來一次乾淨的初始化:

⚠️ 下列做法會清掉伺服器上的設備設定快照歷史(不影響設備本身運作,設備下次心跳會重新上報)。若你的快照很重要,請先聯絡 MetaSource 協助。

bash
# 1. 停止並移除資料 volume
docker compose down
docker volume rm opta-local-data

# 2. 確認 .env 裡 DEFAULT_ADMIN_PASSWORD 設成你要的新密碼
#    (用文字編輯器打開 .env 改這一行)

# 3. 重新啟動 → 會用新密碼重新建立帳號
docker compose up -d

之後用 local@localhost + 你新設的密碼登入。


#8. 常見問題排錯

症狀 可能原因 / 解法
網頁打不開 ① 服務沒起來 → docker compose ps 看狀態、docker compose logs -f 看錯誤。② 從別台連要用伺服器 IP 不是 localhost。③ 防火牆要放行 8888 埠。
登入一直失敗 帳號是 local@localhost(含 @localhost);密碼是 .envDEFAULT_ADMIN_PASSWORD。若已改過密碼,用改過的。真的進不去走 §7
設備沒出現在清單 設備要設定把這台伺服器的位址當成備份目標,且和伺服器在同一網段。確認設備端設定。
8888 埠被占用 編輯 .envHOST_PORT(例如改 9000),docker compose up -d 重啟;之後用新埠號連。
Exec format error 下載包的 CPU 架構和你的機器不符。請向 MetaSource 索取對應架構的版本。

#9. 安全建議

  • 第一次登入立刻改密碼
  • .envJWT_SECRET 改成一串隨機字串(openssl rand -hex 32)。
  • 這台機器只在內網提供服務,不要對公網開放 8888 埠。

需要協助請聯絡 MetaSource