mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-04-21 23:42:24 +02:00
53 lines
2.0 KiB
Django/Jinja
53 lines
2.0 KiB
Django/Jinja
services:
|
|
|
|
{% include 'roles/docker-oauth2-proxy/templates/container.yml.j2' %}
|
|
|
|
{{applications.ldap.webinterface}}:
|
|
container_name: {{applications.ldap.webinterface}}
|
|
logging:
|
|
driver: journald
|
|
restart: {{docker_restart_policy}}
|
|
{% if applications.ldap.webinterface == 'lam' %}
|
|
image: ghcr.io/ldapaccountmanager/lam:{{applications.ldap.lam.version}}
|
|
ports:
|
|
- 127.0.0.1:{{ports.localhost.http.ldap}}:80
|
|
env_file:
|
|
- "{{docker_compose.directories.env}}lam.env"
|
|
volumes:
|
|
- "{{ lam_profiles_dir }}:/var/lib/ldap-account-manager/config/profiles/"
|
|
|
|
{% elif applications.ldap.webinterface == 'phpldapadmin' %}
|
|
image: leenooks/phpldapadmin:{{applications.ldap.phpldapadmin.version}}
|
|
ports:
|
|
- 127.0.0.1:{{ports.localhost.http.ldap}}:8080
|
|
env_file:
|
|
- "{{docker_compose.directories.env}}phpldapadmin.env"
|
|
{% endif %}
|
|
openldap:
|
|
image: bitnami/openldap:{{applications.ldap.openldap.version}}
|
|
container_name: {{applications.ldap.openldap.hostname}}
|
|
{% include 'roles/docker-compose/templates/services/base.yml.j2' %}
|
|
{% if applications.ldap.openldap.network.public | bool %}
|
|
ports:
|
|
- 127.0.0.1:{{ports.localhost.ldap.openldap}}:{{ldap_docker_port}} # Expose just on localhost so that nginx stream proxy can use it
|
|
{% endif %}
|
|
volumes:
|
|
- 'data:/bitnami/openldap'
|
|
- '{{ldif_host_path}}:{{ldif_docker_path}}:ro' # Mounting all ldif files for import
|
|
healthcheck:
|
|
test: >
|
|
bash -c '
|
|
ldapsearch -x -H ldap://localhost:{{ ldap_docker_port }} \
|
|
-D "{{ ldap.dn.administrator }}" -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 'templates/docker/container/networks.yml.j2' %}
|
|
|
|
{% include 'templates/docker/compose/volumes.yml.j2' %}
|
|
data:
|
|
|
|
{% include 'templates/docker/compose/networks.yml.j2' %}
|