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.
 
 
 
 
 
 

341 lines
14 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:
- MSSQL_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"
# zookeeper:
# environment:
# ZOOKEEPER_CLIENT_PORT: 2181
# ZOOKEEPER_TICK_TIME: 2000
# broker:
# environment:
# KAFKA_BROKER_ID: 1
# KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
# KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
# KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://broker:9092,PLAINTEXT_HOST://localhost:29092
# KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
# KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
# KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
# ports:
# # To learn about configuring Kafka for access across networks see
# # https://www.confluent.io/blog/kafka-client-cannot-connect-to-broker-on-aws-on-docker-etc/
# - "9092:9092"
# - "29092:29092"
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
- ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word;Encrypt=False}
- 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
- ASPNETCORE_URLS=http://0.0.0.0:80
- ConnectionString=${ESHOP_AZURE_REDIS_BASKET_DB:-basketdata}
- identityUrl=http://identity-api
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- PATH_BASE=/basket-api
- GRPC_PORT=81
- PORT=80
ports:
- "5103:80"
- "9103:81"
catalog-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ConnectionString=${ESHOP_AZURE_CATALOG_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word;Encrypt=False}
- PicBaseUrl=${ESHOP_STORAGE_CATALOG_URL}
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureStorageAccountName=${ESHOP_AZURE_STORAGE_CATALOG_NAME}
- AzureStorageAccountKey=${ESHOP_AZURE_STORAGE_CATALOG_KEY}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- AzureStorageEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- GRPC_PORT=81
- PORT=80
- PATH_BASE=/catalog-api
ports:
- "5101:80"
- "9101:81"
ordering-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;Encrypt=False}
- identityUrl=http://identity-api
- IdentityUrlExternal=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- CheckUpdateTime=30000
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
- Serilog__MinimumLevel__Override__ordering-api=Verbose
- 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
- ConnectionString=${ESHOP_AZURE_ORDERING_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word;Encrypt=False}
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- UseCustomizationData=True
- AzureServiceBusEnabled=False
- CheckUpdateTime=30000
- GracePeriodTime=1
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- UseLoadTest=${USE_LOADTEST:-False}
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
ports:
- "5111:80"
payment-api:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://0.0.0.0:80
- EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
- EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
- EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
- AzureServiceBusEnabled=False
- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
- OrchestratorType=${ORCHESTRATOR_TYPE}
- Serilog__MinimumLevel__Override__payment-api.IntegrationEvents.EventHandling=Verbose
- Serilog__MinimumLevel__Override__Microsoft.eShopOnContainers.BuildingBlocks.EventBusRabbitMQ=Verbose
ports:
- "5108:80"
# webhooks-api:
# environment:
# - ASPNETCORE_ENVIRONMENT=Development
# - ASPNETCORE_URLS=http://0.0.0.0:80
# - ConnectionString=${ESHOP_AZURE_WEBHOOKS_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Services.WebhooksDb;User Id=sa;Password=Pass@word;Encrypt=False}
# - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
# - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
# - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - IdentityUrl=http://identity-api
# - IdentityUrlExternal=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
# - IdentityUrlExternal=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
# - 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
# - IdentityUrlExternal=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
# - EventBusConnection=${ESHOP_AZURE_SERVICE_BUS:-rabbitmq}
# - EventBusUserName=${ESHOP_SERVICE_BUS_USERNAME}
# - EventBusPassword=${ESHOP_SERVICE_BUS_PASSWORD}
# - AzureServiceBusEnabled=False
# - ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY}
# - OrchestratorType=${ORCHESTRATOR_TYPE}
# - identityUrl=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
# - IdentityUrl=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://webshoppingapigw
# - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105
# - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202
# - 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
# - IdentityUrl=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