在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

专业版或企业版快速入门

如果您有许可证令牌用于专业版或企业版Metabase,并且您想要在本地运行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访问您的专业版或企业版Metabase。

要将在不同的端口(例如端口12345)上运行您的专业版或企业版Metabase

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

生产安装

Metabase附带一个嵌入式H2数据库,它使用文件系统存储其自身应用程序数据。这意味着,如果您删除容器,您将丢失Metabase应用程序数据(您的查询、仪表板、收集等)。

如果您想在生产中运行Metabase,您需要将应用程序数据存储在一个适用于生产的环境数据库中。

一旦您为Metabase分配了一个数据库,例如Postgres,以存储其应用程序数据,您所需要做的就是向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的其他版本的文档。

想要改进这些文档吗? 提出更改。