فهرست منبع

Added openldap docker/fig block, ldap auth seems to be complicated and take some time, not sure if that is high prio now

Torkel Ödegaard 11 سال پیش
والد
کامیت
dc16c8c60c
4فایلهای تغییر یافته به همراه92 افزوده شده و 3 حذف شده
  1. 33 0
      docker/blocks/openldap/Dockerfile
  2. 9 0
      docker/blocks/openldap/fig
  3. 42 0
      docker/blocks/openldap/slapd.sh
  4. 8 3
      docker/fig.yml

+ 33 - 0
docker/blocks/openldap/Dockerfile

@@ -0,0 +1,33 @@
+FROM phusion/baseimage:0.9.8
+MAINTAINER Nick Stenning <nick@whiteink.com>
+
+ENV HOME /root
+
+# Disable SSH
+RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh
+
+# Use baseimage-docker's init system.
+CMD ["/sbin/my_init"]
+
+# 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
+
+EXPOSE 389
+
+RUN mkdir /etc/service/slapd
+ADD slapd.sh /etc/service/slapd/run
+
+# To store the data outside the container, mount /var/lib/ldap as a data volume
+
+RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
+
+# vim:ts=8:noet:

+ 9 - 0
docker/blocks/openldap/fig

@@ -0,0 +1,9 @@
+openldap:
+  image: cnry/openldap
+  environment:
+    SLAPD_PASSWORD: grafana
+    SLAPD_DOMAIN: grafana.org
+  ports:
+    - "389:389"
+
+

+ 42 - 0
docker/blocks/openldap/slapd.sh

@@ -0,0 +1,42 @@
+#!/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

+ 8 - 3
docker/fig.yml

@@ -1,5 +1,10 @@
-graphite:
-  build: blocks/docker_graphite
+openldap:
+  image: cnry/openldap
+  environment:
+    SLAPD_PASSWORD: grafana
+    SLAPD_DOMAIN: grafana.org
   ports:
-    - "8776:80"
+    - "389:389"
+
+