version: '3.7' services: lb: image: nginx:1.21 ports: - 80:80 - 443:443 volumes: - ./nginx/certs/app-publicweb+2.pem:/etc/nginx/certs/app-cert.pem:ro - ./nginx/certs/app-publicweb+2-key.pem:/etc/nginx/certs/app-key.pem:ro - ./nginx/conf.d:/etc/nginx/conf.d:ro networks: - eshoponabp-network administration-service: image: eshoponabp/service-administration:latest container_name: administration-service-container build: context: ../../ dockerfile: services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=http://+:80 # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 # - Redis__Configuration=redis # - RabbitMQ__Connections__Default__HostName=rabbitmq # - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; # ports: # - "44353:443" depends_on: redis: condition: service_healthy postgres-db: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate identity-service: image: eshoponabp/service-identity:latest container_name: identity-service-container build: context: ../../ dockerfile: services/identity/src/EShopOnAbp.IdentityService.HttpApi.Host/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=http://+:80 # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Redis__Configuration=redis - RabbitMQ__Connections__Default__HostName=rabbitmq - ConnectionStrings__IdentityService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Identity;Pooling=false; - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; # ports: # - "44351:443" depends_on: redis: condition: service_healthy postgres-db: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate catalog-service: image: eshoponabp/service-catalog:latest container_name: catalog-service-container build: context: ../../ dockerfile: services/catalog/src/EShopOnAbp.CatalogService.HttpApi.Host/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=https://+:443;http://+:80;http://+:81; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Kestrel__EndPoints__Http__Url=http://docker.host.internal:80 - Kestrel__EndPoints__Https__Url=https://docker.host.internal:443 - Kestrel__EndPoints__gRPC__Url=http://docker.host.internal:81 # - Redis__Configuration=redis # - RabbitMQ__Connections__Default__HostName=rabbitmq # - ConnectionStrings__CatalogService=mongodb://mongodb/EShopOnAbp_Catalog # - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; # ports: # - "44354:443" # - "5000:80" # - "81:81" depends_on: redis: condition: service_healthy mongodb: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate basket-service: image: eshoponabp/service-basket:latest container_name: basket-service-container build: context: ../../ dockerfile: services/basket/src/EShopOnAbp.BasketService.HttpApi.Host/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=https://+:443;http://+:80; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 # - Redis__Configuration=redis # - RabbitMQ__Connections__Default__HostName=rabbitmq # - RemoteServices__Catalog__BaseUrl=https://catalog-service # - RemoteServices__Catalog__GrpcUrl=http://catalog-service # - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; # ports: # - "44355:443" depends_on: redis: condition: service_healthy mongodb: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate ordering-service: image: eshoponabp/service-ordering:latest container_name: ordering-service-container build: context: ../../ dockerfile: services/ordering/src/EShopOnAbp.OrderingService.HttpApi.Host/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=https://+:443;http://+:80; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Redis__Configuration=redis - RabbitMQ__Connections__Default__HostName=rabbitmq - ConnectionStrings__OrderingService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Ordering;Pooling=false; - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; # ports: # - "44356:443" depends_on: redis: condition: service_healthy postgres-db: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate payment-service: image: eshoponabp/service-payment:latest container_name: payment-service-container build: context: ../../ dockerfile: services/payment/src/EShopOnAbp.PaymentService.HttpApi.Host/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=https://+:443;http://+:80; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Redis__Configuration=redis - RabbitMQ__Connections__Default__HostName=rabbitmq - ConnectionStrings__PaymentService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Payment;Pooling=false; - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; - Payment__PayPal__ClientId=PAYPAL_CLIENT_ID - Payment__PayPal__Secret=PAYPAL_SECRET - Payment__PayPal__Environment=Sandbox # ports: # - "44357:443" depends_on: redis: condition: service_healthy postgres-db: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate app-web: image: eshoponabp/app-web:latest container_name: app-web-container build: context: ../../ dockerfile: apps/angular/Dockerfile environment: - RabbitMQ__Connections__Default__HostName=rabbitmq - RemoteServices__Default__BaseUrl=http://gateway-web-public # ports: # - "4200:80" depends_on: redis: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate app-authserver: image: eshoponabp/app-authserver:latest container_name: app-authserver-container build: context: ../../ dockerfile: apps/auth-server/src/EShopOnAbp.AuthServer/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=https://+:443;http://+:80; - ASPNETCORE_HTTPS_PORT=44330 # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 # - Redis__Configuration=redis # - RabbitMQ__Connections__Default__HostName=rabbitmq # - App__SelfUrl=https://app-authserver # - App__CorsOrigins=http://app-web,https://identity-service,https://administration-service,https://catalog-service,https://basket-service,https://ordering-service,https://payment-service # - App__RedirectAllowedUrls=http://app-web - AuthServer__Authority=https://app-authserver - AuthServer__RequireHttpsMetadata=true # - ConnectionStrings__IdentityService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Identity;Pooling=false; # - ConnectionStrings__AdministrationService=User ID=postgres;Password=myPassw0rd;Host=postgres-db;Port=5432;Database=EShopOnAbp_Administration;Pooling=false; # ports: # - "44330:443" depends_on: redis: condition: service_healthy postgres-db: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate app-publicweb: image: eshoponabp/app-publicweb:latest container_name: app-publicweb-container build: context: ../../ dockerfile: apps/public-web/src/EShopOnAbp.PublicWeb/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker - ASPNETCORE_URLS=https://+:443;http://+:80; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 # - Redis__Configuration=redis # - RabbitMQ__Connections__Default__HostName=rabbitmq # - App__SelfUrl=https://app-publicweb - AuthServer__Authority=https://app-authserver - AuthServer__RequireHttpsMetadata=true # - RemoteServices__Default__BaseUrl=http://gateway-web-public # - ReverseProxy__Clusters__cluster1__Destinations__destination1__Address=http://gateway-web-public # ports: # - "44335:443" depends_on: redis: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate gateway-web: image: eshoponabp/gateway-web:latest container_name: gateway-web-container build: context: ../../ dockerfile: gateways/web/src/EShopOnAbp.WebGateway/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker # Yarp can't resolve dns, needs to be overridden - ASPNETCORE_URLS=https://+:443;http://+:80; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Redis__Configuration=redis - ReverseProxy__Clusters__accountCluster__Destinations__destination1__Address=http://app-authserver - ReverseProxy__Clusters__identityCluster__Destinations__destination1__Address=http://identity-service - ReverseProxy__Clusters__administrationCluster__Destinations__destination1__Address=http://administration-service - ReverseProxy__Clusters__catalogCluster__Destinations__destination1__Address=http://catalog-service - ReverseProxy__Clusters__orderingCluster__Destinations__destination1__Address=http://ordering-service - ReverseProxy__Clusters__feature-management-cluster__Destinations__destination1__Address=http://administration-service - ReverseProxy__Clusters__permission-management-cluster__Destinations__destination1__Address=http://administration-service - ReverseProxy__Clusters__setting-management-cluster__Destinations__destination1__Address=http://administration-service # ports: # - "44372:443" depends_on: redis: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate gateway-web-public: image: eshoponabp/gateway-web-public:latest container_name: gateway-web-public-container build: context: ../../ dockerfile: gateways/web-public/src/EShopOnAbp.WebPublicGateway/Dockerfile environment: - ASPNETCORE_ENVIRONMENT=Docker # Yarp can't resolve dns, needs to be overridden - ASPNETCORE_URLS=https://+:443;http://+:80; # - Kestrel__Certificates__Default__Path=/root/certificate/eshop-dk.pfx # - Kestrel__Certificates__Default__Password=8b6039b6-c67a-448b-977b-0ce6d3fcfd49 - Redis__Configuration=redis - ReverseProxy__Clusters__accountCluster__Destinations__destination1__Address=http://app-authserver - ReverseProxy__Clusters__administrationCluster__Destinations__destination1__Address=http://administration-service - ReverseProxy__Clusters__catalogCluster__Destinations__destination1__Address=http://catalog-service - ReverseProxy__Clusters__basketCluster__Destinations__destination1__Address=http://basket-service - ReverseProxy__Clusters__orderingCluster__Destinations__destination1__Address=http://ordering-service - ReverseProxy__Clusters__paymentCluster__Destinations__destination1__Address=http://payment-service - ReverseProxy__Clusters__productPictureCluster__Destinations__destination1__Address=http://catalog-service # ports: # - "44373:443" depends_on: redis: condition: service_healthy rabbitmq: condition: service_healthy restart: on-failure networks: - eshoponabp-network # volumes: # - ./certs:/root/certificate networks: eshoponabp-network: external: true