version: '3'
services:
  common:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/common/Dockerfile
    image: grpcweb/common
  prereqs:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/prereqs/Dockerfile
    depends_on:
      - common
    image: grpcweb/prereqs
  echo-server:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/echo_server/Dockerfile
    depends_on:
      - prereqs
    image: grpcweb/echo-server
    ports:
      - "9090:9090"
  node-server:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/node_server/Dockerfile
    depends_on:
      - common
    image: grpcweb/node-server
    ports:
      - "9090:9090"
  envoy:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/envoy/Dockerfile
    image: grpcweb/envoy
    ports:
      - "8080:8080"
    links:
      - node-server
  nginx:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/nginx/Dockerfile
    depends_on:
      - prereqs
    image: grpcweb/nginx
    ports:
      - "8080:8080"
    links:
      - echo-server
  grpcwebproxy:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/grpcwebproxy/Dockerfile
    image: grpcweb/grpcwebproxy
    ports:
      - "8080:8080"
    links:
      - node-server
  commonjs-client:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/commonjs_client/Dockerfile
    depends_on:
      - common
    image: grpcweb/commonjs-client
    ports:
      - "8081:8081"
  closure-client:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/closure_client/Dockerfile
    depends_on:
      - prereqs
    image: grpcweb/closure-client
    ports:
      - "8081:8081"
  ts-client:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/ts_client/Dockerfile
    depends_on:
      - prereqs
    image: grpcweb/ts-client
    ports:
      - "8081:8081"
  binary-client:
    build:
      context: ./
      dockerfile: ./net/grpc/gateway/docker/binary_client/Dockerfile
    depends_on:
      - prereqs
    image: grpcweb/binary-client
    ports:
      - "8081:8081"
