## ---------------------------------------------------------------------------
## Licensed to the Apache Software Foundation (ASF) under one or more
## contributor license agreements.  See the NOTICE file distributed with
## this work for additional information regarding copyright ownership.
## The ASF licenses this file to You under the Apache License, Version 2.0
## (the "License"); you may not use this file except in compliance with
## the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
version: '3.3'
services:
  service-center:
    image: servicecomb/service-center:latest
    container_name: sc
    ports:
      - 30100:30100

  kie:
    image: servicecomb/kie:latest
    container_name: kie
    environment:
      DB_KIND: embedded_etcd
    ports:
      - 30110:30110

  ux:
    image: servicecomb/ux:latest
    container_name: ux
    ports:
      - 4200:4200
    depends_on:
      service-center:
        condition: service_started
      kie:
        condition: service_started
