docker-compose.yml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. version: '2'
  2. services:
  3. pdns-mailcow:
  4. image: andryyy/mailcow-dockerized:pdns
  5. volumes:
  6. - ./data/conf/pdns/:/etc/powerdns/
  7. restart: always
  8. networks:
  9. mailcow-network:
  10. ipv4_address: 172.22.1.2
  11. aliases:
  12. - pdns
  13. mariadb-mailcow:
  14. image: mariadb:latest
  15. depends_on:
  16. - pdns-mailcow
  17. volumes:
  18. - ./data/db/mysql/:/var/lib/mysql/
  19. - ./data/conf/mysql/:/etc/mysql/conf.d/:ro
  20. environment:
  21. - MYSQL_ROOT_PASSWORD=${DBROOT}
  22. - MYSQL_DATABASE=${DBNAME}
  23. - MYSQL_USER=${DBUSER}
  24. - MYSQL_PASSWORD=${DBPASS}
  25. restart: always
  26. networks:
  27. mailcow-network:
  28. aliases:
  29. - mysql
  30. redis-mailcow:
  31. image: redis
  32. depends_on:
  33. - pdns-mailcow
  34. volumes:
  35. - ./data/db/redis/:/data/
  36. restart: always
  37. networks:
  38. mailcow-network:
  39. aliases:
  40. - redis
  41. rspamd-mailcow:
  42. image: andryyy/mailcow-dockerized:rspamd
  43. depends_on:
  44. - pdns-mailcow
  45. volumes:
  46. - ./data/conf/rspamd/override.d/:/etc/rspamd/override.d:ro
  47. - ./data/conf/rspamd/local.d/:/etc/rspamd/local.d:ro
  48. - ./data/conf/rspamd/lua/:/etc/rspamd/lua/:ro
  49. - ./data/dkim/txt/:/etc/rspamd/dkim/txt/:ro
  50. - ./data/dkim/keys/:/etc/rspamd/dkim/keys/:ro
  51. restart: always
  52. dns:
  53. - 172.22.1.2
  54. - 127.0.0.11
  55. dns_search: mailcow-network
  56. networks:
  57. mailcow-network:
  58. aliases:
  59. - rspamd
  60. php-fpm-mailcow:
  61. image: andryyy/mailcow-dockerized:phpfpm
  62. depends_on:
  63. - pdns-mailcow
  64. volumes:
  65. - ./data/web:/web:ro
  66. - ./data/conf/rspamd/dynmaps:/dynmaps:ro
  67. - ./data/dkim/:/shared/dkim/
  68. restart: always
  69. networks:
  70. mailcow-network:
  71. aliases:
  72. - phpfpm
  73. sogo-mailcow:
  74. image: andryyy/mailcow-dockerized:sogo
  75. depends_on:
  76. - pdns-mailcow
  77. - mariadb-mailcow
  78. environment:
  79. - DBNAME=${DBNAME}
  80. - DBUSER=${DBUSER}
  81. - DBPASS=${DBPASS}
  82. volumes:
  83. - ./data/conf/sogo/:/etc/sogo/
  84. restart: always
  85. networks:
  86. mailcow-network:
  87. aliases:
  88. - sogo
  89. rmilter-mailcow:
  90. image: andryyy/mailcow-dockerized:rmilter
  91. depends_on:
  92. - pdns-mailcow
  93. volumes:
  94. - ./data/conf/rmilter/:/etc/rmilter.conf.d/:ro
  95. restart: always
  96. networks:
  97. mailcow-network:
  98. aliases:
  99. - rmilter
  100. dovecot-mailcow:
  101. image: andryyy/mailcow-dockerized:dovecot
  102. depends_on:
  103. - pdns-mailcow
  104. volumes:
  105. - ./data/conf/dovecot:/etc/dovecot:ro
  106. - ./data/vmail:/var/vmail
  107. - ./data/assets/ssl:/etc/ssl/mail/:ro
  108. ports:
  109. - "${IMAP_PORT}:143"
  110. - "${IMAPS_PORT}:993"
  111. - "${POP_PORT}:110"
  112. - "${POPS_PORT}:995"
  113. - "${SIEVE_PORT}:4190"
  114. restart: always
  115. hostname: ${MAILCOW_HOSTNAME}
  116. networks:
  117. mailcow-network:
  118. aliases:
  119. - dovecot
  120. postfix-mailcow:
  121. image: andryyy/mailcow-dockerized:postfix
  122. depends_on:
  123. - pdns-mailcow
  124. volumes:
  125. - ./data/conf/postfix:/opt/postfix/conf:ro
  126. - ./data/assets/ssl:/etc/ssl/mail/:ro
  127. ports:
  128. - "${SMTP_PORT}:25"
  129. - "${SMTPS_PORT}:465"
  130. - "${SUBMISSION_PORT}:587"
  131. restart: always
  132. hostname: ${MAILCOW_HOSTNAME}
  133. dns:
  134. - 172.22.1.2
  135. - 127.0.0.11
  136. dns_search: mailcow-network
  137. networks:
  138. mailcow-network:
  139. aliases:
  140. - postfix
  141. memcached-mailcow:
  142. image: memcached
  143. depends_on:
  144. - pdns-mailcow
  145. restart: always
  146. networks:
  147. mailcow-network:
  148. aliases:
  149. - memcached
  150. nginx-mailcow:
  151. depends_on:
  152. - mariadb-mailcow
  153. - sogo-mailcow
  154. - php-fpm-mailcow
  155. image: andryyy/mailcow-dockerized:nginx
  156. volumes:
  157. - ./data/web:/web:ro
  158. - ./data/conf/rspamd/dynmaps:/dynmaps:ro
  159. - ./data/assets/ssl/:/etc/ssl/mail/:ro
  160. - ./data/conf/nginx/:/etc/nginx/conf.d/:ro
  161. ports:
  162. - "443:443"
  163. restart: always
  164. networks:
  165. mailcow-network:
  166. aliases:
  167. - nginx
  168. networks:
  169. mailcow-network:
  170. driver: bridge
  171. ipam:
  172. driver: default
  173. config:
  174. - subnet: 172.22.1.0/24
  175. gateway: 172.22.1.1