-
-
Notifications
You must be signed in to change notification settings - Fork 305
Closed
Labels
questionFurther information is requestedFurther information is requested
Description
Question Report
- 搜索打开和关闭的 GitHub 问题
请在提交问题之前回答这些问题,谢谢。 | Please answer these questions before submitting them. Thank you.
你使用了哪个版本? | Which version did you use?
日期是2025-09-19,具体哪个版本我也不清楚
预期行为 | Expected behavior
因为你页面写了如下内容:
切切注意
2024-10-19 更新:
不再需要下边复杂的配置,只需要更改docker-compose.yaml文件中所有 eryajf.net 为 liql.com 即可。
实际行为 | Actual behavior
我的yaml文件(我只是将eryajf批量替换成了abc,这个网页上直接ctrl+f搜索abc就能看到我所有的修改,其他内容完全没改)
# 更多部署方式详见:http://ldapdoc.abc.net/pages/f081dc/
networks:
go-ldap-admin:
driver: bridge
services:
go-ldap-admin:
image: docker.cnb.cool/opsre/go-ldap-admin
container_name: go-ldap-admin
hostname: go-ldap-admin
restart: always
environment:
WAIT_HOSTS: openldap:389
configs:
- source: go_ldap_admin_config
target: /app/config.yml
ports:
- 8888:8888
volumes:
- ./data/go-ldap-admin:/app/data
depends_on:
- openldap
links:
- openldap:go-ldap-admin-openldap
networks:
- go-ldap-admin
openldap:
image: docker.cnb.cool/znb/images/openldap:1.4.1
container_name: go-ldap-admin-openldap
hostname: go-ldap-admin-openldap
restart: always
environment:
TZ: Asia/Shanghai
LDAP_ORGANISATION: "abc.net"
LDAP_DOMAIN: "abc.net"
LDAP_ADMIN_PASSWORD: "123456"
command: [ '--copy-service' ]
volumes:
- ./data/openldap/database:/var/lib/ldap
- ./data/openldap/config:/etc/ldap/slapd.d
ports:
- 389:389
networks:
- go-ldap-admin
# 按需启用
# phpldapadmin:
# image: docker.cnb.cool/znb/images/phpldapadmin:0.9.0
# container_name: go-ldap-admin-phpldapadmin
# hostname: go-ldap-admin-phpldapadmin
# restart: always
# environment:
# TZ: Asia/Shanghai
# PHPLDAPADMIN_HTTPS: "false"
# PHPLDAPADMIN_LDAP_HOSTS: go-ldap-admin-openldap
# ports:
# - 8091:80
# volumes:
# - ./data/phpadmin:/var/www/phpldapadmin
# depends_on:
# - openldap
# links:
# - openldap:go-ldap-admin-openldap
# networks:
# - go-ldap-admin
configs:
go_ldap_admin_config:
content: |
# delelopment
system:
# 设定模式(debug/release/test,正式版改为release)
mode: debug
# url前缀
url-path-prefix: api
# 程序监听端口
port: 8888
# 是否初始化数据(没有初始数据时使用, 已发布正式版改为false)
init-data: true
logs:
# 日志等级(-1:Debug, 0:Info, 1:Warn, 2:Error, 3:DPanic, 4:Panic, 5:Fatal, -1<=level<=5, 参照zap.level源码)
level: -1
# 日志路径
path: data/logs
# 文件最大大小, M
max-size: 50
# 备份数
max-backups: 100
# 存放时间, 天
max-age: 30
# 是否压缩
compress: false
database:
# 数据库类型 mysql sqlite3
driver: sqlite3
# 数据库连接sqlite3数据文件的路径
source: data/go-ldap-admin.db
mysql:
# 用户名
username: root
# 密码
password: 123456
# 数据库名
database: go_ldap_admin
# 主机地址
host: localhost
# 端口
port: 3306
# 连接字符串参数
query: parseTime=True&loc=Local&timeout=10000ms
# 是否打印日志
log-mode: true
# 数据库表前缀(无需再末尾添加下划线, 程序内部自动处理)
table-prefix: tb
# 编码方式
charset: utf8mb4
# 字符集(utf8mb4_general_ci速度比utf8mb4_unicode_ci快些)
collation: utf8mb4_general_ci
# jwt配置
jwt:
# jwt标识
realm: test jwt
# 服务端密钥
key: secret key
# token过期时间, 小时
timeout: 12000
# 刷新token最大过期时间, 小时
max-refresh: 12000
# 令牌桶限流配置
rate-limit:
# 填充一个令牌需要的时间间隔,毫秒
fill-interval: 50
# 桶容量
capacity: 200
# email configuration
email:
port: '465'
user: 'abc@163.com'
from: 'go-ldap-admin后台'
host: 'smtp.163.com'
# is-ssl: true
pass: 'your password'
# # ldap 配置
ldap:
# ldap服务器地址
url: ldap://openldap:389
# ladp最大连接数设置
max-conn: 10
# ldap服务器基础DN
base-dn: "dc=abc,dc=net"
# ldap管理员DN
admin-dn: "cn=admin,dc=abc,dc=net"
# ldap管理员密码
admin-pass: "123456"
# ldap用户OU
user-dn: "ou=people,dc=abc,dc=net"
# ldap用户初始默认密码
user-init-password: "123456"
# 是否允许更改分组DN
group-name-modify: false
# 是否允许更改用户DN
user-name-modify: false
# 用户密码加密方式 默认为 ssha 还可指定为 clear(表示不加密)
user-password-encryption-type: "ssha"
# 默认邮箱后缀
default-email-suffix: "abc.net"
# 📢 即便用不到如下三段配置信息,也不要删除,否则会有一些奇怪的错误出现
dingtalk:
# 配置获取详细文档参考: http://ldapdoc.abc.net/pages/94f43a/
flag: "dingtalk" # 作为钉钉在平台的标识
app-key: "xxxxxxxxxxxxxxx" # 应用的key
app-secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx" # 应用的secret
agent-id: "12121212" # 目前agent-id未使用到,可忽略
enable-sync: false # 是否开启定时同步钉钉的任务
dept-sync-time: "0 30 2 * * *" # 部门同步任务的时间点 * * * * * * 秒 分 时 日 月 周, 请把时间设置在凌晨 1 ~ 5 点
user-sync-time: "0 30 3 * * *" # 用户同步任务的时间点 * * * * * * 秒 分 时 日 月 周, 请把时间设置在凌晨 1 ~ 5 点,注意请把用户同步的任务滞后于部门同步时间,比如部门为2点,则用户为3点
dept-list: # 配置要同步的部门列表,配置留空则同步所有部门,在开头加^表示不同步此部门
#- "48456726" # 需要同步的部门ID
#- "^61213417" # 不需要同步的部门ID
is-update-syncd: false # 当钉钉用户的邮箱,手机号,部门等信息更新之后,是否同步更新,默认为false,如果你不了解这个字段的含义,则不建议开启
user-leave-range: 0 #按配置天数查离职时间范围内的用户,为0时不限制
wecom:
# 配置获取详细文档参考:http://ldapdoc.abc.net/pages/cf1698/
flag: "wecom" # 作为微信在平台的标识
corp-id: "xxxx" # 企业微信企业ID
agent-id: 1000003 # 企业微信中创建的应用ID
corp-secret: "xxxxx" # 企业微信中创建的应用secret
enable-sync: false # 是否开启定时同步企业微信的任务
dept-sync-time: "0 30 2 * * *" # 部门同步任务的时间点 * * * * * * 秒 分 时 日 月 周, 请把时间设置在凌晨 1 ~ 5 点
user-sync-time: "0 30 3 * * *" # 用户同步任务的时间点 * * * * * * 秒 分 时 日 月 周, 请把时间设置在凌晨 1 ~ 5 点,注意请把用户同步的任务滞后于部门同步时间,比如部门为2点,则用户为3点
is-update-syncd: false # 当企微用户的邮箱,手机号,部门等信息更新之后,是否同步更新,默认为false,如果你不了解这个字段的含义,则不建议开启
feishu:
# 配置获取详细文档参考:http://ldapdoc.abc.net/pages/83c90b/
flag: "feishu" # 作为飞书在平台的标识
app-id: "xxxxxxx" # 飞书的app-id
app-secret: "xxxxxxxxxxx" # 飞书的app-secret
enable-sync: false # 是否开启定时同步飞书的任务
dept-sync-time: "0 20 0 * * *" # 部门同步任务的时间点 * * * * * * 秒 分 时 日 月 周, 请把时间设置在凌晨 1 ~ 5 点
user-sync-time: "0 40 0 * * *" # 用户同步任务的时间点 * * * * * * 秒 分 时 日 月 周, 请把时间设置在凌晨 1 ~ 5 点,注意请把用户同步的任务滞后于部门同步时间,比如部门为2点,则用户为3点
dept-list: # 配置要同步的部门列表,配置留空则同步所有部门,在开头加^表示不同步此部门
#- "48456726" # 需要同步的部门ID
#- "^61213417" # 不需要同步的部门ID
is-update-syncd: false # 当飞书用户的邮箱,手机号,部门等信息更新之后,是否同步更新,默认为false,如果你不了解这个字段的含义,则不建议开启拉起后openldap一直在重启,报错如下:
*** CONTAINER_LOG_LEVEL = 3 (info)
*** Copy /container/service to /container/run/service
*** Search service in CONTAINER_SERVICE_DIR = /container/run/service :
*** link /container/run/service/:ssl-tools/startup.sh to /container/run/startup/:ssl-tools
*** link /container/run/service/slapd/startup.sh to /container/run/startup/slapd
*** link /container/run/service/slapd/process.sh to /container/run/process/slapd/run
*** Set environment for startup files
*** Environment files will be proccessed in this order :
Caution: previously defined variables will not be overriden.
/container/environment/99-default/default.startup.yaml
/container/environment/99-default/default.yaml
To see how this files are processed and environment variables values,
run this container with '--loglevel debug'
*** Running /container/run/startup/:ssl-tools...
*** Running /container/run/startup/slapd...
openldap user and group adjustments
get current openldap uid/gid info inside container
-------------------------------------
openldap GID/UID
-------------------------------------
User uid: 911
User gid: 911
uid/gid changed: false
-------------------------------------
updating file uid/gid ownership
No certificate file and certificate key provided, generate:
/container/run/service/slapd/assets/certs/ldap.crt and /container/run/service/slapd/assets/certs/ldap.key
2025/09/29 19:11:40 [INFO] generate received request
2025/09/29 19:11:40 [INFO] received CSR
2025/09/29 19:11:40 [INFO] generating key: ecdsa-384
2025/09/29 19:11:40 [INFO] encoded CSR
2025/09/29 19:11:40 [INFO] signed certificate with serial number 67188463505359869631170546485061268715307986542
Link /container/run/service/:ssl-tools/assets/default-ca/default-ca.pem to /container/run/service/slapd/assets/certs/ca.crt
Start OpenLDAP...
Waiting for OpenLDAP to start...
Add TLS config...
Disable replication config...
*** /container/run/startup/slapd failed with status 49
*** Killing all processes...我不修改yaml的任何配置,可以拉起成功,但是我要修改basedn,无论改成什么都是这种情况,我把所有的issue都看了,依然无法解决
我承认我的技术比较菜,但还是希望能得到作者的帮助,感谢
原因分析(如果可以) | Cause analysis (if possible)
我理解问题的原因出在这里,我虽然改了yaml的basedn,但是服务端的yaml没变过来,但是我不知道怎么改
问题重现步骤 | Steps to reproduce the problem
使用我提供的yaml文件,然后执行docker compose up -d,再执行docker ps,就看到openldap一直在重启,然后执行docker logs go-ldap-admin-openldap,就能看到我提供的结果了
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested