在 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://:3000 访问您的开源 Metabase。
要在不同的端口上运行您的开源 Metabase,例如 12345 端口
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://:3000 访问您的 Pro 或 Enterprise Metabase。
要在不同的端口上运行您的 Pro 或 Enterprise Metabase,例如 12345 端口
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 run 命令中设置环境变量,使用 自定义 Metabase Jetty Web 服务器中的任何自定义设置。
设置 Java 时区
最好将您的 Java 时区设置为您希望所有报告显示的相应时区。您只需指定 JAVA_TIMEZONE 环境变量即可,Metabase 启动脚本会识别它。例如:
podman run -d -p 3000:3000 \
-e "JAVA_TIMEZONE=US/Pacific" \
--name metabase metabase/metabase
故障排除
请参阅 故障排除指南中的在 Podman 中运行 Metabase。
继续设置
现在您已经安装了 Metabase,是时候设置它并将其连接到您的数据库了。
阅读其他版本的 Metabase 的文档。