76 lines
1.7 KiB
YAML
76 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
openldap:
|
|
image: osixia/openldap:1.5.0
|
|
container_name: ldap-server
|
|
hostname: ldap.testing.local
|
|
environment:
|
|
# Base domain configuration
|
|
LDAP_ORGANISATION: "Testing Organization"
|
|
LDAP_DOMAIN: "testing.local"
|
|
LDAP_BASE_DN: "dc=testing,dc=local"
|
|
|
|
# Admin credentials (change these for production)
|
|
LDAP_ADMIN_PASSWORD: "admin_password"
|
|
LDAP_CONFIG_PASSWORD: "config_password"
|
|
|
|
# SSL/TLS Configuration
|
|
LDAP_TLS: "true"
|
|
LDAP_TLS_CRT_FILENAME: "server.crt"
|
|
LDAP_TLS_KEY_FILENAME: "server.key"
|
|
LDAP_TLS_CA_CRT_FILENAME: "ca.crt"
|
|
LDAP_TLS_VERIFY_CLIENT: "try"
|
|
|
|
# Logging
|
|
LDAP_LOG_LEVEL: "256"
|
|
|
|
ports:
|
|
# Standard LDAP port
|
|
- "389:389"
|
|
# LDAPS (SSL) port
|
|
- "636:636"
|
|
|
|
volumes:
|
|
# Custom certificates - place your dev-ca certs here
|
|
- ./certs:/container/service/slapd/assets/certs:ro
|
|
|
|
# LDIF files for initial data population
|
|
- ./ldif:/container/service/slapd/assets/config/bootstrap/ldif/custom:ro
|
|
|
|
# Persistent data storage
|
|
- ldap_data:/var/lib/ldap
|
|
- ldap_config:/etc/ldap/slapd.d
|
|
|
|
networks:
|
|
- ldap-network
|
|
|
|
restart: unless-stopped
|
|
|
|
command: --copy-service --loglevel debug
|
|
|
|
# Optional: phpLDAPadmin for web-based management
|
|
phpldapadmin:
|
|
image: osixia/phpldapadmin:0.9.0
|
|
container_name: ldap-admin
|
|
environment:
|
|
PHPLDAPADMIN_LDAP_HOSTS: "openldap"
|
|
PHPLDAPADMIN_HTTPS: "false"
|
|
ports:
|
|
- "8080:80"
|
|
depends_on:
|
|
- openldap
|
|
networks:
|
|
- ldap-network
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
ldap_data:
|
|
driver: local
|
|
ldap_config:
|
|
driver: local
|
|
|
|
networks:
|
|
ldap-network:
|
|
driver: bridge
|