deploy/docker-compose.yml 默认包含三个服务:
gateway(nginx):外部入口dockrev:API + 内嵌 Web UIsupervisor:自我升级执行器与控制台DOCKREV_AUTH_ALLOW_ANONYMOUS_IN_DEV=falseDOCKREV_AUTH_FORWARD_HEADER_NAME,如使用组鉴权再注入 DOCKREV_AUTH_GROUP_HEADER_NAMEDOCKREV_AUTH_ALLOWED_USER 或 DOCKREV_AUTH_ALLOWED_GROUPDOCKREV_DB_PATH)与 supervisor state仓库里额外提供了一套可直接抄的生产示例:
deploy/examples/traefik-authelia/docker-compose.ymldeploy/examples/traefik-authelia/authelia/configuration.ymldeploy/examples/traefik-authelia/authelia/users.ymldeploy/examples/traefik-authelia/README.md这套示例的特点是:所有 Dockrev 请求都按 service/path 直接转发到 Dockrev 或 Supervisor;Traefik 不再通过 webhook 分流、用户/组 ACL、路径 ACL 表达权限边界。Authelia 只负责透明身份透传;Dockrev 自己决定哪些接口匿名、哪些模块返回 401 auth_required。
如果你直接使用仓库里的 Traefik + Authelia 示例,建议保持 traefik:v3.6.1 或更新版本,避免旧版 Docker provider 在新 Docker Engine 上无法发现容器。
DOCKREV_AUTH_ALLOWED_USER / DOCKREV_AUTH_ALLOWED_GROUP 判定是否允许访问。Authelia 侧保持 Dockrev 域名为透明放行:
Traefik 侧把同一套 Forward Auth middleware 挂到 Dockrev 与 Supervisor 路由:
Dockrev / Supervisor 侧继续只信任透传头与单值 allowlist:
这套接法的运行语义是:
https://auth.example.com 建立 Authelia 会话;后续请求若带有会话,Traefik 会把可信 Remote-* 头传给 Dockrev。/supervisor/* 返回自己的 401 auth_required。DOCKREV_AUTH_ALLOWED_USER 与 DOCKREV_AUTH_ALLOWED_GROUP 各只接受一个值;两者同时配置时,命中任意一个即可通过。GET /api/health、GET /api/version、/api/webhooks/*/api/**,包括 GET /api/deploy-check/report/supervisor/*将 compose 中 build 替换为镜像:
注意:
latest 仅在稳定 Release 更新。0.3.5+,避免历史 exec bit 问题。/ 与 /api/*/supervisor/*DOCKREV_SELF_UPGRADE_URL 控制,默认 /supervisor/GET /api/health 与 GET /api/version 返回 200GET /api/deploy-check/report、GET /supervisor/health、GET /supervisor/version 返回 Dockrev 生成的 401 auth_required/supervisor/*常用命令: