
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
SATOSA(Secure Attribute Token Service)是一款可配置的代理工具,核心功能是在不同的认证协议之间进行转换,如SAML2、OpenID Connect和OAuth2。该镜像提供了SATOSA的容器化部署方案,便于快速集成到身份认证架构中,支持多种操作系统基础镜像和硬件架构。
8.5.1, 8.5, 8, latest:
启动SATOSA实例的基本命令:
shdocker run --name some-satosa -d docker.xuanyuan.run/satosa
如需从主机访问实例(无需容器IP),使用端口映射:
shdocker run --name some-satosa -p 80:8080 -d docker.xuanyuan.run/satosa
注意:入口脚本在启动时会将SAML2元数据输出到容器日志,元数据中包含实例的基础URL(如
https://example.com)。浏览器必须能通过HTTPS访问实例。
SATOSA镜像的配置文件存储在 /etc/satosa 目录。为保证实例间配置一致性(尤其是SAML2实体ID及相关密钥材料),需通过https://docs.docker.com/storage/持久化配置。
默认情况下,若第一个参数为命令行标志,入口脚本会运行https://gunicorn.org/。例如,使用绑定挂载提供X.509证书和私钥,并启用HTTPS运行Gunicorn:
shdocker run --name some-satosa -p 443:8443 \ -v /etc/letsencrypt/live/some-satosa/fullchain.pem:/etc/https.crt \ -v /etc/letsencrypt/live/some-satosa/privkey.pem:/etc/https.key \ -d docker.xuanyuan.run/satosa \ -b0.0.0.0:8443 --certfile /etc/https.crt --keyfile /etc/https.key satosa.wsgi:app
若第一个参数为命令(非标志),入口脚本会运行该命令。例如,启动容器内的交互式非特权shell:
shdocker run -it --name some-satosa docker.xuanyuan.run/satosa bash
入口脚本使用环境变量生成初始配置,所有变量均为可选。变量值可通过https://docs.docker.com/engine/swarm/secrets/读取:在变量名后添加 _FILE(如 STATE_ENCRYPTION_KEY_FILE),并将其值设为密钥文件路径(如 /run/secrets/state_encryption_key)。
BASE_URL
SATOSA必须托管在网站根目录。此变量指定网站基础URL,默认值为 http://example.com。若设置,基础URL必须包含协议和主机名,不含尾部斜杠或路径,例如 https://idproxy.example.com(不可为 https://idproxy.example.com/ 或 https://idproxy.example.com/satosa)。
STATE_ENCRYPTION_KEY
SATOSA使用加密Cookie跟踪认证流程进度。此变量可选设置状态Cookie的加密密钥,必须为字母数字值(如 12345SameAsMyLuggage)。若未指定,将自动生成32字符随机密钥。
SAML2_BACKEND_DISCO_SRV
在SAML信任联邦中,SATOSA通过SAML发现服务让用户选择身份提供商。此变量设置发现服务URL,默认值为https://seamlessaccess.org/。
SAML2_BACKEND_CERT 和 SAML2_BACKEND_KEY
SATOSA默认SAML后端微服务作为服务提供者(依赖方),向用户选择的身份提供商请求认证和属性。该微服务使用公钥加密技术签名认证请求并解密响应。这两个变量提供PEM格式的密钥材料,若未指定,将使用 BASE_URL 的主机名部分自动生成2048位RSA密钥对。
SAML2_FRONTEND_CERT 和 SAML2_FRONTEND_KEY
SATOSA默认SAML前端微服务作为身份提供商(凭证服务提供者),处理来自可信网站的认证请求并返回用户属性,使用公钥加密技术签名认证响应。这两个变量提供PEM格式的密钥材料,若未指定,将使用 BASE_URL 的主机名部分自动生成2048位RSA密钥对。
SATOSA镜像提供多种版本,适用于不同场景:
satosa:<version>(默认版本)基于Debian系统(如bookworm),是通用镜像。若不确定需求,建议使用此版本。适合作为临时容器(挂载源码启动应用)或构建其他镜像的基础。标签中包含的 bookworm 等名称是Debian发行版的代号,指定基础系统版本,如需安装额外包,建议显式指定以减少版本变更带来的影响。
satosa:<version>-alpine基于https://alpinelinux.org(来自 https://hub.docker.com/_/alpine),以极小的镜像体积为主要优势(基础镜像约5MB)。适合对镜像大小有严格要求的场景。注意:该变体使用https://musl.libc.org而非https://www.etalabs.net/compare_libcs.html,部分依赖glibc的软件可能存在兼容性问题。此外,Alpine镜像通常不包含额外工具(如 git 或 bash),需在Dockerfile中自行安装(参考 https://hub.docker.com/_/alpine/ 了解包安装方法)。
查看https://github.com/IdentityPython/SATOSA/blob/master/LICENSE。与所有Docker镜像一样,本镜像可能包含其他软件,需遵守各自许可(如基础系统的Bash等)。自动检测的额外许可信息可在https://github.com/docker-library/repo-info/tree/master/repos/satosa中找到。使用本镜像时,用户需确保遵守所有包含软件的相关许可。===SHORT_DESC=== SATOSA是一款可配置的代理工具,用于在SAML2、OpenID Connect和OAuth2等不同认证协议之间进行转换。 ===FULL_DESC===# SATOSA Docker镜像文档
SATOSA(Secure Attribute Token Service)是一款可配置的代理工具,核心功能是在不同的认证协议之间进行转换,如SAML2、OpenID Connect、OAuth2等。该镜像提供容器化部署方案,便于快速集成到身份认证架构中,支持多种操作系统基础和硬件架构。
8.5.1, 8.5, 8, latest:
shdocker run --name some-satosa -d docker.xuanyuan.run/satosa
如需从主机访问,映射容器端口(默认8080):
shdocker run --name some-satosa -p 80:8080 -d docker.xuanyuan.run/satosa
注意:启动时容器日志会输出SAML2元数据,元数据中的基础URL需确保浏览器可通过HTTPS访问。
配置存储路径:/etc/satosa,需通过https://docs.docker.com/storage/持久化,以保留SAML2实体ID及密钥材料。
默认运行Gunicorn(若参数为命令行标志),示例:启用HTTPS运行
shdocker run --name some-satosa -p 443:8443 \ -v /etc/letsencrypt/live/some-satosa/fullchain.pem:/etc/https.crt \ -v /etc/letsencrypt/live/some-satosa/privkey.pem:/etc/https.key \ -d docker.xuanyuan.run/satosa \ -b0.0.0.0:8443 --certfile /etc/https.crt --keyfile /etc/https.key satosa.wsgi:app
若参数为命令,直接运行命令(如启动交互式shell):
sh
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务