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: https://dashboard.resin.io/apps/1281076/devices
[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 main.py:
´´´
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 resin.io 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
main.py will run when container starts up on the device
CMD [“python”,"-u",“main.py”]
´´´
still the same
seb
October 20, 2018, 4:23pm
5
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.