title: Deploy to Heroku multiple docker images with heroku.yml, recieve the ERROR: No default language could be detected for this app
body: <p>I'm trying to deploy an app that runs locally with <code>docker compose</code>.</p>
  <p>I followed the docs: <a href="https://devcenter.heroku.com/articles/build-docker-images-heroku-yml" rel="nofollow noreferrer">Building Docker Images with heroku.yml</a> and add heroku.yml to git, then pushed to heroku</p>
  <p><code>git push heroku master</code></p>
  <p>The build fails with the following error:</p>
  <pre><code>Enumerating objects: 6611, done.
  Counting objects: 100% (6611/6611), done.
  Delta compression using up to 4 threads
  Compressing objects: 100% (6417/6417), done.
  Writing objects: 100% (6611/6611), 41.00 MiB | 244.00 KiB/s, done.
  Total 6611 (delta 4657), reused 205 (delta 115)
  remote: Compressing source files... done.
  remote: Building source:
  remote: 
  remote:  !     No default language could be detected for this app.
  remote:                         HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
  remote:                         See https://devcenter.heroku.com/articles/buildpacks
  remote: 
  remote:  !     Push failed
  remote: Verifying deploy...
  remote: 
  remote: !       Push rejected to my-app.
  remote: 
  To https://git.heroku.com/my-app.git
   ! [remote rejected] master -&gt; master (pre-receive hook declined)
  </code></pre>
  <p>How to fix this, and why is this happening?</p>
  <p>Does heroku even run the <code>yml</code>?</p>
  <pre><code>// heroku.yml
  
  setup:
    addons:
      - plan: heroku-postgresql
        as: DATABASE
    config:
    // .env vars
  build:
    docker:
      web_server: web/server/dockerfile
      web_client: web/client/dockerfile
      ipfs: ipfs/dockerfile
      blockchain: blockchain/dockerfile
    config:
    // .env vars
  </code></pre>
  <pre><code>// docker-compose.yml
  
  version: '3.8'
  services:
      ipfs:
          container_name: $IPFS_CONTAINER_NAME
          build: ./ipfs
      blockchain:
          container_name: $BLOCKCHAIN_CONTAINER_NAME
          build:
              context: ./blockchain
              dockerfile: dockerfile
              args: 
                  - GETH_ACCOUNT_PASSWORD=$GETH_ACCOUNT_PASSWORD
                  - GETH_NETWORK_ID=$GETH_NETWORK_ID
          env_file: 
              - ./.env
          volumes: 
              - type: volume
                source: blockchain_data
                target: /usr/src/app/chain
      db:
          container_name: $DB_CONTAINER_NAME
          image: postgres
          env_file: 
              - ./.env
          environment:
              - POSTGRES_USER=$DB_SUPER_USER
              - POSTGRES_PASSWORD=$DB_SUPER_PASSWORD
              - POSTGRES_DB=$DB_NAME
          ports: 
              - $DB_PORT_MAP
      web_server:
          container_name: $WEB_SERVER_CONTAINER_NAME
          build: ./web/server
          env_file: 
              - ./.env
          ports: 
              - $WEB_SERVER_PORT:$WEB_SERVER_PORT
          volumes: 
              - type: volume
                source: blockchain_data
                target: /usr/src/app/ipc
              - type: bind
                source: ./web/server/src
                target: /usr/src/app/src
                read_only: true
          entrypoint: [&quot;bash&quot;, &quot;entrypoint.sh&quot;, $ENABLE_RLS_TOGGLE, $DB_ENABLE_RLS]
      web_client:
          container_name: $WEB_CLIENT_CONTAINER_NAME
          build: ./web/client
          env_file: 
              - ./.env
          ports: 
              - $WEB_CLIENT_PORT:$WEB_CLIENT_PORT
          volumes: 
              - type: bind
                source: ./web/client/src
                target: /usr/src/app/src
                read_only: true
  volumes:
      blockchain_data:
  
  </code></pre>