docker-compose.yml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. services:
  2. ldap:
  3. image: osixia/openldap:1.4.0
  4. container_name: ldap_ldap
  5. restart: unless-stopped
  6. hostname: pione.odamus.com
  7. environment:
  8. KEEP_EXISTING_CONFIG: "true"
  9. LDAP_ORGANISATION: "Odamus LDAP"
  10. LDAP_TLS_CRT_FILENAME: "ldap.odamus.com/ldap.odamus.com.cer"
  11. LDAP_TLS_KEY_FILENAME: "ldap.odamus.com/ldap.odamus.com.key"
  12. LDAP_TLS_CA_CRT_FILENAME: "ldap.odamus.com/ca.cer"
  13. LDAP_TLS_DH_PARAM_FILENAME: "ldap.odamus.com/fullchain.cer"
  14. LDAP_DOMAIN: myface.ph
  15. LDAP_ADMIN_PASSWORD: "n6FypB2oNA8WrkDyadyX"
  16. LDAP_CONFIG_PASSWORD: "Xyo6GN1OA9v3izhI7ESP"
  17. LDAP_TLS_ENFORCE: "true"
  18. LDAP_TLS_VERIFY_CLIENT: try
  19. LDAP_REPLICATION: "true"
  20. LDAP_REPLICATION_HOSTS: "#PYTHON2BASH:['ldap://pione.odamus.com', 'ldap://ldap.odamus.com']"
  21. volumes:
  22. - ldap_ldap-bootstrap:/container/service/slapd/assets/config/bootstrap/ldif/custom
  23. - ldap_ldap-certificates:/container/service/slapd/assets/certs
  24. - ldap_ldap-database:/var/lib/ldap
  25. - ldap_ldap-config:/etc/ldap/slapd.d
  26. - /etc/localtime:/etc/localtime
  27. - ldap_backups:/srv/backups
  28. ports:
  29. - "389:389"
  30. - "636:636"
  31. command: --copy-service
  32. networks:
  33. - ldap-net
  34. admin:
  35. image: osixia/phpldapadmin:0.9.0
  36. container_name: ldap_admin
  37. restart: unless-stopped
  38. hostname: ldapadmin.odamus.com
  39. environment:
  40. - PHPLDAPADMIN_HTTPS=false
  41. - PHPLDAPADMIN_LDAP_HOSTS=ldap1
  42. volumes:
  43. - ldap_admin-asserts-config:/container/service/phpldapadmin/assets/config
  44. - ldap_admin:/var/www/phpldapadmin
  45. - /etc/localtime:/etc/localtime
  46. - ldap_backups:/srv/backups
  47. ports:
  48. - "8082:80"
  49. networks:
  50. - ldap-net
  51. - traefik-network
  52. labels:
  53. - "traefik.enable=true"
  54. - traefik.docker.network=traefik-network
  55. - traefik.constraint-label=traefik-network
  56. - traefik.http.routers.ldap-admin-http.middlewares=http-to-https
  57. - traefik.http.routers.ldap-admin-https.rule=Host(`ldapadmin.odamus.com`)
  58. - traefik.http.routers.ldap-admin-https.entrypoints=websecure
  59. - traefik.http.routers.ldap-admin-http.rule=Host(`ldapadmin.odamus.com`)
  60. - traefik.http.routers.ldap-admin-http.entrypoints=web
  61. - "traefik.http.routers.ldap-admin-https.tls.certresolver=mychallenge"
  62. - traefik.http.services.ldap-admin.loadbalancer.server.port=80
  63. openldap:
  64. image: osixia/openldap-backup:1.4.0
  65. container_name: ldap_openldap
  66. restart: unless-stopped
  67. command: --loglevel debug
  68. environment:
  69. LDAP_BACKUP_CONFIG_CRON_EXP: "30 23 * * *"
  70. LDAP_BACKUP_DATA_CRON_EXP: "30 23 * * *"
  71. LDAP_BACKUP_TTL: 7
  72. LDAP_ORGANISATION: "Odamus Ltd"
  73. LDAP_DOMAIN: myface.ph
  74. LDAP_ADMIN_PASSWORD: "n6FypB2oNA8WrkDyadyX"
  75. volumes:
  76. - ldap_backups:/data/backup
  77. - ldap_slapd-data:/var/lib/ldap
  78. - ldap_slapd-config:/etc/ldap/slapd.d
  79. - /etc/localtime:/etc/localtime
  80. networks:
  81. - ldap-net
  82. ssp:
  83. image: dtwardow/ldap-self-service-password
  84. container_name: ldap_ssp
  85. restart: unless-stopped
  86. environment:
  87. - LDAP_URL=ldap.odamus.com
  88. - LDAP_STARTTLS=false
  89. - LDAP_USER=cn=admin,dc=myface,dc=ph
  90. - LDAP_PORT=389
  91. - LDAP_BASE=ou=users,dc=myface,dc=ph
  92. - LDAP_PASS=n6FypB2oNA8WrkDyadyX
  93. - LDAP_AD_MODE=false
  94. - SMTP_HOST=mail.odamus.com
  95. - SMTP_PORT=587
  96. - SMTP_USER=bounce@odamus.com
  97. - SMTP_PASS=8n9oQdXO2fr9Tt59wefr
  98. - SMTP_FROM=bounce@odamus.com
  99. volumes:
  100. - ldap_ssp-lssp.d:/usr/share/self-service-password/conf/conf.d
  101. - /etc/localtime:/etc/localtime
  102. - ldap_backups:/srv/backups
  103. ports:
  104. - "8081:80"
  105. networks:
  106. - ldap-net
  107. - traefik-network
  108. labels:
  109. - "traefik.enable=true"
  110. - traefik.docker.network=traefik-network
  111. - traefik.constraint-label=traefik-network
  112. - traefik.http.routers.ldap-ssp-http.middlewares=http-to-https
  113. - traefik.http.routers.ldap-ssp-https.rule=Host(`ssp.odamus.com`)
  114. - traefik.http.routers.ldap-ssp-https.entrypoints=websecure
  115. - traefik.http.routers.ldap-ssp-http.rule=Host(`ssp.odamus.com`)
  116. - traefik.http.routers.ldap-ssp-http.entrypoints=web
  117. - "traefik.http.routers.ldap-ssp-https.tls.certresolver=mychallenge"
  118. - traefik.http.services.ldap-ssp.loadbalancer.server.port=80
  119. ldap-nginx:
  120. image: nginx:latest
  121. container_name: ldap_ldap-nginx
  122. restart: unless-stopped
  123. volumes:
  124. - /etc/localtime:/etc/localtime
  125. - ldap_html:/usr/share/nginx/html
  126. - ldap_backups:/srv/backups
  127. - ./configs/my_nginx_conf:/etc/nginx/conf.d/default.conf:ro
  128. - ./configs/nginx_conf:/etc/nginx/nginx.conf:ro
  129. networks:
  130. - ldap-net
  131. - traefik-network
  132. labels:
  133. - "traefik.enable=true"
  134. - traefik.docker.network=traefik-network
  135. - traefik.constraint-label=traefik-network
  136. - traefik.http.routers.ldap-http.rule=Host(`ldap.odamus.com`)
  137. - traefik.http.routers.ldap-http.entrypoints=web
  138. - traefik.http.services.ldap.loadbalancer.server.port=80
  139. volumes:
  140. ldap_ldap-bootstrap:
  141. external: true
  142. ldap_ldap-certificates:
  143. external: true
  144. ldap_ldap-database:
  145. external: true
  146. ldap_ldap-config:
  147. external: true
  148. ldap_backups:
  149. external: true
  150. ldap_admin-asserts-config:
  151. external: true
  152. ldap_admin:
  153. external: true
  154. ldap_slapd-data:
  155. external: true
  156. ldap_slapd-config:
  157. external: true
  158. ldap_ssp-lssp.d:
  159. external: true
  160. ldap_html:
  161. external: true
  162. networks:
  163. ldap-net:
  164. name: ldap-net
  165. traefik-network:
  166. external: true