
theanurin/openldapOpenLDAP 是轻量级目录访问协议(Lightweight Directory Access Protocol)的开源实现。
SLAPD_DEBUG_LEVEL - slapd调试级别(-1表示启用所有调试)。详见调试级别表。SSL_CERT_EXPIRE_TIMEOUT - 证书过期检查超时时间(秒)。默认值:86400CONFIG_LEGO_DOMAIN - 启用Lego并定义OpenLDAP服务器域名
CONFIG_LEGO_DOMAIN_2、CONFIG_LEGO_DOMAIN_3、CONFIG_LEGO_DOMAIN_4、CONFIG_LEGO_DOMAIN_5 - 额外域名CONFIG_LEGO_EMAIL - LEGO账户***CONFIG_LEGO_CHALLENGE_HTTP_01 - 设置为true启用HTTP-01挑战验证。确保容器可从互联网通过80端口访问,并绑定到CONFIG_LEGO_DOMAIN定义的域名CONFIG_LEGO_CHALLENGE_TLS_ALPN_01 - 设置为true启用TLS-ALPN-01挑战验证。确保容器可从互联网通过443端口访问,并绑定到CONFIG_LEGO_DOMAIN定义的域名CONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER - 设置为以下值之一启用DNS-01挑战验证execshellCONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER="exec" CONFIG_LEGO_CHALLENGE_DNS_01_RESOLVERS="ns313.inhostedns.org,ns213.inhostedns.net,ns113.inhostedns.com" EXEC_PATH="/opt/dns-01-solvers/tools.adm.py" EXEC_POLLING_INTERVAL=30 EXEC_PROPAGATION_TIMEOUT=600 ADM_TOOLS_API_LOGIN="***" ADM_TOOLS_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ADM_TOOLS_ROOT_DOMAINS="example.org"
cloudflareshellCONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER="cloudflare" CONFIG_LEGO_CHALLENGE_DNS_01_RESOLVERS="arely.ns.cloudflare.com,cameron.ns.cloudflare.com" CLOUDFLARE_DNS_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx CLOUDFLARE_ZONE_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tcp/80 - 用于ACME挑战的不安全HTTP端点(使用[***]tcp/389 - 不安全LDAP端点(使用ldap://)tcp/443 - 用于ACME挑战的安全HTTP端点(使用[***]tcp/636 - 安全LDAP端点(使用ldaps://)/data/etc - 配置文件存储/data/etc/slapd-init.d - 放置LDIF文件,新实例将通过slapadd一次性部署(适合配置OpenLDAP模块、模式等,但不适合数据库增量更新,详见说明)/data/db - LDAP数据库存储cn=configopenldaptools.adm.py - 适用于Hosting ***shelldocker run --rm --interactive --tty \ --publish 389:389 \ --ulimit nofile=1024:1024 \ --env SLAPD_DEBUG_LEVEL=-1 \ theanurin/openldap
详见快速入门指南。
注意:容器的80端口需对互联网开放,并绑定到CONFIG_LEGO_DOMAIN定义的域名。
shellexport CONFIG_LEGO_OPTS="--server=[***]" # ACME生产环境可省略此行 export CONFIG_LEGO_DOMAIN="ldap.example.org" export CONFIG_LEGO_EMAIL="***" export CONFIG_LEGO_CHALLENGE_HTTP_01="true" mkdir ldap-etc.local ldap-db.local docker run --rm --interactive --tty \ --env CONFIG_LEGO_OPTS --env CONFIG_LEGO_DOMAIN --env CONFIG_LEGO_EMAIL \ --env CONFIG_LEGO_CHALLENGE_HTTP_01 \ --ulimit nofile=1024:1024 \ --mount "type=bind,source=$PWD/ldap-etc.local,target=/data/etc" \ --mount "type=bind,source=$PWD/ldap-db.local,target=/data/db" \ --publish 0.0.0.0:80:80 \ --publish 127.0.0.1:389:389 \ --publish 0.0.0.0:636:636 \ theanurin/openldap
注意:容器的443端口需对互联网开放,并绑定到CONFIG_LEGO_DOMAIN定义的域名。
shellexport CONFIG_LEGO_OPTS="--server=[***]" # ACME生产环境可省略此行 export CONFIG_LEGO_DOMAIN="ldap.example.org" export CONFIG_LEGO_EMAIL="***" export CONFIG_LEGO_CHALLENGE_TLS_ALPN_01="true" mkdir ldap-etc.local ldap-db.local docker run --rm --interactive --tty \ --env CONFIG_LEGO_OPTS --env CONFIG_LEGO_DOMAIN --env CONFIG_LEGO_EMAIL \ --env CONFIG_LEGO_CHALLENGE_TLS_ALPN_01 \ --ulimit nofile=1024:1024 \ --mount "type=bind,source=$PWD/ldap-etc.local,target=/data/etc" \ --mount "type=bind,source=$PWD/ldap-db.local,target=/data/db" \ --publish 127.0.0.1:389:389 \ --publish 0.0.0.0:443:443 \ --publish 0.0.0.0:636:636 \ theanurin/openldap
注意:当无法暴露ACME Web服务器端口时,DNS_01是理想选择。若使用非知名DNS提供商,需编写自定义解析脚本。详见LEGO的DNS提供商。
shellexport CONFIG_LEGO_OPTS="--server=[***]" # ACME生产环境可省略此行 export CONFIG_LEGO_DOMAIN="ldap.example.org" export CONFIG_LEGO_EMAIL="***" export CONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER="cloudflare" export CONFIG_LEGO_CHALLENGE_DNS_01_RESOLVERS="arely.ns.cloudflare.com,cameron.ns.cloudflare.com" export CLOUDFLARE_DNS_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx export CLOUDFLARE_ZONE_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mkdir openldap-etc.local openldap-db.local docker run --rm --interactive --tty \ --env CONFIG_LEGO_OPTS --env CONFIG_LEGO_DOMAIN --env CONFIG_LEGO_EMAIL \ --env CONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER --env CONFIG_LEGO_CHALLENGE_DNS_01_RESOLVERS \ --env CLOUDFLARE_EMAIL --env CLOUDFLARE_DNS_API_TOKEN --env CLOUDFLARE_ZONE_API_TOKEN \ --ulimit nofile=1024:1024 \ --mount "type=bind,source=$PWD/openldap-etc.local,target=/data/etc" \ --mount "type=bind,source=$PWD/openldap-db.local,target=/data/db" \ --publish 127.0.0.1:389:389 \ --publish 0.0.0.0:636:636 \ theanurin/openldap
tools.adm.pyshellexport CONFIG_LEGO_OPTS="--server=[***]" # ACME生产环境可省略此行 export CONFIG_LEGO_DOMAIN="ldap.example.org" export CONFIG_LEGO_EMAIL="***" export CONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER="exec" export CONFIG_LEGO_CHALLENGE_DNS_01_RESOLVERS="ns313.inhostedns.org,ns213.inhostedns.net,ns113.inhostedns.com" export EXEC_POLLING_INTERVAL=30 export EXEC_PROPAGATION_TIMEOUT=600 export EXEC_PATH="/opt/dns-01-solvers/tools.adm.py" export ADM_TOOLS_ROOT_DOMAINS="example.org" export ADM_TOOLS_API_TOKEN_FILE=/run/secrets/admtools_token mkdir ldap-etc.local ldap-db.local docker run --rm --interactive --tty \ --env CONFIG_LEGO_OPTS --env CONFIG_LEGO_DOMAIN --env CONFIG_LEGO_EMAIL \ --env CONFIG_LEGO_CHALLENGE_DNS_01_PROVIDER --env CONFIG_LEGO_CHALLENGE_DNS_01_RESOLVERS \ --env EXEC_PATH --env EXEC_POLLING_INTERVAL --env EXEC_PROPAGATION_TIMEOUT \ --env ADM_TOOLS_ROOT_DOMAINS --env ADM_TOOLS_API_TOKEN_FILE \ --ulimit nofile=1024:1024 \ --mount "type=bind,source=$PWD/ldap-etc.local,target=/data/etc" \ --mount "type=bind,source=$PWD/ldap-db.local,target=/data/db" \ --mount "type=bind,source=/path/to/admtools_token,target=/run/secrets/admtools_token" \ --publish 127.0.0.1:389:389 \ --publish 0.0.0.0:636:636 \ theanurin/openldap



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务