Balena Push Screenly OSE giving errors

Hey there!
For about three days now I’ve been trying to solve this issue I’ve been getting with installing Screenly OSE onto my Raspberry Pi 3 using Balena Cloud (latest build).
i gave looked at almost every forum that exists with no luck. I’ve tried different versions of balena cloud and it still doesn’t work. These are the errors I’ve been getting:

Some services failed to build:
[Error] Service: screenly-server
[Error] Error: The command ‘/bin/sh -c rm /etc/nginx/sites-enabled/default’ returned a non-zero code: 1
[Error] Service: screenly-viewer
[Error] Error: The command ‘/bin/sh -c pip install -U -r /tmp/requirements.txt’ returned a non-zero code: 1
[Error] Service: screenly-websocket
[Error] Error: The command ‘/bin/sh -c pip install --no-cache-dir -r /tmp/requirements.txt’ returned a non-zero code: 1
[Error] Service: screenly-celery
[Error] Error: The command ‘/bin/sh -c pip install -U -r /tmp/requirements.txt’ returned a non-zero code: 1
[Info] Built on arm02
[Error] Not deploying release.

Any ideas on what i can do to solve this?

Thanks in advance!

Hi,

Looks like it is an issue while building your compose file as I can see there are many errors here: The command '/bin/sh -c rm /etc/nginx/sites-enabled/default' returned a non-zero code, The command '/bin/sh -c pip install -U -r /tmp/requirements.txt' returned a non-zero code: 1 or [Error] Service: screenly-celery [Error] Error: The command '/bin/sh -c pip install -U -r /tmp/requirements.txt' returned a non-zero code: 1. Do you have this issue while building it locally?

I just tried it then but when i ran the local push i am getting this error and I’m not sure how to fix it… Im very new to this sorry.

Dockerfiles containing the ADD instruction are not supported. Please use COPY.

Can you replace all the ADD instruction in your Dockerfiles with COPY as suggested and try again?

It is still running but here are the errors that have shown so far

[screenly-websocket] Command “/usr/bin/python -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-38Ui10 --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple – “setuptools >= 40.8.0” wheel “Cython >= 3.0a5” “cffi >= 1.12.3 ; platform_python_implementation == ‘CPython’” “greenlet >= 0.4.17 ; platform_python_implementation == ‘CPython’”” failed with error code 1 in None
[screenly-viewer] Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-install-vDuuMR/ansible/
[screenly-celery] Failed building wheel for ansible
[screenly-celery] Failed building wheel for cffi
[screenly-celery] Failed building wheel for flask-restful-swagger-2
[screenly-celery] Failed building wheel for flask-swagger-ui
[screenly-celery] Failed building wheel for gevent-websocket

Some light googling later - this feels like an issue with python/pip. Can you add RUN pip install -U setuptools to your dockerfile. This will update setuptools to the latest version.
Also what version of the docker-compose are you using from Screenly? I see a demo and a dev version of the .yml in the screenly repo. Have you tried the others?

Hey guys - Viktor from Screenly here. Basically, we’re midst a major refactoring of OSE. It’s long overdue and will add support for Pi 4, along with major changes to the build flow. You can check out the experimental branch right now, but note that it is under active development and may break.

3 Likes

Sorry but im SUPER new to all this and might need small steps explained haha.
Which dockerfile am i adding the RUN to? and also I think I’m using version two, and not sure how i would try the others.

@joziah did you try the branch mentioned above? (https://github.com/Screenly/screenly-ose/tree/experimental)

Yes, I kept running into new errors (just bug errors) so I just left it.

Also, to save time as this was a work project I just Installed screenly directly onto the device, thanks for all the help!

Just as a heads-up, if anyone wants to help with this, we’re tracking the work here.

There are some sexy stuff going on in #1429 that will likely help a lot of other people who are using QT on Balena in the future. The goal is to generate QT tarballs for all supported Raspberry Pi where hardware acceleration is supported (and working inside Docker containers).

This is a blocker for supporting Pi 4.

@Josiah just a heads up that @vpetersson pushed some fixes / updates to master branch today.

I am just testing it some more now and will report back.

1 Like

I can confirm I have just tested this on a balenaFin using CM3 and it builds and runs successfully. For some reason the “deploy with balena” button is not working but I am looking into that now.

Ok so it was an issue with my balena.yml file with passing the dtparam as a string… :slight_smile:

Failed to fetch application configuration: bad indentation of a sequence entry at line 14, column 46:
     ... OST_CONFIG_dtparam: "i2c_arm=on","spi=on","audio=on","vc4-kms-v3d"

Have submitted a PR to @vpetersson and once fixed deploy with balena button should work in that repo.

EDIT: It is working now…

balena deploy button

Can confirm
This new push has fixed what caused all my errors :slight_smile:
Now working on Raspberry Pi3B+

@Josiah fantastic. Glad to hear it’s all working for you :blush: