在 Podman 上執行 Metabase

我們的官方 Metabase Docker 映像檔與任何執行 Podman 的系統相容。

開放原始碼快速入門

假設您已安裝並執行 Podman,請取得最新的容器映像檔

podman pull docker.io/metabase/metabase:latest

然後啟動 Metabase 容器

podman run -d -p 3000:3000 --name=metabase docker.io/metabase/metabase:latest

這會依預設在連接埠 3000 上啟動 Metabase 伺服器。

選用:若要檢視記錄檔作為您的開放原始碼 Metabase 初始化,請執行

podman logs -f metabase

啟動完成後,您可以在 https://127.0.0.1:3000 存取您的開放原始碼 Metabase。

若要在不同的連接埠(例如連接埠 12345)上執行您的開放原始碼 Metabase

podman run -d -p 12345:3000 --name=metabase docker.io/metabase/metabase:latest

Pro 或 Enterprise 快速入門

如果您有 授權權杖 可用於 Metabase 的 Pro 或 Enterprise 版本,而且您想要在本機執行 Metabase,請使用此快速入門。

假設您已安裝並執行 Podman,請取得最新的容器映像檔

podman pull docker.io/metabase/metabase-enterprise:latest

然後啟動 Metabase 容器

podman run -d -p 3000:3000 --name=metabase docker.io/metabase/metabase-enterprise:latest

這會依預設在連接埠 3000 上啟動 Metabase 伺服器。

選用:若要檢視記錄檔作為 Metabase 初始化,請執行

podman logs -f metabase

啟動完成後,您可以在 https://127.0.0.1:3000 存取您的 Pro 或 Enterprise Metabase。

若要在不同的連接埠(例如連接埠 12345)上執行您的 Pro 或 Enterprise Metabase

podman run -d -p 12345:3000 --name=metabase docker.io/metabase/metabase-enterprise:latest

生產環境安裝

Metabase 隨附內嵌的 H2 資料庫,該資料庫使用檔案系統來儲存其本身的應用程式資料。這表示,如果您移除容器,您將遺失 Metabase 應用程式資料(您的問題、儀表板、集合等等)。

如果您想要在生產環境中執行 Metabase,您需要將應用程式資料儲存在 生產環境就緒的資料庫 中。

一旦您佈建了資料庫(例如 Postgres),供 Metabase 用於儲存其應用程式資料,您只需要向 Metabase 提供連線資訊和認證,Metabase 即可連線到該資料庫。

在生產環境中執行 Podman

假設您執行下列命令來設定 Postgres 資料庫

createdb metabaseappdb

無需新增任何表格;Metabase 將在啟動時建立這些表格。並且假設可透過 my-database-host:5432 搭配使用者名稱 name 和密碼 password 存取該資料庫。

以下是一個 Podman 命令範例,告知 Metabase 使用該資料庫

podman run -d -p 3000:3000 \
  -e "MB_DB_TYPE=postgres" \
  -e "MB_DB_DBNAME=metabaseappdb" \
  -e "MB_DB_PORT=5432" \
  -e "MB_DB_USER=name" \
  -e "MB_DB_PASS=password" \
  -e "MB_DB_HOST=my-database-host" \
   --name metabase metabase/metabase

請記住,Metabase 將從您的 Podman 容器內部連線,因此請確保:a) 您使用的是完整合格的主機名稱,或者 b) 您已在容器的 /etc/hosts 檔案中設定正確的項目。

移轉至生產環境安裝

如果您已經在使用預設應用程式資料庫 (H2) 執行 Metabase,並且想要使用生產環境就緒的應用程式資料庫,而不會遺失您的應用程式資料(您的問題、儀表板等),請參閱從 H2 移轉至生產資料庫

其他 Podman 維護與組態

將 Metabase 作為服務執行

我們可以使用 systemd 初始化服務來註冊 Metabase 服務,該服務可以自動啟動和停止。在執行此程序之前,請確保 Metabase 容器已在運作中。然後,利用 Podman 的內建功能來產生服務檔案,如下所示

sudo podman generate systemd --new --name metabase > metabase.service

在執行服務之前,請檢查 metabase.service 檔案的內容,以驗證所有精確的組態是否都存在。確認後,透過執行命令將服務檔案定位到適當的位置

sudo mv metabase.service /etc/systemd/system

若要在系統開機期間啟用 Metabase 服務的自動啟動,請執行

sudo systemctl enable metabase

若要驗證系統是否正常運作,請重新啟動系統。系統初始化程序完成後,Metabase 容器應如預期般運作。

自訂 Metabase Jetty 伺服器

您可以透過在 Podman 執行命令中設定環境變數,來使用 自訂 Metabase Jetty Web 伺服器 中的任何自訂設定。

設定 Java 時區

最好設定您的 Java 時區,使其符合您希望所有報表顯示的時區。您可以透過簡單地指定 JAVA_TIMEZONE 環境變數來完成此操作,Metabase 啟動指令碼會接收該變數。例如

podman run -d -p 3000:3000 \
  -e "JAVA_TIMEZONE=US/Pacific" \
  --name metabase metabase/metabase

疑難排解

請參閱疑難排解指南中的執行 Metabase。

繼續設定

現在您已安裝 Metabase,是時候設定它並將其連線到您的資料庫了。

請閱讀其他版本的 Metabase 文件。