地端設定伺服器部署
對象:在自家工廠內部署設定伺服器的客戶 / 現場 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. 安裝(兩步驟)
解壓縮下載的 zip,進入解壓後的資料夾。裡面應該有:
opta-config-server-local-*.tar.gz(服務本體,Docker image)install.sh、docker-compose.yml、.env.example、README.md
執行安裝腳本:
macOS / Linux
bash cd 解壓後的資料夾 ./install.shWindows(用 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 ⚠️ 關於密碼,務必知道的兩件事
第一次登入後請馬上改密碼 —— 登入後點畫面右上角「🔑 改密碼」,改成只有你知道的密碼。
DEFAULT_ADMIN_PASSWORD只在「第一次啟動、資料庫還空著」時生效。 之後再去改.env的那一行不會改到已經建立好的帳號密碼。要改密碼,一律從**網頁右上「🔑 改密碼」**操作。
💡 為什麼會有「登入卡關」? 如果安裝時把
.env裡的DEFAULT_ADMIN_PASSWORD刪掉或留空,系統會隨機產生一組密碼,而且只印在容器日誌裡一次。這時就會發生「不知道密碼、進不去」。所以安裝前請確認.env裡這行有填一個你記得住的密碼。萬一已經發生,見 §7 重設密碼。
#5. 日常使用
登入後是一個分頁式的儀表板。地端模式會看到:
- 🖥️ 設備:廠內所有設備的卡片(在線/離線、IP、韌體版本、設定版本、運行時間)。點某台可以開「歷史」看設定快照、做「比較」與「還原」。
- 🏢 客戶:把設備分組歸戶(若你需要分線別/分區管理)。
🔒 授權 與 韌體部署 這兩個分頁是官方雲端才有的功能,地端模式不會顯示,屬正常現象。
#常用 Docker 指令
docker compose ps # 看服務有沒有在跑
docker compose logs -f # 看即時日誌(排錯用)
docker compose down # 停止服務(資料保留,不會遺失)
docker compose up -d # 重新啟動#6. 更新到新版
收到新的下載包時:
- 把新 zip 解壓到同一個資料夾覆蓋(你的
.env會被保留,腳本不會覆蓋已存在的.env)。 - 再執行一次
./install.sh。
你的歷史資料(設定快照、登入帳號密碼)都存在名為 opta-local-data 的 Docker volume,更新不會遺失。
#7. 重設密碼(忘記密碼 / 進不去)
地端伺服器是單機部署,沒有「忘記密碼寄信」機制。若進不去,用下列方式重來一次乾淨的初始化:
⚠️ 下列做法會清掉伺服器上的設備設定快照歷史(不影響設備本身運作,設備下次心跳會重新上報)。若你的快照很重要,請先聯絡 MetaSource 協助。
# 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);密碼是 .env 的 DEFAULT_ADMIN_PASSWORD。若已改過密碼,用改過的。真的進不去走 §7。 |
| 設備沒出現在清單 | 設備要設定把這台伺服器的位址當成備份目標,且和伺服器在同一網段。確認設備端設定。 |
| 8888 埠被占用 | 編輯 .env 的 HOST_PORT(例如改 9000),docker compose up -d 重啟;之後用新埠號連。 |
Exec format error |
下載包的 CPU 架構和你的機器不符。請向 MetaSource 索取對應架構的版本。 |
#9. 安全建議
- 第一次登入立刻改密碼。
- 把
.env的JWT_SECRET改成一串隨機字串(openssl rand -hex 32)。 - 這台機器只在內網提供服務,不要對公網開放 8888 埠。
需要協助請聯絡 MetaSource。