diff --git a/.gitignore b/.gitignore index e9eac04d..33a6cd32 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ /docs/plato/html /docker/mysql/ /docker/baikal/ +/docker/openldap/ /node_modules/ /npm-debug.log /assets/js/**/*.min.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 26594b2a..b42adf22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ developers to maintain and readjust their custom modifications on the main proje - Add from email/name and reply-to settings in the email.php configuration file (#1465) - Create a new setting that will define the default timezone of the application (#1390) - Integrate CalDAV Protocol for appointment syncing (#209) +- Add LDAP / Active Directory integration (#128) ### Changed diff --git a/docker-compose.yml b/docker-compose.yml index e2dcda17..d9edd982 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -61,4 +61,36 @@ services: - ./docker/baikal:/var/www/html - ./docker/baikal/config:/var/www/baikal/config - ./docker/baikal/data:/var/www/baikal/Specific + + openldap: + image: osixia/openldap:1.5.0 + hostname: openldap + ports: + - "389:389" + - "636:636" + volumes: + - ./docker/openldap/certificates:/container/service/slapd/assets/certs + - ./docker/openldap/slapd/database:/var/lib/ldap + - ./docker/openldap/slapd/config:/etc/ldap/slapd.d + environment: + - LDAP_ORGANISATION=example + - LDAP_DOMAIN=example.org + - LDAP_ADMIN_USERNAME=admin + - LDAP_ADMIN_PASSWORD=admin + - LDAP_CONFIG_PASSWORD=config_pass + - "LDAP_BASE_DN=dc=example,dc=org" + - LDAP_READONLY_USER=true + - LDAP_READONLY_USER_USERNAME=user + - LDAP_READONLY_USER_PASSWORD=password + + phpldapadmin: + image: osixia/phpldapadmin:0.9.0 + hostname: phpldapadmin + ports: + - "8200:80" + environment: + - PHPLDAPADMIN_LDAP_HOSTS=openldap + - PHPLDAPADMIN_HTTPS=false + depends_on: + - openldap diff --git a/docs/docker.md b/docs/docker.md index 1489da62..6d3e387a 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -43,6 +43,10 @@ Baikal, a self-hosted CalDAV server used to develop the CalDAV syncing integrati While activating CalDAV sync with the local Docker-based Baikal, you will need to first create a new Baikal user and then the credentials you defined along with the http://baikal/dav.php URL +Openldap is configured to run through `openldap` container and ports `389` and `636`. + +Phpldapadmin, an admin portal for openldap is available on `http://localhost:8200` (credentials are `cn=admin,dc=example,dc=org` / `admin`). + **Attention:** This configuration is meant to make development easier. It is not intended to server as a production environment! A production image of Easy!Appointments can be found at: https://github.com/alextselegidis/easyappointments-docker