Public Repository

Last pushed: 2 years ago
Short Description
A Docker image for slapd, the OpenLDAP standalone LDAP daemon
Full Description

slapd - the standalone LDAP daemon

This is a fork of nickstenning/slapd using a different base image (debian:7), making it smaller.

A basic configuration of the OpenLDAP server, slapd, with support for data

This image will initialize a basic configuration of slapd. Most common schemas
are preloaded (all the schemas that come preloaded with the default Ubuntu
Precise install of slapd), but the only record added to the directory will be
the root organisational unit.

You can (and should) configure the following by providing environment variables
to docker run:

  • LDAP_DOMAIN sets the LDAP root domain. (e.g. if you provide
    here, the root of your directory will be dc=foo,dc=bar,dc=com)
  • LDAP_ORGANISATION sets the human-readable name for your organisation (e.g.
    Acme Widgets Inc.)
  • LDAP_ROOTPASS sets the LDAP admin user password (i.e. the password for
    cn=admin,dc=example,dc=com if your domain was

For example, to start a container running slapd for the domain,
with data stored in /data/ldap on the host, use the following:

docker run -v /data/ldap:/var/lib/ldap \
           -e \
           -e LDAP_ORGANISATION="My Mega Corporation" \
           -e LDAP_ROOTPASS=s3cr3tpassw0rd \
           -p 389:389 \
           --name slapd \
           -d xfbs/slapd

You can find out which port the LDAP server is bound to on the host by running
docker ps (or docker port <container_id> 389). You could then load an LDIF
file (to set up your directory) like so:

ldapadd -h localhost -p <host_port> -c -x -D cn=admin,dc=mycorp,dc=com -W -f data.ldif

You can verify is LDAP is working by performing a search on it:

ldapsearch -x -W -D "cn=admin,dc=mycorp,dc=com" -b "dc=mycorp,dc=com"
Docker Pull Command