You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 line
3.2KB

  1. version: '3.1'
  2. services:
  3. openldap:
  4. build:
  5. context: ./images/rpi-openldap/
  6. image: bingen/rpi-openldap:latest
  7. deploy:
  8. replicas: 1
  9. secrets:
  10. - source: ldap_pwd
  11. target: admin_pwd
  12. uid: '999'
  13. mode: 0440
  14. - source: ldap_mail_pwd
  15. target: mail_pwd
  16. uid: '999'
  17. mode: 0440
  18. - source: ldap_nextcloud_pwd
  19. target: nextcloud_pwd
  20. uid: '999'
  21. mode: 0440
  22. # container_name: openldap
  23. tty: true
  24. stdin_open: true
  25. env_file:
  26. - openldap.env
  27. networks:
  28. - default
  29. #ports:
  30. #- "389:389"
  31. #- "639:639"
  32. #- "8080:80"
  33. volumes:
  34. - ${LDAP_DATA_PATH}:/var/lib/ldap
  35. - ${LDAP_CONFIG_PATH}:/etc/ldap/slapd.d
  36. - ${LDAP_CERTS_PATH}:/container/service/slapd/assets/certs/
  37. hostname: openldap.${LDAP_DOMAIN}
  38. db:
  39. build:
  40. context: ./images/rpi-mariadb/
  41. image: bingen/rpi-mariadb:latest
  42. deploy:
  43. replicas: 1
  44. secrets:
  45. - source: db_pwd
  46. target: admin_pwd
  47. mode: 0440
  48. environment:
  49. - MYSQL_ROOT_PWD_FILE=/run/secrets/admin_pwd
  50. #container_name: mariadb
  51. networks:
  52. - default
  53. #ports:
  54. #- "3306:3306"
  55. volumes:
  56. #- ${DB_CONFIG_PATH}:/etc/mysql
  57. - ${DB_DATA_PATH}:/var/lib/mysql
  58. haproxy:
  59. build:
  60. context: ./images/rpi-haproxy/
  61. image: bingen/rpi-haproxy:latest
  62. depends_on:
  63. # For DNS resolution
  64. - nextcloud
  65. deploy:
  66. replicas: 1
  67. env_file:
  68. - haproxy.env
  69. networks:
  70. - default
  71. ports:
  72. - "80:80"
  73. - "443:443"
  74. mail:
  75. build:
  76. context: ./images/rpi-email/
  77. image: bingen/rpi-mailserver:latest
  78. depends_on:
  79. - openldap
  80. deploy:
  81. replicas: 1
  82. secrets:
  83. - source: ldap_mail_pwd
  84. target: ldap_pwd
  85. uid: '999'
  86. mode: 0440
  87. hostname: ${MAIL_HOSTNAME}.${MAIL_DOMAIN}
  88. #domainname: ${MAIL_DOMAIN}
  89. env_file:
  90. - mail.env
  91. networks:
  92. - default
  93. ports:
  94. - "25:25"
  95. - "143:143"
  96. - "587:587"
  97. - "993:993"
  98. volumes:
  99. - ${MAIL_DATA_VOLUME_PATH}:${MAIL_DATA_PATH}
  100. #- ${MAIL_STATE_VOLUME_PATH}:${MAIL_STATE_PATH}
  101. cap_add:
  102. - NET_ADMIN
  103. nextcloud:
  104. build:
  105. context: ./images/rpi-nextcloud/
  106. args:
  107. - NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}
  108. - NEXTCLOUD_DATA_PATH=${NEXTCLOUD_DATA_PATH}
  109. image: bingen/rpi-nextcloud:latest
  110. depends_on:
  111. - db
  112. - openldap
  113. #- haproxy
  114. secrets:
  115. - source: nextcloud_admin_pwd
  116. target: admin_pwd
  117. uid: '999'
  118. mode: 0440
  119. - source: ldap_nextcloud_pwd
  120. target: ldap_pwd
  121. uid: '999'
  122. mode: 0440
  123. - source: db_pwd
  124. target: mysql_pwd
  125. mode: 0440
  126. env_file:
  127. - nextcloud.env
  128. networks:
  129. - default
  130. ports:
  131. - "8000:80"
  132. - "8443:443"
  133. volumes:
  134. - ${NEXTCLOUD_DATA_VOLUME_PATH}:${NEXTCLOUD_DATA_PATH}
  135. #padlock:
  136. #gitlab:
  137. #turtl:
  138. #wordpress:
  139. #transmission:
  140. #image: lsioarmhf/transmission:15.01.17
  141. secrets:
  142. db_pwd:
  143. external: true
  144. ldap_pwd:
  145. external: true
  146. ldap_mail_pwd:
  147. external: true
  148. ldap_nextcloud_pwd:
  149. external: true
  150. nextcloud_admin_pwd:
  151. external: true
  152. networks:
  153. default:
  154. driver: overlay