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.

148 satır
3.1KB

  1. version: '3.1'
  2. services:
  3. openldap:
  4. build:
  5. context: ./images/openldap/
  6. image: bingen/${ARCH}-openldap:latest
  7. tty: true
  8. stdin_open: true
  9. env_file:
  10. - openldap.env
  11. networks:
  12. - default
  13. #ports:
  14. #- "389:389"
  15. #- "639:639"
  16. #- "8080:80"
  17. volumes:
  18. - ${LDAP_DATA_VOLUME_PATH}:/var/lib/ldap
  19. - ${LDAP_CONFIG_VOLUME_PATH}:/etc/ldap/slapd.d
  20. - ${LDAP_CERTS_VOLUME_PATH}:/container/service/slapd/assets/certs/
  21. hostname: openldap.${LDAP_DOMAIN}
  22. db:
  23. build:
  24. context: ./images/mariadb/
  25. image: bingen/${ARCH}-mariadb:latest
  26. env_file:
  27. - mariadb.env
  28. networks:
  29. - default
  30. #ports:
  31. #- "3306:3306"
  32. volumes:
  33. #- ${DB_CONFIG_VOLUME_PATH}:/etc/mysql
  34. - ${DB_DATA_VOLUME_PATH}:/var/lib/mysql
  35. haproxy:
  36. build:
  37. context: ./images/haproxy/
  38. image: bingen/${ARCH}-haproxy:latest
  39. depends_on:
  40. # For DNS resolution
  41. - nextcloud
  42. - gogs
  43. - pihole
  44. env_file:
  45. - haproxy.env
  46. networks:
  47. - default
  48. ports:
  49. - "80:80"
  50. - "443:443"
  51. volumes:
  52. - ${LETSENCRYPT_VOLUME_PATH}:/etc/letsencrypt
  53. mail:
  54. build:
  55. context: ./images/email/
  56. image: bingen/${ARCH}-mailserver:latest
  57. depends_on:
  58. - openldap
  59. hostname: ${MAIL_HOSTNAME}.${MAIL_DOMAIN}
  60. #domainname: ${MAIL_DOMAIN}
  61. env_file:
  62. - mail.env
  63. networks:
  64. - default
  65. ports:
  66. - "25:25"
  67. - "143:143"
  68. - "587:587"
  69. - "993:993"
  70. volumes:
  71. - ${MAIL_DATA_VOLUME_PATH}:${MAIL_DATA_PATH}
  72. #- ${MAIL_STATE_VOLUME_PATH}:${MAIL_STATE_PATH}
  73. cap_add:
  74. - NET_ADMIN
  75. nextcloud:
  76. build:
  77. context: ./images/nextcloud/
  78. args:
  79. - NEXTCLOUD_VERSION=${NEXTCLOUD_VERSION}
  80. - NEXTCLOUD_DATA_PATH=${NEXTCLOUD_DATA_PATH}
  81. - NEXTCLOUD_BACKUP_PATH=${NEXTCLOUD_BACKUP_PATH}
  82. image: bingen/${ARCH}-nextcloud:latest
  83. depends_on:
  84. - db
  85. - openldap
  86. #- haproxy
  87. env_file:
  88. - nextcloud.env
  89. networks:
  90. - default
  91. ports:
  92. - "8000:80"
  93. - "8443:443"
  94. volumes:
  95. - ${NEXTCLOUD_DATA_VOLUME_PATH}:${NEXTCLOUD_DATA_PATH}
  96. - ${NEXTCLOUD_BACKUP_VOLUME_PATH}:${NEXTCLOUD_BACKUP_PATH}
  97. sftp:
  98. build:
  99. context: ./images/sftp/
  100. image: bingen/${ARCH}-sftp
  101. ports:
  102. - "1022:22"
  103. volumes:
  104. - ${PAPERLESS_CONSUMPTION_VOLUME_PATH}:${PAPERLESS_CONSUMPTION_PATH}
  105. env_file:
  106. - sftp.env
  107. gogs:
  108. build:
  109. context: ./images/gogs/
  110. image: bingen/${ARCH}-gogs
  111. depends_on:
  112. - db
  113. - openldap
  114. env_file:
  115. - gogs.env
  116. ports:
  117. - "2080:2080"
  118. - "2443:2443"
  119. - "2022:22"
  120. volumes:
  121. - ${GOGS_DATA_VOLUME_PATH}:/data
  122. pihole:
  123. image: pihole/pihole:latest
  124. env_file:
  125. - pihole.env
  126. # cap_add: # for DHCP
  127. # - NET_ADMIN
  128. ports:
  129. - "53:53/tcp"
  130. - "53:53/udp"
  131. # - "67:67/udp" # for DHCP
  132. - "8314:80"
  133. - "3443:443"
  134. volumes:
  135. - ${PIHOLE_CONFIG_VOLUME_PATH}:/etc/pihole/
  136. - ${PIHOLE_DNSMASQ_VOLUME_PATH}:/etc/dnsmasq.d/
  137. restart: always
  138. networks:
  139. default:
  140. driver: bridge