[iDempiere] 快速體驗:用 Docker 十分鐘跑起來(含 GardenWorld 示範資料)

本篇文章更新時間:2026/02/07
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


前三篇我們談了 iDempiere 的歷史、比較和架構概念,都是「用看的」。這篇開始「動手做」— 用 Docker 在十分鐘內把 iDempiere 跑起來,親手體驗 GardenWorld 示範公司。

如果你連 Docker 都不想裝,文章開頭也會介紹線上 Demo 環境,打開瀏覽器就能體驗。

這是 iDempiere 開源 ERP 系列文章 的第 4 篇。

方法一:線上 Demo 環境(零安裝)

iDempiere 社群提供了線上示範環境,可以直接在瀏覽器操作。根據 官方 FAQChuck Boecking 的 Demo 說明,目前可用的 Demo 站點包括:

登入資訊:

帳號 密碼 角色 說明
GardenAdmin GardenAdmin GardenWorld Admin 管理員,可存取所有功能
GardenUser GardenUser GardenWorld User 一般使用者,權限受限

⚠️ 注意:Demo 環境是共用的,你的資料可能被其他使用者修改或刪除,且會定期重置。適合快速瀏覽,不適合深度測試。

方法二:Docker 部署(推薦)

Docker 是最快的本地部署方式。iDempiere 官方提供了 Docker 映像,包含 PostgreSQL 資料庫和預載的 GardenWorld 示範資料。

前置條件

  • 已安裝 Docker 和 Docker Compose
  • 至少 4GB 可用記憶體(建議 8GB)
  • 約 3GB 磁碟空間

一鍵啟動

建立一個 docker-compose.yml 檔案:

version: '3.8'

services:
  idempiere:
    image: idempiereofficial/idempiere:12
    container_name: idempiere
    ports:
      - "8080:8080"
      - "8443:8443"
    environment:
      - IDEMPIERE_DB_HOST=postgres
      - IDEMPIERE_DB_PORT=5432
      - IDEMPIERE_DB_NAME=idempiere
      - IDEMPIERE_DB_USER=adempiere
      - IDEMPIERE_DB_PASSWORD=adempiere
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: idempiereofficial/idempiere-db:12
    container_name: postgres
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=postgres
    volumes:
      - idempiere_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U adempiere -d idempiere"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  idempiere_data:

啟動:

docker compose up -d

第一次啟動需要拉取映像和初始化資料庫,大約需要 3-5 分鐘。可以用以下指令觀察啟動進度:

docker logs -f idempiere

看到類似 Server startediDempiere started 的訊息就代表啟動成功。

存取系統

開啟瀏覽器,造訪:

  • HTTP:http://localhost:8080/webui/
  • HTTPS:https://localhost:8443/webui/(自簽憑證,瀏覽器會跳安全警告)

使用 GardenAdmin / GardenAdmin 登入。

停止與清除

# 停止(保留資料)
docker compose stop

# 啟動(資料保留)
docker compose start

# 完全清除(包含資料庫)
docker compose down -v

第一次登入:該看什麼

成功登入後,你會看到 iDempiere 的 Dashboard。以下是建議的探索路線:

1. 認識介面布局

  • 左上角 Menu Box:主選單,樹狀結構,所有功能入口都在這裡
  • 頂部搜尋列:全域搜尋,可搜尋功能名稱、文件編號、商業夥伴名稱等
  • 右上角使用者區:顯示目前的 Role、Organization、Warehouse,可切換
  • 中間 Dashboard:可自訂的儀表板 Widget

2. 瀏覽主選單結構

點開 Menu Box,你會看到對應到 iDempiere Manual 的選單結構:

  • Partner Relations:商業夥伴管理(CRM)
  • Quote-to-Invoice:銷售流程(報價到發票)
  • Requisition-to-Invoice:採購流程(請購到付款)
  • Returns:退貨處理
  • Open Items:未結項目與收付款管理
  • Material Management:庫存與物料管理
  • Manufacturing Management:製造管理
  • Project Management:專案管理
  • Performance Analysis:績效分析與會計
  • Assets:資產管理

3. 體驗基本操作

以下是幾個建議的體驗操作,可以快速感受 iDempiere 的運作方式:

瀏覽商業夥伴

  1. 在搜尋列輸入「Business Partner」
  2. 開啟 Business Partner 視窗
  3. 瀏覽 GardenWorld 預建的客戶和供應商資料
  4. 注意「Customer」和「Vendor」的勾選 — 同一個商業夥伴可以同時是客戶和供應商

建立一張銷售訂單

  1. 在搜尋列輸入「Sales Order」
  2. 點選「新增」按鈕建立一張新訂單
  3. 選擇一個客戶(Business Partner)
  4. 在明細行(Order Line)加入產品
  5. 觀察系統如何自動帶出定價和稅額
  6. 點選「Complete」完成訂單

查看會計分錄

  1. 完成一張銷售訂單後
  2. 在該訂單的視窗內,找到「Posted」欄位
  3. 點選旁邊的放大鏡圖示查看自動產生的會計分錄
  4. 這就是「文件驅動會計」的實際展現

4. 嘗試切換 Organization

在右上角切換不同的 Organization(例如從 HQ 切到 Store Central),觀察資料的可見範圍如何變化。這能幫助你理解上一篇介紹的多租戶架構。

常見問題

Docker 啟動後無法連線

  • 確認 iDempiere 容器已完全啟動(docker logs -f idempiere
  • 首次啟動可能需要較長時間初始化資料庫
  • 確認 8080 或 8443 port 沒有被其他服務占用

記憶體不足

如果容器啟動後很快就停止,可能是記憶體不足。iDempiere 預設需要約 2GB 的 JVM heap。可以透過環境變數調整:

environment:
  - IDEMPIERE_JAVA_OPTIONS=-Xmx1024m

如何保留資料

上面的 docker-compose.yml 已經透過 volume 掛載保留了 PostgreSQL 資料。只要不執行 docker compose down -v(帶 -v 參數),資料都會保留。

小結

透過 Docker,你可以在幾分鐘內擁有一套完整的 iDempiere 環境,包含 GardenWorld 示範資料。這是了解 iDempiere 最好的方式 — 動手操作遠比閱讀文件有效。

下一篇我們會介紹正式環境的部署方式 — 從零開始在 Linux 伺服器上安裝 iDempiere,適合準備正式導入的團隊。


iDempiere 開源 ERP 系列文章(完整目錄)


參考資料

  1. iDempiere Docker - GitHub
  2. iDempiere Official Docker Hub
  3. docs.idempiere.org - Getting Started
  4. iDempiere Wiki FAQ
  5. Chuck Boecking - The Open Source ERP Demo
  6. iDempiere Wiki Manual
  7. [iDempiere] 開源 ERP 部署上線版 Production 的流程方法 — MXP Blog

Share:

發佈留言

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


文章
Filter
Apply Filters
Mastodon