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 <