# 389ds Deploys [389 Directory Server](https://www.port389.org/) (`389ds/dirsrv`) as an LDAP directory via Docker Compose. After the container starts, the role creates the configured suffix and a set of base organizational units (e.g. `users`, `groups`). ## Requirements - Docker and Docker Compose on the target host (e.g. via `digitalboard.core.base`) - Ansible collection: `community.docker` ## Role variables | Variable | Default | Description | | --- | --- | --- | | `ds389_image` | `docker.io/389ds/dirsrv:3.1` | Container image. | | `ds389_suffix` | `dc=example,dc=com` | Root suffix of the directory. | | `ds389_root_dn` | `cn=Directory Manager` | Directory Manager bind DN. | | `ds389_root_password` | `changeme` | Directory Manager password — **override this**. | | `ds389_instance_name` | `localhost` | Directory server instance name (slapd config dir). | | `ds389_hostname` | `389ds` | Container hostname (defaults to `ds389_service_name`). | | `ds389_backend_network` | `backend` | Docker network LDAP clients connect over (created by Compose). | | `ds389_ldap_port` | `3389` | Published LDAP port (container port 3389). | | `ds389_ldaps_port` | `3636` | Published LDAPS port (container port 3636). | | `ds389_base_ous` | `[users, groups]` | Base OUs created after startup. | ## Example ```yaml - hosts: directory become: true roles: - role: digitalboard.core.389ds vars: ds389_suffix: "dc=example,dc=org" ds389_root_password: "{{ vault_ds389_root_password }}" ``` ## License MIT-0