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.
 
 
 
 
 
 

321 lines
13 KiB

version: '3.4'
# The default docker-compose.override file can use the "localhost" as the external name for testing web apps within the same dev machine.
# The ESHOP_EXTERNAL_DNS_NAME_OR_IP environment variable is taken, by default, from the ".env" file defined like:
# ESHOP_EXTERNAL_DNS_NAME_OR_IP=localhost
# but values present in the environment vars at runtime will always override those defined inside the .env file
# 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.
services:
seq:
environment:
- ACCEPT_EULA=Y
ports:
- "5340:80"
sqldata:
environment:
- SA_PASSWORD=Pass@word
- ACCEPT_EULA=Y
ports:
- "5433:1433"
volumes:
- eshop-sqldata:/var/opt/mssql
nosqldata:
ports:
- "27017:27017"
volumes:
- eshop-nosqldata:/data/db
basketdata:
ports:
- "6379:6379"
volumes:
- eshop-basketdata:/data
rabbitmq:
ports:
- "15672:15672"
- "5672:5672"
identity-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104
- XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback
- ConnectionStrings__IdentityDb=${ESHOP_AZURE_IDENTITY_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word;Encrypt=False;TrustServerCertificate=true}
- MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100
- BasketApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5103
- OrderingApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5102
- MobileShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5120
- WebShoppingAggClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5121
- WebhooksApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5113
- WebhooksWebClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
ports:
- "5105:80"
basket-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- Kestrel__Endpoints__HTTP__Url=http://0.0.0.0:80
- Kestrel__Endpoints__GRPC__Url=http://0.0.0.0:81
- Kestrel__Endpoints__GRPC__Protocols=Http2
- ConnectionStrings__Redis=${ESHOP_AZURE_REDIS_BASKET_DB:-basketdata}
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- Identity__Url=http://identity-api
- Identity__ExternalUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- PATH_BASE=/basket-api
ports:
- "5103:80"
- "9103:81"
catalog-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- Kestrel__Endpoints__HTTP__Url=http://0.0.0.0:80
- Kestrel__Endpoints__GRPC__Url=http://0.0.0.0:81
- Kestrel__Endpoints__GRPC__Protocols=Http2
- ConnectionStrings__CatalogDb=${ESHOP_AZURE_CATALOG_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word;Encrypt=False;TrustServerCertificate=true}
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- PicBaseUrl=${ESHOP_STORAGE_CATALOG_URL}
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
- AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
- UseCustomizationData=True
- AzureStorageEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- PATH_BASE=/catalog-api
ports:
- "5101:80"
- "9101:81"
ordering-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- Kestrel__Endpoints__HTTP__Url=http://0.0.0.0:80
- Kestrel__Endpoints__GRPC__Url=http://0.0.0.0:81
- Kestrel__Endpoints__GRPC__Protocols=Http2
- ConnectionStrings__OrderingDb=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;Encrypt=False;TrustServerCertificate=true}
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- Identity__Url=http://identity-api
- Identity__ExternalUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- CheckUpdateTime=30000
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- PATH_BASE=/ordering-api
- GRPC_PORT=81
- PORT=80
ports:
- "5102:80"
- "9102:81"
ordering-backgroundtasks:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- ConnectionStrings__OrderingDb=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;Encrypt=False;TrustServerCertificate=true}
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- CheckUpdateTime=30000
- GracePeriodTime=1
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports:
- "5111:80"
payment-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
ports:
- "5108:80"
webhooks-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- ConnectionStrings__WebhooksDb=${ESHOP_AZURE_WEBHOOKS_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=sa;Password=Pass@word;Encrypt=False;TrustServerCertificate=true}
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- Identity__Url=http://identity-api
- Identity__ExternalUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
ports:
- "5113:80"
mobileshoppingapigw:
volumes:
- ./ApiGateways/Envoy/config/mobileshopping:/etc/envoy
ports:
- "5200:80"
- "15200:8001"
webshoppingapigw:
volumes:
- ./ApiGateways/Envoy/config/webshopping:/etc/envoy
ports:
- "5202:80"
- "15202:8001"
mobileshoppingagg:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- urls__basket=http://basket-api
- urls__catalog=http://catalog-api
- urls__orders=http://ordering-api
- urls__identity=http://identity-api
- urls__grpcBasket=http://basket-api:81
- urls__grpcCatalog=http://catalog-api:81
- urls__grpcOrdering=http://ordering-api:81
- CatalogUrlHC=http://catalog-api/hc
- OrderingUrlHC=http://ordering-api/hc
- IdentityUrlHC=http://identity-api/hc
- BasketUrlHC=http://basket-api/hc
- PaymentUrlHC=http://payment-api/hc
- Identity__Url=http://identity-api
- Identity__ExternalUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
ports:
- "5120:80"
webshoppingagg:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- urls__basket=http://basket-api
- urls__catalog=http://catalog-api
- urls__orders=http://ordering-api
- urls__identity=http://identity-api
- urls__grpcBasket=http://basket-api:81
- urls__grpcCatalog=http://catalog-api:81
- urls__grpcOrdering=http://ordering-api:81
- ReverseProxy__Clusters__basket__Destinations__destination0__Address=http://basket-api
- ReverseProxy__Clusters__catalog__Destinations__destination0__Address=http://catalog-api
- ReverseProxy__Clusters__orders__Destinations__destination0__Address=http://ordering-api
- ReverseProxy__Clusters__signalr__Destinations__destination0__Address=http://ordering-signalrhub
- CatalogUrlHC=http://catalog-api/hc
- OrderingUrlHC=http://ordering-api/hc
- IdentityUrlHC=http://identity-api/hc
- BasketUrlHC=http://basket-api/hc
- PaymentUrlHC=http://payment-api/hc
- Identity__Url=http://identity-api
- Identity__ExternalUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
ports:
- "5121:80"
ordering-signalrhub:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- ConnectionStrings__EventBus=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBus__UserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBus__Password=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- Identity__Url=http://identity-api
ports:
- "5112:80"
webstatus:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- HealthChecksUI__HealthChecks__0__Name=WebMVC HTTP Check
- HealthChecksUI__HealthChecks__0__Uri=http://webmvc/hc
- HealthChecksUI__HealthChecks__1__Name=WebSPA HTTP Check
- HealthChecksUI__HealthChecks__1__Uri=http://webspa/hc
- HealthChecksUI__HealthChecks__2__Name=Web Shopping Aggregator GW HTTP Check
- HealthChecksUI__HealthChecks__2__Uri=http://webshoppingagg/hc
- HealthChecksUI__HealthChecks__3__Name=Mobile Shopping Aggregator HTTP Check
- HealthChecksUI__HealthChecks__3__Uri=http://mobileshoppingagg/hc
- HealthChecksUI__HealthChecks__4__Name=Ordering HTTP Check
- HealthChecksUI__HealthChecks__4__Uri=http://ordering-api/hc
- HealthChecksUI__HealthChecks__5__Name=Basket HTTP Check
- HealthChecksUI__HealthChecks__5__Uri=http://basket-api/hc
- HealthChecksUI__HealthChecks__6__Name=Catalog HTTP Check
- HealthChecksUI__HealthChecks__6__Uri=http://catalog-api/hc
- HealthChecksUI__HealthChecks__7__Name=Identity HTTP Check
- HealthChecksUI__HealthChecks__7__Uri=http://identity-api/hc
- HealthChecksUI__HealthChecks__8__Name=Payments HTTP Check
- HealthChecksUI__HealthChecks__8__Uri=http://payment-api/hc
- HealthChecksUI__HealthChecks__9__Name=Ordering SignalRHub HTTP Check
- HealthChecksUI__HealthChecks__9__Uri=http://ordering-signalrhub/hc
- HealthChecksUI__HealthChecks__10__Name=Ordering HTTP Background Check
- HealthChecksUI__HealthChecks__10__Uri=http://ordering-backgroundtasks/hc
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
ports:
- "5107:80"
webspa:
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://0.0.0.0:80
- Identity__Url=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
- IdentityUrlHC=http://identity-api/hc
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
ports:
- "5104:80"
webmvc:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- PurchaseUrl=http://webshoppingagg
- IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5121
- IdentityUrlHC=http://identity-api/hc
- UseCustomizationData=True
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
ports:
- "5100:80"
webhooks-client:
environment:
- ASPNETCORE_URLS=http://0.0.0.0:80
- Token=6168DB8D-DC58-4094-AF24-483278923590 # Webhooks are registered with this token (any value is valid) but the client won't check it
- Identity__Url=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- CallBackUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5114
- WebhooksUrl=http://webhooks-api
- SelfUrl=http://webhooks-client/
ports:
- "5114:80"
volumes:
eshop-sqldata:
external: false
eshop-nosqldata:
external: false
eshop-basketdata:
external: false