Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

213 lines
4.6KB

  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. sftp:
  138. build:
  139. context: ./images/rpi-sftp/
  140. image: bingen/rpi-sftp
  141. ports:
  142. - "1022:22"
  143. volumes:
  144. - ${PAPERLESS_CONSUMPTION_VOLUME_PATH}:${PAPERLESS_CONSUMPTION_PATH}
  145. secrets:
  146. - source: paperless_ftp_pwd
  147. target: ftp_pwd
  148. uid: '999'
  149. mode: 0440
  150. env_file:
  151. - sftp.env
  152. paperless:
  153. build:
  154. context: ./images/rpi-paperless/
  155. image: bingen/rpi-paperless
  156. depends_on:
  157. - sftp
  158. ports:
  159. - "8081:8000"
  160. volumes:
  161. - ${PAPERLESS_CONSUMPTION_VOLUME_PATH}:${PAPERLESS_CONSUMPTION_PATH}
  162. - ${PAPERLESS_DATA_VOLUME_PATH}:/usr/src/paperless/data
  163. - ${PAPERLESS_MEDIA_VOLUME_PATH}:/usr/src/paperless/media
  164. - ${PAPERLESS_EXPORT_VOLUME_PATH}:${PAPERLESS_EXPORT_PATH}
  165. secrets:
  166. - source: paperless_webserver_pwd
  167. target: webserver_pwd
  168. uid: '999'
  169. mode: 0440
  170. - source: paperless_passphrase
  171. target: passphrase
  172. uid: '999'
  173. mode: 0440
  174. env_file:
  175. - paperless.env
  176. #gogs:
  177. #wordpress:
  178. #transmission:
  179. #image: lsioarmhf/transmission:15.01.17
  180. secrets:
  181. db_pwd:
  182. external: true
  183. ldap_pwd:
  184. external: true
  185. ldap_mail_pwd:
  186. external: true
  187. ldap_nextcloud_pwd:
  188. external: true
  189. nextcloud_admin_pwd:
  190. external: true
  191. nextcloud_salt:
  192. external: true
  193. nextcloud_secret:
  194. external: true
  195. paperless_webserver_pwd:
  196. external: true
  197. paperless_passphrase:
  198. external: true
  199. paperless_ftp_pwd:
  200. external: true
  201. networks:
  202. default:
  203. driver: overlay