superset 解决在 mac 电脑上发送 slack 通知的问题

参考文档: https://superset.apache.org/docs/configuration/alerts-reports/

核心配置:

bash 复制代码
FROM apache/superset:3.1.0

USER root

RUN apt-get update && \
    apt-get install --no-install-recommends -y firefox-esr

ENV GECKODRIVER_VERSION=0.29.0
RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v${GECKODRIVER_VERSION}/geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz && \
    tar -x geckodriver -zf geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz -O > /usr/bin/geckodriver && \
    chmod 755 /usr/bin/geckodriver && \
    rm geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz

RUN pip install --no-cache gevent psycopg2 redis

USER superset

这玩意特别坑, 特别是在 Mac 电脑上.

这里之所以没有选择使用 chromedriver 是因为 chromedriver 对于 macOS 的 M1 芯片支持的还不是很友好.

拉取代码:

bash 复制代码
git clone --depth=1  https://github.com/apache/superset.git

这个框架看似开源,但是实际上坑特别多,很不友好.

关于启动服务的参考文档:https://superset.apache.org/docs/installation/docker-compose

这里面提供了Docker compose 的多种方案, 经过无数次的测试, 只有依赖于官方稳定版本的才最不容易踩坑.

所以, 我本地的启动命令是:

bash 复制代码
export TAG=3.1.0
docker compose -f docker-compose-image-tag.yml up

本文的主要目标集中于如何发送 slack 通知, 所以介绍一下最关键的配置.

首先是浏览器的配置, 我选择使用 Firefox.

python 复制代码
# 无头浏览器的配置,使用谷歌浏览器
# WEBDRIVER_TYPE = "chrome"
WEBDRIVER_TYPE = "firefox"
WEBDRIVER_OPTION_ARGS = [
    "--force-device-scale-factor=2.0",
    "--high-dpi-support=2.0",
    "--headless",
    "--disable-gpu",
    "--disable-dev-shm-usage",
    "--no-sandbox",
    "--disable-setuid-sandbox",
    "--disable-extensions",
]
WEBDRIVER_BASEURL = "http://superset:8088/"  # When using docker compose baseurl should be http://superset_app:8088/
# The base URL for the email report hyperlinks.
WEBDRIVER_BASEURL_USER_FRIENDLY = WEBDRIVER_BASEURL

然后要记得配置 slack:

python 复制代码
# 允许发送通知
ENABLE_ALERTS = True
ENABLE_SCHEDULED_EMAIL_REPORTS = True

# SLACK 的API权限配置
SLACK_API_TOKEN = "xoxb-"

CELERY_CONFIG = CeleryConfig

SCREENSHOT_LOCATE_WAIT = 100
SCREENSHOT_LOAD_WAIT = 600

这些配置完以后, 最难的地方就来了, 那就是怎么安装 Firefox 的驱动.

参考地址: https://github.com/mozilla/geckodriver/releases

由于我的 Docker 是在 macOS 上构建的, 所以需要的驱动也是 arm 架构的.

官方文档中介绍的 0.29 没有 ARM 架构的版本驱动, 所以我找了比较接近的 0.32 的 aarch64, 也就是截图中的第一个.

但是即使你把驱动安装好了, 也还有很多坑, 要解决这几个坑需要花不少时间.

我直接说我的解决方案.

如图:

第一个是安装这个 Firefox 的东西:

bash 复制代码
apt-get install --no-install-recommends -y firefox-esr

第二个是安装驱动:

bash 复制代码
wget https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux-aarch64.tar.gz

tar -xzvf geckodriver-v0.32.0-linux-aarch64.tar.gz

mv ./geckodriver /usr/local/bin/

第三个就是安装 Python 包:

bash 复制代码
pip install --no-cache gevent

以上是一次真实的解决过程.

特此记录.

仅供参考.

相关推荐
寒水馨1 小时前
macOS下载、安装openclaw-v2026.7.1(附安装包OpenClaw-2026.7.1.dmg)
macos·大模型·github·开源软件·ai助手·openclaw·gpt-5.6
飞雪金灵5 小时前
mac电脑 Maven下载安装和配置环境变量
macos·maven·maven下载安装·mac电脑环境
雨声不在5 小时前
macos 12使用docker
macos·docker·容器
一叶龙洲6 小时前
ubuntu26.04 xfce美化成mac
服务器·ubuntu·macos
李小白杂货铺16 小时前
Oh My Zsh 简记
macos·macbook·zsh·主题·插件·oh my zsh·omz
fukai77221 天前
macOS防止休眠的菜单栏小工具
macos
web守墓人1 天前
【go语言】gotar:使用go语言复刻tar命令,并加入7z支持,可独立运行在windows、linux、macos上
linux·macos·golang
之歆2 天前
从 Mac 回到 Windows:用 PowerToys + AutoHotkey 找回熟悉手感
windows·macos
星辰即远方3 天前
字符串合法性检验
macos·ios·cocoa
2501_916008893 天前
苹果上架工具怎么选 不用 Mac 上架 App Store 的几种方案
android·macos·ios·小程序·uni-app·iphone·webview