diff --git a/example_configs/gogs.md b/example_configs/gogs.md new file mode 100644 index 0000000..9d2158d --- /dev/null +++ b/example_configs/gogs.md @@ -0,0 +1,46 @@ +# Gogs LDAP configuration + +Gogs can make use of LDAP and therefore lldap. + +The following configuration is adapted from the example configuration at [their repository](https://github.com/gogs/gogs/blob/main/conf/auth.d/ldap_bind_dn.conf.example). +The example is a container configuration - the file should live within `conf/auth.d/some_name.conf`: + +```yaml +$ cat /srv/git/gogs/conf/auth.d/ldap_bind_dn.conf +id = 101 +type = ldap_bind_dn +name = LDAP BindDN +is_activated = true +is_default = true + +[config] +host = ldap.example.com +port = 6360 +# 0 - Unencrypted, 1 - LDAPS, 2 - StartTLS +security_protocol = 1 +# You either need to install the LDAPS certificate into your trust store - +# Or skip verification altogether - for a restricted container deployment a sane default. +skip_verify = true +bind_dn = uid=,ou=people,dc=example,dc=com +bind_password = `yourPasswordInBackticks` +user_base = dc=example,dc=com +attribute_username = uid +attribute_name = givenName +attribute_surname = sn +attribute_mail = mail +attributes_in_bind = false +# restricts on the `user_base`. +filter = (&(objectClass=person)(uid=%s)) +# The initial administrator has to enable admin privileges. +# This is only possible for users who were logged in once. +# This renders the following filter obsolete; Though its response is accepted by Gogs. +admin_filter = (memberOf=cn=,ou=groups,dc=example,dc=com) +``` + +The `binduser` shall be a member of `lldap_strict_readonly`. +The group `yourAdminGroup` should be adapted to your requirement - Otherwise the entire line can be omitted. +The diamond brackets are for readability and are not required. + +## Tested on Gogs + +v0.14+dev via podman 4.3.1