Skip to content

v11 新变化

v11 是 Dozzle 至今最大的一次视觉改动。几乎每个界面都按同一套设计语言重绘:扁平、安静、中性的面板,颜色只留给真正需要注意的地方。同时新增了使用 GitHub 和 OIDC 登录,日志流也认识了几种新格式。

全新外观

  • 侧边栏重建为可折叠的分组,带有数量统计;每个容器显示应用图标,状态作为角标叠在图标上;选中行改用淡色底色。合并整个分组的按钮就在分组自身上。
  • 日志流重新设计。时间戳安静且不再加框,单行日志用一个级别圆点,分组条目则用一条竖线;warnerror 行带有淡淡的级别底色,滚动时一眼就能找到。
  • 容器标题栏简化。名称排在最前,镜像是点击即可复制的淡色文字,固定功能改用与侧边栏「已固定」分组一致的图钉。
  • 首页面板命令面板提示浮层attach 与 shell 抽屉以及容器菜单全部重绘。菜单按命名分区归类,不再是一长串列表。
  • 实时日志指示条滚动位置读数是新增的。读数浮在日志流之上,告诉你处在容器生命周期的哪一段,停止滚动后自动消失。
  • 所有菜单都改用了浏览器原生的 popover API,不会再被裁切,也不会被困在滚动面板里。

使用 GitHub 和 OIDC 登录

用户可以用 GitHub 账号或任意 OIDC 提供方(Authentik、Keycloak、Pocket ID、Google)登录。它属于 simple 提供方,因此 users.yml 仍然是允许名单,仍然决定谁能进来。不会自动创建任何账号,密码登录也照常可用。

yaml
environment:
  DOZZLE_AUTH_PROVIDER: simple
  DOZZLE_AUTH_GITHUB_CLIENT_ID: Ov23liABCDEFGHIJKLMN
  DOZZLE_AUTH_GITHUB_CLIENT_SECRET: 0123456789abcdef0123456789abcdef01234567

完整配置见使用 GitHub 和 OIDC 登录

日志

  • 识别 OpenTelemetry 的 severityTextseverityNumber 作为日志级别;当文本不是级别名称时使用 severityNumber
  • 支持解析 Pino 的数字级别(304050)。
  • 字段开关在服务视图和 stack 视图中同样生效,不再只对单个容器有效。
  • 固定的分栏会写进 URL,并排查看的界面因此成为一个可以发给别人的链接。

告警与 Dozzle Cloud

  • 告警会被记住。它们会出现在触发它们的规则上,也会以圆点的形式出现在容器行上,并且刷新后依然存在。
  • 日志流旁边新增了 Cloud 侧栏,包含三个面板:就当前所见提问、实时图表背后的历史指标,以及当前视图中容器触发过的告警。只有连接了 Cloud 时才会挂载,可以收起为边缘上的一个小标签。
  • Cloud 工具按提问者的身份授权,助手能看到的内容与该账号能看到的完全一致。
  • min_level=disabled 不会再连同指标一起停掉。

性能与修复

  • 首批日志行的渲染明显更快。
  • 浏览器已悄悄放弃的日志流现在会重新连接。
  • 容器变更负载中的统计数据点大幅缩小。
  • 合并日志流不会再让容器 store 死锁。

升级说明

会话令牌现在使用随机密钥签名,该密钥保存在数据目录中的 session_secret 文件里,与 users.yml 并列。升级后所有人都会被登出一次。 如果 /data 不可写,Dozzle 仍会启动,改用仅存在于内存中的密钥并给出警告,这意味着每次重启都会丢失会话。

旧密钥仅由 users.yml 推导而来。一旦账号可以通过 OAuth 验证、完全不带密码哈希,这点熵就不够了。

基于 MIT 许可证发布。开源项目,由 Docker OSS 赞助。