docker-compose.yml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. services:
  2. nginx:
  3. image: nginx:latest
  4. ports:
  5. - "8081:80"
  6. volumes:
  7. - ./nginx.conf:/etc/nginx/nginx.conf:ro
  8. networks:
  9. - socialMediaManagerNetwork
  10. depends_on:
  11. - messageBroker
  12. - gateway
  13. - ui
  14. messageBroker:
  15. container_name: messageBroker
  16. image: rabbitmq:management
  17. restart: unless-stopped
  18. ports:
  19. - 5672:5672
  20. - 15672:15672
  21. environment:
  22. RABBITMQ_DEFAULT_USER: username
  23. RABBITMQ_DEFAULT_PASS: password
  24. networks:
  25. - socialMediaManagerNetwork
  26. mongodb:
  27. container_name: mongodb
  28. image: mongo:7
  29. restart: unless-stopped
  30. ports:
  31. - 27018:27017
  32. environment:
  33. MONGO_INITDB_DATABASE: socialmedia
  34. volumes:
  35. - mongodb-data:/data/db
  36. networks:
  37. - socialMediaManagerNetwork
  38. redis:
  39. container_name: redis
  40. image: redis:7-alpine
  41. restart: unless-stopped
  42. ports:
  43. - 6379:6379
  44. volumes:
  45. - redis-data:/data
  46. networks:
  47. - socialMediaManagerNetwork
  48. ai-grammer-correction:
  49. build: ./services/ai_grammar_correction
  50. volumes:
  51. - ./services/ai_grammar_correction:/services/grammar_correction
  52. networks:
  53. - socialMediaManagerNetwork
  54. depends_on:
  55. - messageBroker
  56. command: tail -f /dev/null
  57. gateway:
  58. build: ./services/gateway
  59. volumes:
  60. - ./services/utils:/services/gateway/utils
  61. - ./services/gateway:/services/gateway
  62. - gateway_modules:/services/gateway/node_modules
  63. env_file: .env
  64. networks:
  65. - socialMediaManagerNetwork
  66. depends_on:
  67. - messageBroker
  68. - mongodb
  69. socket:
  70. build: ./services/socket
  71. volumes:
  72. - ./services/utils:/services/socket/utils
  73. - ./services/socket:/services/socket
  74. - socket_modules:/services/socket/node_modules
  75. networks:
  76. - socialMediaManagerNetwork
  77. depends_on:
  78. - messageBroker
  79. formatter:
  80. build: ./services/formatter
  81. volumes:
  82. - ./services/utils:/services/formatter/utils
  83. - ./services/formatter:/services/formatter
  84. - formatter_modules:/services/formatter/node_modules
  85. restart: unless-stopped
  86. networks:
  87. - socialMediaManagerNetwork
  88. depends_on:
  89. - messageBroker
  90. twitter:
  91. build:
  92. context: ./services
  93. dockerfile: twitter/dockerfile
  94. volumes:
  95. - twitter_modules:/services/twitter/node_modules
  96. restart: unless-stopped
  97. env_file: .env
  98. networks:
  99. - socialMediaManagerNetwork
  100. depends_on:
  101. - messageBroker
  102. - mongodb
  103. linkedin:
  104. build: ./services/linkedin
  105. volumes:
  106. - ./services/utils:/services/linkedin/utils
  107. - ./services/linkedin:/services/linkedin
  108. - linkedin_modules:/services/linkedin/node_modules
  109. restart: unless-stopped
  110. env_file: .env
  111. networks:
  112. - socialMediaManagerNetwork
  113. depends_on:
  114. - messageBroker
  115. - mongodb
  116. mastodon:
  117. build:
  118. context: ./services
  119. dockerfile: mastodon/Dockerfile
  120. volumes:
  121. - mastodon_modules:/services/mastodon/node_modules
  122. restart: unless-stopped
  123. env_file: .env
  124. networks:
  125. - socialMediaManagerNetwork
  126. depends_on:
  127. - messageBroker
  128. - mongodb
  129. bluesky:
  130. build:
  131. context: ./services
  132. dockerfile: bluesky/Dockerfile
  133. volumes:
  134. - bluesky_modules:/services/bluesky/node_modules
  135. restart: unless-stopped
  136. env_file: .env
  137. networks:
  138. - socialMediaManagerNetwork
  139. depends_on:
  140. - messageBroker
  141. - mongodb
  142. instagram:
  143. build:
  144. context: ./services
  145. dockerfile: instagram/Dockerfile
  146. volumes:
  147. - instagram_modules:/services/instagram/node_modules
  148. restart: unless-stopped
  149. env_file: .env
  150. networks:
  151. - socialMediaManagerNetwork
  152. depends_on:
  153. - messageBroker
  154. - mongodb
  155. facebook:
  156. build:
  157. context: ./services
  158. dockerfile: facebook/Dockerfile
  159. volumes:
  160. - facebook_modules:/services/facebook/node_modules
  161. restart: unless-stopped
  162. env_file: .env
  163. networks:
  164. - socialMediaManagerNetwork
  165. depends_on:
  166. - messageBroker
  167. - mongodb
  168. feed-aggregator:
  169. build:
  170. context: ./services
  171. dockerfile: feed-aggregator/Dockerfile
  172. volumes:
  173. - feed_aggregator_modules:/services/feed-aggregator/node_modules
  174. restart: unless-stopped
  175. env_file: .env
  176. networks:
  177. - socialMediaManagerNetwork
  178. depends_on:
  179. - messageBroker
  180. - mongodb
  181. - twitter
  182. - linkedin
  183. - mastodon
  184. - bluesky
  185. - instagram
  186. - facebook
  187. scheduler:
  188. build:
  189. context: ./services
  190. dockerfile: scheduler/Dockerfile
  191. volumes:
  192. - scheduler_modules:/services/scheduler/node_modules
  193. restart: unless-stopped
  194. env_file: .env
  195. networks:
  196. - socialMediaManagerNetwork
  197. depends_on:
  198. - mongodb
  199. - redis
  200. ui:
  201. build: ./ui
  202. volumes:
  203. - ./ui:/app/ui
  204. - ui_modules:/app/ui/node_modules
  205. networks:
  206. - socialMediaManagerNetwork
  207. depends_on:
  208. - gateway
  209. networks:
  210. socialMediaManagerNetwork:
  211. driver: bridge
  212. volumes:
  213. mongodb-data:
  214. redis-data:
  215. gateway_modules:
  216. socket_modules:
  217. formatter_modules:
  218. twitter_modules:
  219. linkedin_modules:
  220. mastodon_modules:
  221. bluesky_modules:
  222. instagram_modules:
  223. facebook_modules:
  224. feed_aggregator_modules:
  225. scheduler_modules:
  226. ui_modules: