|
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
|
|
|