Sign inSign up

hashbang/slapd

By hashbang

Updated almost 8 years ago

Image
0

10K+

hashbang/slapd repository overview

Docker Slapd

Deployment

  1. Create persistent data volumes:

    docker volume create slapd-config
    docker volume create slapd-data
    docker volume create slapd-ssl
    
  2. Ensure desired DNS is pointed to target instance

  3. Get letsencrypt certs into slapd-ssl volume:

    docker run \
      --cap-add=NET_ADMIN \
      --name=letsencrypt \
      -v slapd-ssl:/config \
      -e [email protected] \
      -e URL=ldap.hashbang.sh \
      -e VALIDATION=http \
      -p 80:80 \
      -e TZ=UTC \
      linuxserver/letsencrypt
    

    Be sure the files are named: ldap.crt, ldap.key and ca.cert

    They may need to be renamed manually depending on live config expectations.

  4. Install/start systemd unit

    Use the unit file from the root of this repo:

    vim $PWD/docker-slapd.service
    sudo systemctl enable $PWD/docker-slapd.service
    sudo systemctl start docker-slapd.service
    

Configuration

Configuration is all managed within the ldap database itself so you will need to run LDIF files or ldapmodify alter live configuation of ldap rather than traditional configuration management.

Example to load arbitrary ldif file
ldapadd -h ldap.yourdomain.com -p 389 -c -x -D cn=admin,dc=mycorp,dc=com -W -f somefile.ldif
Look at raw state of ldap configuration on disk
docker exec -it slapd cat /etc/ldap/slapd.d/cn\=config.ldif

Backups

Backup all volumes
sudo tar \
  -cvpzf ldap-backup.tar.gz \
  --exclude=/backup.tar.gz \
  --one-file-system /var/lib/docker/volumes/
Restore all volumes
sudo tar  \
  -xvpzf /path/to/backup.tar.gz \
  -C /var/lib/docker/volumes \
  --numeric-owner

Tag summary

Content type

Image

Digest

sha256:0f4e4e334

Size

67.3 MB

Last updated

almost 8 years ago

docker pull hashbang/slapd