You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

394 lines
17 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. version: '3.4'
  2. # The default docker-compose.override file can use the "localhost" as the external name for testing web apps within the same dev machine.
  3. # The ESHOP_EXTERNAL_DNS_NAME_OR_IP environment variable is taken, by default, from the ".env" file defined like:
  4. # ESHOP_EXTERNAL_DNS_NAME_OR_IP=localhost
  5. # but values present in the environment vars at runtime will always override those defined inside the .env file
  6. # An external IP or DNS name has to be used (instead localhost and the 10.0.75.1 IP) when testing the Web apps and the Xamarin apps from remote machines/devices using the same WiFi, for instance.
  7. services:
  8. seq:
  9. environment:
  10. - ACCEPT_EULA=Y
  11. ports:
  12. - "5340:80"
  13. sql.data:
  14. environment:
  15. - SA_PASSWORD=Pass@word
  16. - ACCEPT_EULA=Y
  17. ports:
  18. - "5433:1433"
  19. nosql.data:
  20. ports:
  21. - "27017:27017"
  22. basket.data:
  23. ports:
  24. - "6379:6379"
  25. rabbitmq:
  26. ports:
  27. - "15672:15672"
  28. - "5672:5672"
  29. identity.api:
  30. environment:
  31. - ASPNETCORE_ENVIRONMENT=Development
  32. - ASPNETCORE_URLS=http://0.0.0.0:80
  33. - SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104
  34. - XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback
  35. - ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
  36. - MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100
  37. - LocationApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5109
  38. - MarketingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5110
  39. - BasketApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5103
  40. - OrderingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5102
  41. - MobileShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5120
  42. - WebShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5121
  43. - WebhooksApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5113
  44. - WebhooksWebClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
  45. - UseCustomizationData=True
  46. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  47. - OrchestratorType=${ORCHESTRATOR_TYPE}
  48. ports:
  49. - "5105:80"
  50. basket.api:
  51. environment:
  52. - ASPNETCORE_ENVIRONMENT=Development
  53. - ASPNETCORE_URLS=http://0.0.0.0:80
  54. - ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basket.data}
  55. - identityUrl=http://identity.api
  56. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  57. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  58. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  59. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  60. - AzureServiceBusEnabled=False
  61. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  62. - OrchestratorType=${ORCHESTRATOR_TYPE}
  63. - UseLoadTest=${USE_LOADTEST:-False}
  64. ports:
  65. - "5103:80"
  66. catalog.api:
  67. environment:
  68. - ASPNETCORE_ENVIRONMENT=Development
  69. - ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word}
  70. - PicBaseUrl=${ESHOP_AZURE_STORAGE_CATALOG_URL:-http://localhost:5202/api/v1/c/catalog/items/[0]/pic/} #Local: You need to open your local dev-machine firewall at range 5100-5110.
  71. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  72. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  73. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  74. - AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
  75. - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
  76. - UseCustomizationData=True
  77. - AzureServiceBusEnabled=False
  78. - AzureStorageEnabled=False
  79. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  80. - OrchestratorType=${ORCHESTRATOR_TYPE}
  81. - GRPC_PORT=81
  82. - PORT=80
  83. ports:
  84. - "5101:80"
  85. - "9101:81"
  86. ordering.api:
  87. environment:
  88. - ASPNETCORE_ENVIRONMENT=Development
  89. - ASPNETCORE_URLS=http://0.0.0.0:80
  90. - ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
  91. - identityUrl=http://identity.api
  92. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  93. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  94. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  95. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  96. - UseCustomizationData=True
  97. - AzureServiceBusEnabled=False
  98. - CheckUpdateTime=30000
  99. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  100. - OrchestratorType=${ORCHESTRATOR_TYPE}
  101. - UseLoadTest=${USE_LOADTEST:-False}
  102. - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
  103. - Serilog__MinimumLevel__Override__Ordering.API=Verbose
  104. ports:
  105. - "5102:80"
  106. marketing.api:
  107. environment:
  108. - ASPNETCORE_ENVIRONMENT=Development
  109. - ASPNETCORE_URLS=http://0.0.0.0:80
  110. - ConnectionString=${ESHOP_AZURE_MARKETING_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word}
  111. - MongoConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosql.data}
  112. - MongoDatabase=MarketingDb
  113. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  114. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  115. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  116. - identityUrl=http://identity.api
  117. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  118. - CampaignDetailFunctionUri=${ESHOP_AZUREFUNC_CAMPAIGN_DETAILS_URI}
  119. - PicBaseUrl=${ESHOP_AZURE_STORAGE_MARKETING_URL:-http://localhost:5110/api/v1/campaigns/[0]/pic/}
  120. - AzureStorageAccountName=${ESHOP_AZURE_STORAGE_MARKETING_NAME}
  121. - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_MARKETING_KEY}
  122. - AzureServiceBusEnabled=False
  123. - AzureStorageEnabled=False
  124. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  125. - OrchestratorType=${ORCHESTRATOR_TYPE}
  126. - UseLoadTest=${USE_LOADTEST:-False}
  127. ports:
  128. - "5110:80"
  129. payment.api:
  130. environment:
  131. - ASPNETCORE_ENVIRONMENT=Development
  132. - ASPNETCORE_URLS=http://0.0.0.0:80
  133. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  134. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  135. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  136. - AzureServiceBusEnabled=False
  137. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  138. - OrchestratorType=${ORCHESTRATOR_TYPE}
  139. - Serilog__MinimumLevel__Override__Payment.API.IntegrationEvents.EventHandling=Verbose
  140. - Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
  141. ports:
  142. - "5108:80"
  143. locations.api:
  144. environment:
  145. - ASPNETCORE_ENVIRONMENT=Development
  146. - ASPNETCORE_URLS=http://0.0.0.0:80
  147. - ConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosql.data}
  148. - Database=LocationsDb
  149. - identityUrl=http://identity.api
  150. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  151. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  152. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  153. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  154. - AzureServiceBusEnabled=False
  155. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  156. - OrchestratorType=${ORCHESTRATOR_TYPE}
  157. - UseLoadTest=${USE_LOADTEST:-False}
  158. ports:
  159. - "5109:80"
  160. webhooks.api:
  161. environment:
  162. - ASPNETCORE_ENVIRONMENT=Development
  163. - ASPNETCORE_URLS=http://0.0.0.0:80
  164. - ConnectionString=${ESHOP_AZURE_WEBHOOKS_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=sa;Password=Pass@word}
  165. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  166. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  167. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  168. - IdentityUrl=http://identity.api
  169. - IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  170. ports:
  171. - "5113:80"
  172. mobileshoppingapigw:
  173. environment:
  174. - ASPNETCORE_ENVIRONMENT=Development
  175. - IdentityUrl=http://identity.api
  176. - urls__basket=http://basket.api
  177. - urls__catalog=http://catalog.api
  178. - urls__orders=http://ordering.api
  179. - urls__identity=http://identity.api
  180. - CatalogUrlHC=http://catalog.api/hc
  181. - OrderingUrlHC=http://ordering.api/hc
  182. - IdentityUrlHC=http://identity.api/hc
  183. - BasketUrlHC=http://basket.api/hc
  184. - MarketingUrlHC=http://marketing.api/hc
  185. - PaymentUrlHC=http://payment.api/hc
  186. - LocationUrlHC=http://locations.api/hc
  187. ports:
  188. - "5200:80"
  189. volumes:
  190. - ./src/ApiGateways/Mobile.Bff.Shopping/apigw:${ESHOP_OCELOT_VOLUME_SPEC:-/app/configuration}
  191. mobilemarketingapigw:
  192. environment:
  193. - ASPNETCORE_ENVIRONMENT=Development
  194. - IdentityUrl=http://identity.api
  195. - CatalogUrlHC=http://catalog.api/hc
  196. - OrderingUrlHC=http://ordering.api/hc
  197. - IdentityUrlHC=http://identity.api/hc
  198. - BasketUrlHC=http://basket.api/hc
  199. - MarketingUrlHC=http://marketing.api/hc
  200. - PaymentUrlHC=http://payment.api/hc
  201. - LocationUrlHC=http://locations.api/hc
  202. ports:
  203. - "5201:80"
  204. volumes:
  205. - ./src/ApiGateways/Mobile.Bff.Marketing/apigw:${ESHOP_OCELOT_VOLUME_SPEC:-/app/configuration}
  206. webshoppingapigw:
  207. environment:
  208. - ASPNETCORE_ENVIRONMENT=Development
  209. - IdentityUrl=http://identity.api
  210. - CatalogUrlHC=http://catalog.api/hc
  211. - OrderingUrlHC=http://ordering.api/hc
  212. - IdentityUrlHC=http://identity.api/hc
  213. - BasketUrlHC=http://basket.api/hc
  214. - MarketingUrlHC=http://marketing.api/hc
  215. - PaymentUrlHC=http://payment.api/hc
  216. - LocationUrlHC=http://locations.api/hc
  217. ports:
  218. - "5202:80"
  219. volumes:
  220. - ./src/ApiGateways/Web.Bff.Shopping/apigw:${ESHOP_OCELOT_VOLUME_SPEC:-/app/configuration}
  221. webmarketingapigw:
  222. environment:
  223. - ASPNETCORE_ENVIRONMENT=Development
  224. - IdentityUrl=http://identity.api
  225. - CatalogUrlHC=http://catalog.api/hc
  226. - OrderingUrlHC=http://ordering.api/hc
  227. - IdentityUrlHC=http://identity.api/hc
  228. - BasketUrlHC=http://basket.api/hc
  229. - MarketingUrlHC=http://marketing.api/hc
  230. - PaymentUrlHC=http://payment.api/hc
  231. - LocationUrlHC=http://locations.api/hc
  232. ports:
  233. - "5203:80"
  234. volumes:
  235. - ./src/ApiGateways/Web.Bff.Marketing/apigw:${ESHOP_OCELOT_VOLUME_SPEC:-/app/configuration}
  236. mobileshoppingagg:
  237. environment:
  238. - ASPNETCORE_ENVIRONMENT=Development
  239. - urls__basket=http://basket.api
  240. - urls__catalog=http://catalog.api
  241. - urls__orders=http://ordering.api
  242. - urls__identity=http://identity.api
  243. - CatalogUrlHC=http://catalog.api/hc
  244. - OrderingUrlHC=http://ordering.api/hc
  245. - IdentityUrlHC=http://identity.api/hc
  246. - BasketUrlHC=http://basket.api/hc
  247. - MarketingUrlHC=http://marketing.api/hc
  248. - PaymentUrlHC=http://payment.api/hc
  249. - LocationUrlHC=http://locations.api/hc
  250. ports:
  251. - "5120:80"
  252. webshoppingagg:
  253. environment:
  254. - ASPNETCORE_ENVIRONMENT=Development
  255. - urls__basket=http://basket.api
  256. - urls__catalog=http://catalog.api
  257. - urls__orders=http://ordering.api
  258. - urls__identity=http://identity.api
  259. - CatalogUrlHC=http://catalog.api/hc
  260. - OrderingUrlHC=http://ordering.api/hc
  261. - IdentityUrlHC=http://identity.api/hc
  262. - BasketUrlHC=http://basket.api/hc
  263. - MarketingUrlHC=http://marketing.api/hc
  264. - PaymentUrlHC=http://payment.api/hc
  265. - LocationUrlHC=http://locations.api/hc
  266. ports:
  267. - "5121:80"
  268. ordering.signalrhub:
  269. environment:
  270. - ASPNETCORE_ENVIRONMENT=Development
  271. - ASPNETCORE_URLS=http://0.0.0.0:80
  272. - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
  273. - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
  274. - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
  275. - AzureServiceBusEnabled=False
  276. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  277. - OrchestratorType=${ORCHESTRATOR_TYPE}
  278. - identityUrl=http://identity.api
  279. ports:
  280. - "5112:80"
  281. webstatus:
  282. environment:
  283. - ASPNETCORE_ENVIRONMENT=Production
  284. - ASPNETCORE_URLS=http://0.0.0.0:80
  285. - HealthChecks-UI__HealthChecks__0__Name=WebMVC HTTP Check
  286. - HealthChecks-UI__HealthChecks__0__Uri=http://webmvc/hc
  287. - HealthChecks-UI__HealthChecks__1__Name=WebSPA HTTP Check
  288. - HealthChecks-UI__HealthChecks__1__Uri=http://webspa/hc
  289. - HealthChecks-UI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check
  290. - HealthChecks-UI__HealthChecks__2__Uri=http://webshoppingagg/hc
  291. - HealthChecks-UI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
  292. - HealthChecks-UI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
  293. - HealthChecks-UI__HealthChecks__4__Name=Mobile Shopping API GW HTTP Check
  294. - HealthChecks-UI__HealthChecks__4__Uri=http://mobileshoppingapigw/hc
  295. - HealthChecks-UI__HealthChecks__5__Name=Mobile Marketing API GW HTTP Check
  296. - HealthChecks-UI__HealthChecks__5__Uri=http://mobilemarketingapigw/hc
  297. - HealthChecks-UI__HealthChecks__6__Name=Web Shopping API GW HTTP Check
  298. - HealthChecks-UI__HealthChecks__6__Uri=http://webshoppingapigw/hc
  299. - HealthChecks-UI__HealthChecks__7__Name=Web Marketing API GW HTTP Check
  300. - HealthChecks-UI__HealthChecks__7__Uri=http://webmarketingapigw/hc
  301. - HealthChecks-UI__HealthChecks__8__Name=Ordering HTTP Check
  302. - HealthChecks-UI__HealthChecks__8__Uri=http://ordering.api/hc
  303. - HealthChecks-UI__HealthChecks__10__Name=Basket HTTP Check
  304. - HealthChecks-UI__HealthChecks__10__Uri=http://basket.api/hc
  305. - HealthChecks-UI__HealthChecks__11__Name=Catalog HTTP Check
  306. - HealthChecks-UI__HealthChecks__11__Uri=http://catalog.api/hc
  307. - HealthChecks-UI__HealthChecks__12__Name=Identity HTTP Check
  308. - HealthChecks-UI__HealthChecks__12__Uri=http://identity.api/hc
  309. - HealthChecks-UI__HealthChecks__13__Name=Marketing HTTP Check
  310. - HealthChecks-UI__HealthChecks__13__Uri=http://marketing.api/hc
  311. - HealthChecks-UI__HealthChecks__14__Name=Locations HTTP Check
  312. - HealthChecks-UI__HealthChecks__14__Uri=http://locations.api/hc
  313. - HealthChecks-UI__HealthChecks__15__Name=Payments HTTP Check
  314. - HealthChecks-UI__HealthChecks__15__Uri=http://payment.api/hc
  315. - HealthChecks-UI__HealthChecks__16__Name=Ordering SignalRHub HTTP Check
  316. - HealthChecks-UI__HealthChecks__16__Uri=http://ordering.signalrhub/hc
  317. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  318. - OrchestratorType=${ORCHESTRATOR_TYPE}
  319. ports:
  320. - "5107:80"
  321. webspa:
  322. environment:
  323. - ASPNETCORE_ENVIRONMENT=Development
  324. - ASPNETCORE_URLS=http://0.0.0.0:80
  325. - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
  326. - PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
  327. - MarketingUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5203
  328. - PurchaseUrlHC=http://webshoppingapigw/hc
  329. - MarketingUrlHC=http://webmarketingapigw/hc
  330. - IdentityUrlHC=http://identity.api/hc
  331. - UseCustomizationData=True
  332. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  333. - OrchestratorType=${ORCHESTRATOR_TYPE}
  334. - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
  335. ports:
  336. - "5104:80"
  337. webmvc:
  338. environment:
  339. - ASPNETCORE_ENVIRONMENT=Development
  340. - ASPNETCORE_URLS=http://0.0.0.0:80
  341. - PurchaseUrl=http://webshoppingapigw
  342. - IdentityUrl=http://10.0.75.1:5105
  343. - MarketingUrl=http://webmarketingapigw
  344. - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
  345. - IdentityUrlHC=http://identity.api/hc
  346. - PurchaseUrlHC=http://webshoppingapigw/hc
  347. - MarketingUrlHC=http://webmarketingapigw/hc
  348. - UseCustomizationData=True
  349. - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
  350. - OrchestratorType=${ORCHESTRATOR_TYPE}
  351. - UseLoadTest=${USE_LOADTEST:-False}
  352. ports:
  353. - "5100:80"
  354. webhooks.client:
  355. environment:
  356. - ASPNETCORE_URLS=http://0.0.0.0:80
  357. - Token=6168DB8D-DC58-4094-AF24-483278923590 # Webhooks are registered with this token (any value is valid) but the client won't check it
  358. - IdentityUrl=http://10.0.75.1:5105
  359. - CallBackUrl=http://localhost:5114
  360. - WebhooksUrl=http://webhooks.api
  361. - SelfUrl=http://webhooks.client/
  362. ports:
  363. - "5114:80"
  364. envoy:
  365. volumes:
  366. - ./src/ApiGateways/Envoy/config:/etc/envoy
  367. ports:
  368. - "51051:51051"