Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

200 lines
4.4KB

  1. version: '3.1'
  2. services:
  3. openldap:
  4. build:
  5. context: ./images/rpi-openldap/
  6. image: bingen/rpi-openldap:latest
  7. secrets:
  8. - source: ldap_pwd
  9. target: admin_pwd
  10. uid: '999'
  11. mode: 0440
  12. - source: ldap_mail_pwd
  13. target: mail_pwd
  14. uid: '999'
  15. mode: 0440
  16. - source: ldap_nextcloud_pwd
  17. target: nextcloud_pwd
  18. uid: '999'
  19. mode: 0440
  20. # container_name: openldap
  21. tty: true
  22. stdin_open: true
  23. env_file:
  24. - openldap.env
  25. networks:
  26. - default
  27. #ports:
  28. #- "389:389"
  29. #- "639:639"
  30. #- "8080:80"
  31. volumes:
  32. - ${LDAP_DATA_VOLUME_PATH}:/var/lib/ldap
  33. - ${LDAP_CONFIG_VOLUME_PATH}:/etc/ldap/slapd.d
  34. - ${LDAP_CERTS_VOLUME_PATH}:/container/service/slapd/assets/certs/
  35. hostname: openldap.${LDAP_DOMAIN}
  36. db:
  37. build:
  38. context: ./images/rpi-mariadb/
  39. image: bingen/rpi-mariadb:latest
  40. secrets:
  41. - source: db_pwd
  42. target: admin_pwd
  43. mode: 0440
  44. environment:
  45. - MYSQL_ROOT_PWD_FILE=/run/secrets/admin_pwd
  46. #container_name: mariadb
  47. networks:
  48. - default
  49. #ports:
  50. #- "3306:3306"
  51. volumes:
  52. #- ${DB_CONFIG_VOLUME_PATH}:/etc/mysql
  53. - ${DB_DATA_VOLUME_PATH}:/var/lib/mysql
  54. haproxy:
  55. build:
  56. context: ./images/rpi-haproxy/
  57. image: bingen/rpi-haproxy:latest
  58. depends_on:
  59. # For DNS resolution
  60. - nextcloud
  61. env_file:
  62. - haproxy.env
  63. networks:
  64. - default
  65. ports:
  66. - "80:80"
  67. - "443:443"
  68. mail:
  69. build:
  70. context: ./images/rpi-email/
  71. image: bingen/rpi-mailserver:latest
  72. depends_on:
  73. - openldap
  74. secrets:
  75. - source: ldap_mail_pwd
  76. target: ldap_pwd
  77. uid: '999'
  78. mode: 0440
  79. hostname: ${MAIL_HOSTNAME}.${MAIL_DOMAIN}
  80. #domainname: ${MAIL_DOMAIN}
  81. env_file:
  82. - mail.env
  83. networks:
  84. - default
  85. ports:
  86. - "25:25"
  87. - "143:143"
  88. - "587:587"
  89. - "993:993"
  90. volumes:
  91. - ${MAIL_DATA_VOLUME_PATH}:${MAIL_DATA_PATH}
  92. #- ${MAIL_STATE_VOLUME_PATH}:${MAIL_STATE_PATH}
  93. cap_add:
  94. - NET_ADMIN
  95. nextcloud:
  96. build:
  97. context: ./images/rpi-nextcloud/
  98. args:
  99. - NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}
  100. - NEXTCLOUD_DATA_PATH=${NEXTCLOUD_DATA_PATH}
  101. - NEXTCLOUD_BACKUP_PATH=${NEXTCLOUD_BACKUP_PATH}
  102. image: bingen/rpi-nextcloud:latest
  103. depends_on:
  104. - db
  105. - openldap
  106. #- haproxy
  107. secrets:
  108. - source: nextcloud_admin_pwd
  109. target: admin_pwd
  110. uid: '999'
  111. mode: 0440
  112. - source: ldap_nextcloud_pwd
  113. target: ldap_pwd
  114. uid: '999'
  115. mode: 0440
  116. - source: db_pwd
  117. target: mysql_pwd
  118. mode: 0440
  119. - source: nextcloud_salt
  120. target: salt
  121. uid: '999'
  122. mode: 0440
  123. - source: nextcloud_secret
  124. target: secret
  125. uid: '999'
  126. mode: 0440
  127. env_file:
  128. - nextcloud.env
  129. networks:
  130. - default
  131. ports:
  132. - "8000:80"
  133. - "8443:443"
  134. volumes:
  135. - ${NEXTCLOUD_DATA_VOLUME_PATH}:${NEXTCLOUD_DATA_PATH}
  136. - ${NEXTCLOUD_BACKUP_VOLUME_PATH}:${NEXTCLOUD_BACKUP_PATH}
  137. paperless:
  138. build:
  139. context: ./images/rpi-paperless/
  140. image: bingen/rpi-paperless
  141. ports:
  142. - "8081:8000"
  143. - "1022:22"
  144. volumes:
  145. - ${PAPERLESS_DATA_VOLUME_PATH}:/usr/src/paperless/data
  146. - ${PAPERLESS_MEDIA_VOLUME_PATH}:/usr/src/paperless/media
  147. - ${PAPERLESS_CONSUMPTION_VOLUME_PATH}:${PAPERLESS_CONSUMPTION_PATH}
  148. - ${PAPERLESS_EXPORT_VOLUME_PATH}:${PAPERLESS_EXPORT_PATH}
  149. secrets:
  150. - source: paperless_webserver_pwd
  151. target: webserver_pwd
  152. uid: '999'
  153. mode: 0440
  154. - source: paperless_passphrase
  155. target: passphrase
  156. uid: '999'
  157. mode: 0440
  158. - source: paperless_ftp_pwd
  159. target: ftp_pwd
  160. uid: '999'
  161. mode: 0440
  162. env_file:
  163. - paperless.env
  164. #gogs:
  165. #wordpress:
  166. #transmission:
  167. #image: lsioarmhf/transmission:15.01.17
  168. secrets:
  169. db_pwd:
  170. external: true
  171. ldap_pwd:
  172. external: true
  173. ldap_mail_pwd:
  174. external: true
  175. ldap_nextcloud_pwd:
  176. external: true
  177. nextcloud_admin_pwd:
  178. external: true
  179. nextcloud_salt:
  180. external: true
  181. nextcloud_secret:
  182. external: true
  183. paperless_webserver_pwd:
  184. external: true
  185. paperless_passphrase:
  186. external: true
  187. paperless_ftp_pwd:
  188. external: true
  189. networks:
  190. default:
  191. driver: overlay