docker-compose.yml 5.3 KB

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