docker-compose.yml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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. environment:
  69. - DBNAME=${DBNAME}
  70. - DBUSER=${DBUSER}
  71. - DBPASS=${DBPASS}
  72. restart: always
  73. networks:
  74. mailcow-network:
  75. aliases:
  76. - phpfpm
  77. sogo-mailcow:
  78. image: andryyy/mailcow-dockerized:sogo
  79. depends_on:
  80. - pdns-mailcow
  81. - mariadb-mailcow
  82. environment:
  83. - DBNAME=${DBNAME}
  84. - DBUSER=${DBUSER}
  85. - DBPASS=${DBPASS}
  86. volumes:
  87. - ./data/conf/sogo/:/etc/sogo/
  88. restart: always
  89. networks:
  90. mailcow-network:
  91. aliases:
  92. - sogo
  93. rmilter-mailcow:
  94. image: andryyy/mailcow-dockerized:rmilter
  95. depends_on:
  96. - pdns-mailcow
  97. volumes:
  98. - ./data/conf/rmilter/:/etc/rmilter.conf.d/:ro
  99. restart: always
  100. networks:
  101. mailcow-network:
  102. aliases:
  103. - rmilter
  104. dovecot-mailcow:
  105. image: andryyy/mailcow-dockerized:dovecot
  106. depends_on:
  107. - pdns-mailcow
  108. volumes:
  109. - ./data/conf/dovecot:/etc/dovecot:ro
  110. - ./data/vmail:/var/vmail
  111. - ./data/assets/ssl:/etc/ssl/mail/:ro
  112. ports:
  113. - "${IMAP_PORT}:143"
  114. - "${IMAPS_PORT}:993"
  115. - "${POP_PORT}:110"
  116. - "${POPS_PORT}:995"
  117. - "${SIEVE_PORT}:4190"
  118. restart: always
  119. hostname: ${MAILCOW_HOSTNAME}
  120. networks:
  121. mailcow-network:
  122. aliases:
  123. - dovecot
  124. postfix-mailcow:
  125. image: andryyy/mailcow-dockerized:postfix
  126. depends_on:
  127. - pdns-mailcow
  128. volumes:
  129. - ./data/conf/postfix:/opt/postfix/conf:ro
  130. - ./data/assets/ssl:/etc/ssl/mail/:ro
  131. ports:
  132. - "${SMTP_PORT}:25"
  133. - "${SMTPS_PORT}:465"
  134. - "${SUBMISSION_PORT}:587"
  135. restart: always
  136. hostname: ${MAILCOW_HOSTNAME}
  137. dns:
  138. - 172.22.1.2
  139. - 127.0.0.11
  140. dns_search: mailcow-network
  141. networks:
  142. mailcow-network:
  143. aliases:
  144. - postfix
  145. memcached-mailcow:
  146. image: memcached
  147. depends_on:
  148. - pdns-mailcow
  149. restart: always
  150. networks:
  151. mailcow-network:
  152. aliases:
  153. - memcached
  154. nginx-mailcow:
  155. depends_on:
  156. - mariadb-mailcow
  157. - sogo-mailcow
  158. - php-fpm-mailcow
  159. image: andryyy/mailcow-dockerized:nginx
  160. volumes:
  161. - ./data/web:/web:ro
  162. - ./data/conf/rspamd/dynmaps:/dynmaps:ro
  163. - ./data/assets/ssl/:/etc/ssl/mail/:ro
  164. - ./data/conf/nginx/:/etc/nginx/conf.d/:ro
  165. ports:
  166. - "443:443"
  167. restart: always
  168. networks:
  169. mailcow-network:
  170. aliases:
  171. - nginx
  172. networks:
  173. mailcow-network:
  174. driver: bridge
  175. ipam:
  176. driver: default
  177. config:
  178. - subnet: 172.22.1.0/24
  179. gateway: 172.22.1.1