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.

233 lines
4.9KB

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