docker-compose.yml invalid: app.build contains an invalid type, it should be a string
The format you're using is for Version 2. You're currently using Version 1 format.
For Version 1, Docker Compose expects a string:
app: build: .
For Version 2, Docker Compose expects a string or object, but you must specify that your Docker Compose file is Version 2:
version: '2'services: app: build: context: .