@ -1,319 +1,161 @@ | |||
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 | |||
- ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sqldata;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word} | |||
- 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} | |||
- 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} | |||
- 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} | |||
- 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" | |||
#seq: | |||
# image: datalust/seq:latest | |||
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" | |||
#sqldata: | |||
# image: mcr.microsoft.com/mssql/server:2019-latest | |||
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} | |||
- 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" | |||
#nosqldata: | |||
# image: mongo | |||
mobileshoppingapigw: | |||
volumes: | |||
- ./ApiGateways/Envoy/config/mobileshopping:/etc/envoy | |||
ports: | |||
- "5200:80" | |||
- "15200:8001" | |||
#basketdata: | |||
# image: redis:alpine | |||
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 | |||
#rabbitmq: | |||
# image: rabbitmq:3-management-alpine | |||
identity-api: | |||
image: ${REGISTRY:-eshop}/identity.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Identity/Identity.API/Dockerfile | |||
#depends_on: | |||
# - sqldata | |||
#basket-api: | |||
# image: ${REGISTRY:-eshop}/basket.api:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Basket/Basket.API/Dockerfile | |||
# depends_on: | |||
# - basketdata | |||
# - identity-api | |||
# - rabbitmq | |||
#catalog-api: | |||
# image: ${REGISTRY:-eshop}/catalog.api:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Catalog/Catalog.API/Dockerfile | |||
# depends_on: | |||
# - sqldata | |||
# - rabbitmq | |||
#ordering-api: | |||
# image: ${REGISTRY:-eshop}/ordering.api:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Ordering/Ordering.API/Dockerfile | |||
# depends_on: | |||
# - sqldata | |||
# - rabbitmq | |||
#ordering-backgroundtasks: | |||
# image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Ordering/Ordering.BackgroundTasks/Dockerfile | |||
# depends_on: | |||
# - sqldata | |||
# - rabbitmq | |||
#payment-api: | |||
# image: ${REGISTRY:-eshop}/payment.api:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Payment/Payment.API/Dockerfile | |||
# depends_on: | |||
# - rabbitmq | |||
#webhooks-api: | |||
# image: ${REGISTRY:-eshop}/webhooks.api:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Webhooks/Webhooks.API/Dockerfile | |||
# depends_on: | |||
# - sqldata | |||
#mobileshoppingapigw: | |||
# image: envoyproxy/envoy:v1.11.1 | |||
#mobileshoppingagg: | |||
# image: ${REGISTRY:-eshop}/mobileshoppingagg:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile | |||
# depends_on: | |||
# - nosqldata | |||
# - sqldata | |||
# - identity-api | |||
# - rabbitmq | |||
# - ordering-api | |||
# - catalog-api | |||
# - basket-api | |||
#webshoppingagg: | |||
# image: ${REGISTRY:-eshop}/webshoppingagg:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile | |||
# depends_on: | |||
# - nosqldata | |||
# - sqldata | |||
# - identity-api | |||
# - rabbitmq | |||
# - ordering-api | |||
# - catalog-api | |||
# - basket-api | |||
#ordering-signalrhub: | |||
# image: ${REGISTRY:-eshop}/ordering.signalrhub:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Services/Ordering/Ordering.SignalrHub/Dockerfile | |||
# depends_on: | |||
# - nosqldata | |||
# - sqldata | |||
# - identity-api | |||
# - rabbitmq | |||
# - ordering-api | |||
# - catalog-api | |||
# - basket-api | |||
#webstatus: | |||
# image: ${REGISTRY:-eshop}/webstatus:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Web/WebStatus/Dockerfile | |||
#webspa: | |||
# image: ${REGISTRY:-eshop}/webspa:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Web/WebSPA/Dockerfile | |||
# args: | |||
# NODE_IMAGE: ${NODE_IMAGE:-node:12.0} | |||
# depends_on: | |||
# - webshoppingagg | |||
# - webshoppingapigw | |||
#webmvc: | |||
# image: ${REGISTRY:-eshop}/webmvc:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Web/WebMVC/Dockerfile | |||
# depends_on: | |||
# - webshoppingagg | |||
# - webshoppingapigw | |||
#webhooks-client: | |||
# image: ${REGISTRY:-eshop}/webhooks.client:${PLATFORM:-linux}-${TAG:-latest} | |||
# build: | |||
# context: . | |||
# dockerfile: Web/WebhookClient/Dockerfile | |||
# depends_on: | |||
# - webhooks-api | |||
#webshoppingapigw: | |||
# image: envoyproxy/envoy:v1.11.1 |
@ -1,161 +1,319 @@ | |||
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" | |||
seq: | |||
image: datalust/seq:latest | |||
#sqldata: | |||
# environment: | |||
# - SA_PASSWORD=Pass@word | |||
# - ACCEPT_EULA=Y | |||
# ports: | |||
# - "5433:1433" | |||
# volumes: | |||
# - eshop-sqldata:/var/opt/mssql | |||
sqldata: | |||
image: mcr.microsoft.com/mssql/server:2019-latest | |||
#nosqldata: | |||
# ports: | |||
# - "27017:27017" | |||
# volumes: | |||
# - eshop-nosqldata:/data/db | |||
nosqldata: | |||
image: mongo | |||
#basketdata: | |||
# ports: | |||
# - "6379:6379" | |||
# volumes: | |||
# - eshop-basketdata:/data | |||
#rabbitmq: | |||
# ports: | |||
# - "15672:15672" | |||
# - "5672:5672" | |||
basketdata: | |||
image: redis:alpine | |||
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=host.docker.internal,1433;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=sa@123} | |||
#- 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=false | |||
#- ApplicationInsights__InstrumentationKey=${INSTRUMENTATION_KEY} | |||
#- OrchestratorType=${ORCHESTRATOR_TYPE} | |||
ports: | |||
- "5105:80" | |||
rabbitmq: | |||
image: rabbitmq:3-management-alpine | |||
# 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} | |||
# - 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} | |||
# - 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} | |||
# - 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} | |||
# - 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 | |||
identity-api: | |||
image: ${REGISTRY:-eshop}/identity.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Identity/Identity.API/Dockerfile | |||
depends_on: | |||
- sqldata | |||
basket-api: | |||
image: ${REGISTRY:-eshop}/basket.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Basket/Basket.API/Dockerfile | |||
depends_on: | |||
- basketdata | |||
- identity-api | |||
- rabbitmq | |||
catalog-api: | |||
image: ${REGISTRY:-eshop}/catalog.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Catalog/Catalog.API/Dockerfile | |||
depends_on: | |||
- sqldata | |||
- rabbitmq | |||
ordering-api: | |||
image: ${REGISTRY:-eshop}/ordering.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Ordering/Ordering.API/Dockerfile | |||
depends_on: | |||
- sqldata | |||
- rabbitmq | |||
ordering-backgroundtasks: | |||
image: ${REGISTRY:-eshop}/ordering.backgroundtasks:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Ordering/Ordering.BackgroundTasks/Dockerfile | |||
depends_on: | |||
- sqldata | |||
- rabbitmq | |||
payment-api: | |||
image: ${REGISTRY:-eshop}/payment.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Payment/Payment.API/Dockerfile | |||
depends_on: | |||
- rabbitmq | |||
webhooks-api: | |||
image: ${REGISTRY:-eshop}/webhooks.api:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Webhooks/Webhooks.API/Dockerfile | |||
depends_on: | |||
- sqldata | |||
mobileshoppingapigw: | |||
image: envoyproxy/envoy:v1.11.1 | |||
mobileshoppingagg: | |||
image: ${REGISTRY:-eshop}/mobileshoppingagg:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: ApiGateways/Mobile.Bff.Shopping/aggregator/Dockerfile | |||
depends_on: | |||
- nosqldata | |||
- sqldata | |||
- identity-api | |||
- rabbitmq | |||
- ordering-api | |||
- catalog-api | |||
- basket-api | |||
webshoppingagg: | |||
image: ${REGISTRY:-eshop}/webshoppingagg:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: ApiGateways/Web.Bff.Shopping/aggregator/Dockerfile | |||
depends_on: | |||
- nosqldata | |||
- sqldata | |||
- identity-api | |||
- rabbitmq | |||
- ordering-api | |||
- catalog-api | |||
- basket-api | |||
ordering-signalrhub: | |||
image: ${REGISTRY:-eshop}/ordering.signalrhub:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Services/Ordering/Ordering.SignalrHub/Dockerfile | |||
depends_on: | |||
- nosqldata | |||
- sqldata | |||
- identity-api | |||
- rabbitmq | |||
- ordering-api | |||
- catalog-api | |||
- basket-api | |||
webstatus: | |||
image: ${REGISTRY:-eshop}/webstatus:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Web/WebStatus/Dockerfile | |||
webspa: | |||
image: ${REGISTRY:-eshop}/webspa:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Web/WebSPA/Dockerfile | |||
args: | |||
NODE_IMAGE: ${NODE_IMAGE:-node:12.0} | |||
depends_on: | |||
- webshoppingagg | |||
- webshoppingapigw | |||
webmvc: | |||
image: ${REGISTRY:-eshop}/webmvc:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Web/WebMVC/Dockerfile | |||
depends_on: | |||
- webshoppingagg | |||
- webshoppingapigw | |||
webhooks-client: | |||
image: ${REGISTRY:-eshop}/webhooks.client:${PLATFORM:-linux}-${TAG:-latest} | |||
build: | |||
context: . | |||
dockerfile: Web/WebhookClient/Dockerfile | |||
depends_on: | |||
- webhooks-api | |||
webshoppingapigw: | |||
image: envoyproxy/envoy:v1.11.1 |