More work on ldap auth, got memberOf working in the docker ldap test server, playing with config options and structures, #1450
This commit is contained in:
@@ -1,33 +1,25 @@
|
||||
FROM phusion/baseimage:0.9.8
|
||||
MAINTAINER Nick Stenning <nick@whiteink.com>
|
||||
FROM debian:jessie
|
||||
|
||||
ENV HOME /root
|
||||
MAINTAINER Christian Luginbühl <dinke@pimprecords.com>
|
||||
|
||||
# Disable SSH
|
||||
RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh
|
||||
ENV OPENLDAP_VERSION 2.4.40
|
||||
|
||||
# Use baseimage-docker's init system.
|
||||
CMD ["/sbin/my_init"]
|
||||
RUN apt-get update && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
|
||||
slapd=${OPENLDAP_VERSION}* && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Configure apt
|
||||
RUN echo 'deb http://us.archive.ubuntu.com/ubuntu/ precise universe' >> /etc/apt/sources.list
|
||||
RUN apt-get -y update
|
||||
|
||||
# Install slapd
|
||||
RUN LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -y slapd
|
||||
|
||||
# Default configuration: can be overridden at the docker command line
|
||||
ENV LDAP_ROOTPASS toor
|
||||
ENV LDAP_ORG Acme Widgets Inc.
|
||||
ENV LDAP_DOMAIN example.com
|
||||
RUN mv /etc/ldap /etc/ldap.dist
|
||||
|
||||
EXPOSE 389
|
||||
|
||||
RUN mkdir /etc/service/slapd
|
||||
ADD slapd.sh /etc/service/slapd/run
|
||||
VOLUME ["/etc/ldap", "/var/lib/ldap"]
|
||||
|
||||
# To store the data outside the container, mount /var/lib/ldap as a data volume
|
||||
COPY modules/ /etc/ldap.dist/modules
|
||||
|
||||
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
# vim:ts=8:noet:
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
CMD ["slapd", "-d", "32768", "-u", "openldap", "-g", "openldap"]
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
openldap:
|
||||
image: cnry/openldap
|
||||
build: blocks/openldap
|
||||
environment:
|
||||
SLAPD_PASSWORD: grafana
|
||||
SLAPD_DOMAIN: grafana.org
|
||||
SLAPD_ADDITIONAL_MODULES: memberof
|
||||
ports:
|
||||
- "389:389"
|
||||
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
status () {
|
||||
echo "---> ${@}" >&2
|
||||
}
|
||||
|
||||
set -x
|
||||
: LDAP_ROOTPASS=${LDAP_ROOTPASS}
|
||||
: LDAP_DOMAIN=${LDAP_DOMAIN}
|
||||
: LDAP_ORGANISATION=${LDAP_ORGANISATION}
|
||||
|
||||
if [ ! -e /var/lib/ldap/docker_bootstrapped ]; then
|
||||
status "configuring slapd for first run"
|
||||
|
||||
cat <<EOF | debconf-set-selections
|
||||
slapd slapd/internal/generated_adminpw password ${LDAP_ROOTPASS}
|
||||
slapd slapd/internal/adminpw password ${LDAP_ROOTPASS}
|
||||
slapd slapd/password2 password ${LDAP_ROOTPASS}
|
||||
slapd slapd/password1 password ${LDAP_ROOTPASS}
|
||||
slapd slapd/dump_database_destdir string /var/backups/slapd-VERSION
|
||||
slapd slapd/domain string ${LDAP_DOMAIN}
|
||||
slapd shared/organization string ${LDAP_ORGANISATION}
|
||||
slapd slapd/backend string HDB
|
||||
slapd slapd/purge_database boolean true
|
||||
slapd slapd/move_old_database boolean true
|
||||
slapd slapd/allow_ldap_v2 boolean false
|
||||
slapd slapd/no_configuration boolean false
|
||||
slapd slapd/dump_database select when needed
|
||||
EOF
|
||||
|
||||
dpkg-reconfigure -f noninteractive slapd
|
||||
|
||||
touch /var/lib/ldap/docker_bootstrapped
|
||||
else
|
||||
status "found already-configured slapd"
|
||||
fi
|
||||
|
||||
status "starting slapd"
|
||||
set -x
|
||||
exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d 0
|
||||
Reference in New Issue
Block a user