{% include 'roles/docker-compose/templates/base.yml.j2' %} application: image: "{{ openldap_image }}:{{ openldap_version }}" container_name: "{{ openldap_name }}" {% include 'roles/docker-container/templates/base.yml.j2' %} {% if openldap_network_expose_local %} ports: - 127.0.0.1:{{ports.localhost.ldap['svc-db-openldap']}}:{{openldap_docker_port_open}} {% endif %} volumes: - 'data:/bitnami/openldap' - '{{openldap_ldif_host_path}}:{{openldap_ldif_docker_path}}:ro' healthcheck: test: > bash -c ' ldapsearch -x -H ldap://localhost:{{ openldap_docker_port_open }} \ -D "{{ ldap.dn.administrator.data }}" -w "{{ ldap.bind_credential }}" -b "{{ ldap.dn.root }}" > /dev/null \ && ldapsearch -Y EXTERNAL -H ldapi:/// \ -b cn=config "(&(objectClass=olcOverlayConfig)(olcOverlay=memberof))" \ | grep "olcOverlay:" | grep -q "memberof" ' {% include 'roles/docker-container/templates/networks.yml.j2' %} {% include 'roles/docker-compose/templates/volumes.yml.j2' %} data: name: "{{ openldap_volume }}" {% include 'roles/docker-compose/templates/networks.yml.j2' %}