From bd649cb305d6f0790cfdd9251bb6f3675116f2c6 Mon Sep 17 00:00:00 2001 From: AngeD Date: Fri, 1 Dec 2023 15:21:07 +0100 Subject: [PATCH] feat: ldap --- ldap/.env | 11 +++++++++++ ldap/Dockerfile | 11 +++++++++++ ldap/compose-dev.yaml | 9 +++++++++ ldap/compose.yaml | 24 ++++++++++++++++++++++++ ldap/entrypoint.sh | 28 ++++++++++++++++++++++++++++ ldap/install_site | 1 + ldap/user.ldif | 15 +++++++++++++++ 7 files changed, 99 insertions(+) create mode 100644 ldap/.env create mode 100644 ldap/Dockerfile create mode 100644 ldap/compose-dev.yaml create mode 100644 ldap/compose.yaml create mode 100755 ldap/entrypoint.sh create mode 120000 ldap/install_site create mode 100644 ldap/user.ldif diff --git a/ldap/.env b/ldap/.env new file mode 100644 index 0000000..9cc67ae --- /dev/null +++ b/ldap/.env @@ -0,0 +1,11 @@ +BASE_URL=ldap. +EMAIL= + +LDAP_LOG_LEVEL=0 + +LDAP_DOMAIN= +LDAP_ORGANIZATION= +LDAP_ADMIN_PASSWORD= + +LDAPSIZELIMIT=1000 +LDAPTIMELIMIT=60 diff --git a/ldap/Dockerfile b/ldap/Dockerfile new file mode 100644 index 0000000..99a8ad4 --- /dev/null +++ b/ldap/Dockerfile @@ -0,0 +1,11 @@ +FROM debian:12-slim +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + ldap-utils \ + slapd \ + && rm -rf /var/lib/apt/lists/* +COPY entrypoint.sh /usr/local/bin/ +EXPOSE 389 636 +ENTRYPOINT ["entrypoint.sh"] diff --git a/ldap/compose-dev.yaml b/ldap/compose-dev.yaml new file mode 100644 index 0000000..08ecfc0 --- /dev/null +++ b/ldap/compose-dev.yaml @@ -0,0 +1,9 @@ +--- +services: + ldap: + build: . + ports: + - "389:389" + - "636:636" + env_file: + - .env diff --git a/ldap/compose.yaml b/ldap/compose.yaml new file mode 100644 index 0000000..cb5edfa --- /dev/null +++ b/ldap/compose.yaml @@ -0,0 +1,24 @@ +--- +services: + install_site: + build: install_site + environment: + - BASE_URL + - EMAIL + volumes: + - certs:/etc/letsencrypt/ + - certbotroot:/var/www/certbot/ + + ldap: + build: . + ports: + - "389:389" + - "636:636" + env_file: + .env + volumes: + - certs:/etc/letsencrypt/:ro + +volumes: + certs: + external: true diff --git a/ldap/entrypoint.sh b/ldap/entrypoint.sh new file mode 100755 index 0000000..a735bf1 --- /dev/null +++ b/ldap/entrypoint.sh @@ -0,0 +1,28 @@ +#!/bin/bash -e + +LDAPMODIFY=(ldapmodify -Q -YEXTERNAL -Hldapi:///) +SLAPD=(su openldap -c "slapd '-hldap:/// ldaps:/// ldapi:///' -d$LDAP_LOG_LEVEL") + +# https://sources.debian.org/src/openldap/2.5.13+dfsg-5/debian/slapd.templates/ +cat <