Error: Cannot locate specified Dockerfile: Dockerfile

I have created a new application, for a raspberry pi 3 B+, and when running git push to the resin remote, I see the following:

[Info]     Starting build for telegram_sense, user sampedro_ricard
[Info]     Dashboard link:
[Info]     Building on arm02
[Info]     Pulling previous images for caching purposes...
[Success]  Successfully pulled cache images
[Error]    Some services failed to build:
[Error]      Service: main
[Error]        Error: Cannot locate specified Dockerfile: Dockerfile
[Error]    Not deploying release.

But there is a Dockerfile in the root of the repo (it is committed and not ignored).

Any ideas what might be happening?

Additionally, I have deleted everything in my repo down to the simplest Dockerfile which just tries to run

FROM resin/raspberrypi3-python:3.6

WORKDIR /usr/src/app

RUN apt-get update && apt-get install -yq sense-hat

Copy requirements.txt first for better cache on later pushes

COPY ./requirements.txt /requirements.txt

pip install python deps from requirements.txt on the build server

RUN pip install -r /requirements.txt

This will copy all files in our root to the working directory in the container

COPY . ./

switch on systemd init system in container

ENV INITSYSTEM on will run when container starts up on the device

CMD [“python”,"-u",“”]

still the same

I’m not sure but I think a Dockerfile.template is expected.

It turns out some subset of rpi3B+ hardware requires the configuration dtoverlay = rpi-sense

So, you would configure the Configuration variable

RESIN_HOST_CONFIG_dtoverlay = rpi-sense

You can read further here for more info about device trees / overlays / parameters in rpi.

If you were directly deploying code to an rpi3, you’d just append dtoverlay=rpi-sense to /boot/config.txt. In ResinOS, you’d do exactly that, since configuration variables are a feature of the managed build/deploy system resin maintains and builds.