docker-compose.yml 4.7 KB

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