
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该镜像为yadd/lemonldap-ng-*系列Docker的基础镜像,主要功能是配置LemonLDAP::NG(一款开源SSO解决方案)。它不直接提供服务,而是为其他LLNG相关镜像提供统一的配置环境,支持通过环境变量自定义核心参数,并集成多种配置存储后端。
stable:包含Debian backports的最新lemonldap-ng*软件包及稳定补丁stable-no-s6:与stable相同,但不含https://github.com/just-containers/s6-overlay2.x.x-y:版本化标签,包含指定版本的lemonldap-ng*软件包及补丁版本"y"2.x.x-y-no-s6:与版本化标签相同,但不含S6-overlay此外提供基于日期的标签。
SSODOMAIN)PORTAL)LOGLEVEL)REDIS_SERVER,自动将globalStorage切换为Apache::Session::Browseable::Redis并配置(索引由REDIS_INDEXES指定,默认:"uid mail")PG_SERVER且PostgreSQL目标表为空FORCE_KEY_REGENERATION=yes,自动生成随机配置密钥建议将
FORCE_KEY_REGENERATION设置为yes以确保密钥安全
SSODOMAIN = example.com(SSO域名)CROWDSEC_SERVER = (CrowdSec服务器完整URL,例:[***]CROWDSEC_POLICY = reject(策略类型,可选:warn, reject)CROWDSEC_KEY = (必填,通过cscli bouncers add mylemon获取)CROWDSEC_IGNORE_FAILURES = (可选值:<空> 1,是否忽略CrowdSec连接失败)FORWARDED_BY = (反向代理IP地址,若使用反向代理需设置)FORWARDED_HEADER = X-Forwarded-For(转发请求头字段)PORTAL = http://auth.example.com/(门户完整URL)LISTEN = (FastCGI服务器监听地址,格式:端口号)LLNG_AUDITLOGGER = Lemonldap::NG::Common::AuditLogger::UserLoggerJSON(审计日志器,可选UserLoggerCompat以输出文本日志)LOGLEVEL = info(日志级别,可选:debug, info, notice, warn, error)LOGGER = syslog(日志输出方式,可选:stderr, syslog, loki)USERLOGGER = syslog(用户日志输出方式,可选值同LOGGER)AUDITLOGGER = (审计日志输出方式,无默认值)NGINX_LOG_JSON = (若设置值,将LLNG日志格式改为JSON)LOKIURL = http://localhost:3100/loki/api/v1/push(Loki日志服务器URL)LOKITENANT = (Loki租户ID,无默认值)FORCE_KEY_REGENERATION = no(是否强制重新生成配置密钥)LANGUAGES = 默认LLNG语言列表(通过逗号分隔设置自定义语言,例:fr,en)PG_SERVER = (PostgreSQL服务器地址,无默认值)PG_DATABASE = lemonldapng(数据库名)PG_USER = lemonldap(数据库用户)PG_PASSWORD = lemonldap(数据库密码)PG_TABLE = lmConfig(配置表名)PG_OPTIONS = (PostgreSQL连接选项,无默认值)DBI_CHAIN = 若PG_SERVER存在,则为DBI:Pg:database=$PG_DATABASE;host=$PG_SERVER;$PG_OPTIONS,否则为空DBI_USER = $PG_USER(数据库连接用户)DBI_PASSWORD = $PG_PASSWORD(数据库连接密码)REDIS_SERVER为空且配置数据库为空时使用):
PG_PERSISTENT_SESSIONS_TABLE = psessions(持久会话表)PG_SESSIONS_TABLE = sessions(普通会话表)PG_SAML_TABLE = samlsessions(SAML会话表)PG_OIDC_TABLE = oidcsessions(OIDC会话表)PG_CAS_TABLE = cassessions(CAS会话表)HANDLER_CRON = yes(是否启用handler会话清理)PORTAL_CRON = yes(是否启用portal会话清理)LemonLDAP::NG日志:使用默认syslog时,日志存储于/var/log/syslogd/(S6默认行为)
通过PG_OPTIONS设置额外连接参数,示例:
PG_OPTIONS=port=23456PG_OPTIONS=sslmode=requirePG_OPTIONS=port=23456;sslmode=require通过DBI_CHAIN手动指定完整连接串(需配合DBI_USER和DBI_PASSWORD):
DBI_CHAIN=dbi:Pg:dbname=lemonldapng;host=postgresql.host.tld;port=23456;sslmode=require DBI_USER=pguser DBI_PASSWORD=pgpassword
自2.19.0-1标签起,支持两种方式覆盖LLNG配置参数:
将配置文件放入/over目录:
设置OVERRIDE_<参数名>环境变量,示例(docker-compose.yml):
yamlenvironment: - OVERRIDE_checkXSS=0 - OVERRIDE_exportedVars={"Name":"cn"}
JSON格式仅支持对象和数组
修改子键
使用下划线分隔子键,例:设置ldapExportedVars的uid子键为cn:
yamlenvironment: - OVERRIDE_ldapExportedVars_uid=cn
注意:父级配置键(如ldapExportedVars)必须已存在
以下示例配合yadd/lemonldap-ng-portal并启用CrowdSec:
yamlversion: "3.4" services: pgdb: image: yadd/lemonldap-ng-pg-database environment: - POSTGRES_PASSWORD=zz healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5 redis: image: redis portal: image: yadd/lemonldap-ng-portal environment: - PG_SERVER=pgdb - REDIS_SERVER=redis:6379 - LOGGER=stderr - USERLOGGER=stderr - OVERRIDE_exportedVars={"cn":"cn","mail":"mail","uid":"uid"} - CROWDSEC_SERVER=http://crowdsec:8080 - CROWDSEC_KEY=myrandomstring - CROWDSEC_ACTION=reject depends_on: pgdb: condition: service_healthy redis: condition: service_started crowdsec: image: crowdsecurity/crowdsec environment: - BOUNCER_KEY_llng=myrandomstring
版权所有:
许可协议:https://github.com/guimard/llng-docker/blob/master/LICENSE
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务