@@ -6,79 +6,99 @@ version: '3'
66# but values present in the environment vars at runtime will always override those defined inside the .env file
77# An external IP or DNS name has to be used when testing the Web apps and the Xamarin apps from remote machines/devices using the same WiFi, for instance.
88#
9+ # IMPORTANT: Note that this compose file uses ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP instead of ESHOP_EXTERNAL_DNS_NAME_OR_IP
910# Set ASPNETCORE_ENVIRONMENT=Development to get errors while testing.
1011#
1112# You need to start it with the following CLI command:
1213# docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
1314
1415services :
15-
16+
1617 basket.api :
1718 environment :
18- - ASPNETCORE_ENVIRONMENT=Production
19+ - ASPNETCORE_ENVIRONMENT=Development
1920 - ASPNETCORE_URLS=http://0.0.0.0:80
2021 - ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basket.data}
2122 - identityUrl=http://identity.api # Local: You need to open your local dev-machine firewall at range 5100-5110.
2223 - IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
2324 - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
25+ - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
26+ - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
2427 - AzureServiceBusEnabled=False
28+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
29+ - OrchestratorType=${ORCHESTRATOR_TYPE}
30+ - UseLoadTest=${USE_LOADTEST:-False}
31+
2532 ports :
2633 - " 5103:80"
2734
2835 catalog.api :
2936 environment :
30- - ASPNETCORE_ENVIRONMENT=Production
37+ - ASPNETCORE_ENVIRONMENT=Development
3138 - ASPNETCORE_URLS=http://0.0.0.0:80
3239 - ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word}
3340 - PicBaseUrl=${ESHOP_AZURE_STORAGE_CATALOG_URL:-http://localhost:5101/api/v1/catalog/items/[0]/pic/} # Local: You need to open your local dev-machine firewall at range 5100-5110.
3441 - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
42+ - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
43+ - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
3544 - AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
3645 - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
3746 - UseCustomizationData=True
3847 - AzureServiceBusEnabled=False
3948 - AzureStorageEnabled=False
49+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
50+ - OrchestratorType=${ORCHESTRATOR_TYPE}
4051 ports :
4152 - " 5101:80"
4253
4354 identity.api :
4455 environment :
45- - ASPNETCORE_ENVIRONMENT=Production
56+ - ASPNETCORE_ENVIRONMENT=Development
4657 - ASPNETCORE_URLS=http://0.0.0.0:80
4758 - SpaClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5104
48- - XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback
49- - ConnectionStrings__DefaultConnection =${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
59+ - XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback # localhost do not work for UWP login, so we have to use "external" IP always
60+ - ConnectionString =${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word}
5061 - MvcClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5100 # Local: You need to open your local dev-machine firewall at range 5100-5110.
5162 - LocationApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5109
5263 - MarketingApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5110
5364 - BasketApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5103
54- - OrderingApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5102
55- - UseCustomizationData=True
65+ - OrderingApiClient=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5102
66+ - UseCustomizationData=True
67+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
68+ - OrchestratorType=${ORCHESTRATOR_TYPE}
5669 ports :
5770 - " 5105:80"
5871
5972 ordering.api :
6073 environment :
61- - ASPNETCORE_ENVIRONMENT=Production
74+ - ASPNETCORE_ENVIRONMENT=Development
6275 - ASPNETCORE_URLS=http://0.0.0.0:80
6376 - ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word}
6477 - identityUrl=http://identity.api # Local: You need to open your local dev-machine firewall at range 5100-5110.
6578 - IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
6679 - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
80+ - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
81+ - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
6782 - UseCustomizationData=True
6883 - AzureServiceBusEnabled=False
6984 - CheckUpdateTime=30000
70- - GracePeriodTime=1
85+ - GracePeriodTime=1
86+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
87+ - OrchestratorType=${ORCHESTRATOR_TYPE}
88+ - UseLoadTest=${USE_LOADTEST:-False}
7189 ports :
7290 - " 5102:80"
7391
7492 marketing.api :
7593 environment :
76- - ASPNETCORE_ENVIRONMENT=Production
94+ - ASPNETCORE_ENVIRONMENT=Development
7795 - ASPNETCORE_URLS=http://0.0.0.0:80
7896 - ConnectionString=${ESHOP_AZURE_MARKETING_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Services.MarketingDb;User Id=sa;Password=Pass@word}
7997 - MongoConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosql.data}
8098 - MongoDatabase=MarketingDb
8199 - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
100+ - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
101+ - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
82102 - identityUrl=http://identity.api # Local: You need to open your local dev-machine firewall at range 5100-5110.
83103 - IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
84104 - CampaignDetailFunctionUri=${ESHOP_AZUREFUNC_CAMPAIGN_DETAILS_URI}
@@ -87,87 +107,123 @@ services:
87107 - AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_MARKETING_KEY}
88108 - AzureServiceBusEnabled=False
89109 - AzureStorageEnabled=False
110+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
111+ - OrchestratorType=${ORCHESTRATOR_TYPE}
112+ - UseLoadTest=${USE_LOADTEST:-False}
90113 ports :
91114 - " 5110:80"
92115
93116 webspa :
94117 environment :
95- - ASPNETCORE_ENVIRONMENT=Production
118+ - ASPNETCORE_ENVIRONMENT=Development
96119 - ASPNETCORE_URLS=http://0.0.0.0:80
97120 - CatalogUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5101
98121 - OrderingUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5102
99- - IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 # Local: You need to open your host's firewall at range 5100-5110 .
122+ - IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 # Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105 .
100123 - BasketUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5103
101124 - MarketingUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5110
125+ - LocationsUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5109
102126 - CatalogUrlHC=http://catalog.api/hc
103127 - OrderingUrlHC=http://ordering.api/hc
104128 - IdentityUrlHC=http://identity.api/hc # Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
105129 - BasketUrlHC=http://basket.api/hc
106130 - MarketingUrlHC=http://marketing.api/hc
131+ - PaymentUrlHC=http://payment.api/hc
107132 - UseCustomizationData=True
133+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
134+ - OrchestratorType=${ORCHESTRATOR_TYPE}
108135 ports :
109136 - " 5104:80"
110137
111138 webmvc :
112139 environment :
113- - ASPNETCORE_ENVIRONMENT=Production
140+ - ASPNETCORE_ENVIRONMENT=Development
114141 - ASPNETCORE_URLS=http://0.0.0.0:80
115142 - CatalogUrl=http://catalog.api
116143 - OrderingUrl=http://ordering.api
117144 - BasketUrl=http://basket.api
118- - IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 # Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
119- - MarketingUrl=http://marketing.api # Local: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser.
120- # Remote: Use ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser.
145+ - LocationsUrl=http://locations.api
146+ - IdentityUrl=http://10.0.75.1:5105
147+ - MarketingUrl=http://marketing.api # Local: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser. #Remote: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser.
148+ - CatalogUrlHC=http://catalog.api/hc
149+ - OrderingUrlHC=http://ordering.api/hc
150+ - IdentityUrlHC=http://identity.api/hc # Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
151+ - BasketUrlHC=http://basket.api/hc
152+ - MarketingUrlHC=http://marketing.api/hc
153+ - PaymentUrlHC=http://payment.api/hc
121154 - UseCustomizationData=True
155+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
156+ - OrchestratorType=${ORCHESTRATOR_TYPE}
157+ - UseLoadTest=${USE_LOADTEST:-False}
122158 ports :
123159 - " 5100:80"
124160
125- sql.data :
126- environment :
127- - MSSQL_SA_PASSWORD=Pass@word
128- - ACCEPT_EULA=Y
129- - MSSQL_PID=Developer
130- ports :
131- - " 5433:1433"
132-
133- nosql.data :
134- ports :
135- - " 27017:27017"
136-
137161 webstatus :
138162 environment :
139- - ASPNETCORE_ENVIRONMENT=Production
163+ - ASPNETCORE_ENVIRONMENT=Development
140164 - ASPNETCORE_URLS=http://0.0.0.0:80
141165 - CatalogUrl=http://catalog.api/hc
142166 - OrderingUrl=http://ordering.api/hc
143167 - BasketUrl=http://basket.api/hc
144168 - IdentityUrl=http://identity.api/hc
145169 - LocationsUrl=http://locations.api/hc
146170 - MarketingUrl=http://marketing.api/hc
171+ - PaymentUrl=http://payment.api/hc
147172 - mvc=http://webmvc/hc
148173 - spa=http://webspa/hc
149-
174+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
175+ - OrchestratorType=${ORCHESTRATOR_TYPE}
150176 ports :
151177 - " 5107:80"
152178
153179 payment.api :
154180 environment :
155- - ASPNETCORE_ENVIRONMENT=Production
156- - ASPNETCORE_URLS=http://0.0.0.0:5108
181+ - ASPNETCORE_ENVIRONMENT=Development
182+ - ASPNETCORE_URLS=http://0.0.0.0:80
157183 - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
184+ - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
185+ - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
158186 - AzureServiceBusEnabled=False
187+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
188+ - OrchestratorType=${ORCHESTRATOR_TYPE}
159189 ports :
160190 - " 5108:80"
161191
162192 locations.api :
163193 environment :
164- - ASPNETCORE_ENVIRONMENT=Production
194+ - ASPNETCORE_ENVIRONMENT=Development
165195 - ASPNETCORE_URLS=http://0.0.0.0:80
166196 - ConnectionString=${ESHOP_AZURE_COSMOSDB:-mongodb://nosql.data}
167197 - Database=LocationsDb
168198 - identityUrl=http://identity.api # Local: You need to open your local dev-machine firewall at range 5100-5110.
169199 - IdentityUrlExternal=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105
170200 - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
201+ - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
202+ - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
171203 - AzureServiceBusEnabled=False
204+ - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
205+ - OrchestratorType=${ORCHESTRATOR_TYPE}
206+ - UseLoadTest=${USE_LOADTEST:-False}
207+ ports :
208+ - " 5109:80"
209+
210+ sql.data :
211+ environment :
212+ - MSSQL_SA_PASSWORD=Pass@word
213+ - ACCEPT_EULA=Y
214+ - MSSQL_PID=Developer
215+ ports :
216+ - " 5433:1433"
217+
218+ nosql.data :
219+ ports :
220+ - " 27017:27017"
221+
222+ basket.data :
223+ ports :
224+ - " 6379:6379"
225+
226+ rabbitmq :
172227 ports :
173- - " 5109:80"
228+ - " 15672:15672"
229+ - " 5672:5672"
0 commit comments