version: '3'
services:
  {{dashCase name}}-api:
    container_name: {{dashCase name}}-api
    build:
      context: ../{{dashCase name}}-api
      dockerfile: ../{{dashCase name}}-api/Dockerfile
    expose:
      - '4000'
    ports:
      - '4000:4000'
    volumes:
      - '../../{{dashCase name}}-api/src:/app/src'
      - '../../{{dashCase name}}-api/tests:/app/tests'
      - '../../{{dashCase name}}-api/coverage:/app/coverage'
      - '../../{{dashCase name}}-api/.env:/app/.env'
    # env_file: ./api/.env
    environment:
      - GOOGLE_APPLICATION_CREDENTIALS=./sa.json
    entrypoint: npm run dev

  {{dashCase name}}-client:
    container_name: {{dashCase name}}-client
    build:
      context: .
      dockerfile: ./docker/preview.Dockerfile
    expose:
      - '8000'
    ports:
      - '8000:8000'
    volumes:
      - './src:/app/src'
      - './cypress:/app/cypress'
      - './gatsby-config.js:/app/gatsby-config.js'
      - './gatsby-browser.js:/app/gatsby-browser.js'
    env_file: .env.development
    entrypoint: npm run develop
    depends_on:
      - {{dashCase name}}-api

  {{dashCase name}}-storybook:
    container_name: {{dashCase name}}-storybook
    build:
      context: .
      dockerfile: ./docker/storybook.Dockerfile
    expose:
      - '6006'
    ports:
      - '6006:6006'
    volumes:
      - './src:/app/src'
      - './gatsby-config.js:/app/gatsby-config.js'
      - './gatsby-browser.js:/app/gatsby-browser.js'
    env_file: .env.development
    entrypoint: npm run storybook
    # makes this less noisy
    logging:
      driver: 'none'
    depends_on:
      - {{dashCase name}}-client
      - {{dashCase name}}-api
