OpenSSL version issue

I am using balena dashboard along with screenly ose, I have created a docker file to start the screenly-viewer, screenly-server, screenly-websocket and screenly-celery services. On running the docker file I’m getting the following issue:


The versions used are:
Python == 2.7
OpenSSL == 1.0.1t
Cryptography == 2.8

Also I am getting this issue only on some devices from last 3-4 days.

Hi,

Are you using official Python base images or balena base images? If it’s balena base images, can you please share your Dockerfile with us?

Possibly, it is an issue with the cryptography package, how did you install that package? From OS package manager or via pip?

Hi,
I am using the following docker file to start the screenly services, the scrrenly ose code is located in the same directory:

version: "2"
services:
  screenly-server:
build:
  context: screenly-ose
  dockerfile: docker/Dockerfile.server.template
environment:
  - HOME=/data
  - LISTEN=0.0.0.0
  - PYTHONPATH=/data/screenly
  - SCREENLYSERVICE=server
  - CELERY_BROKER_URL=redis://redis:6379/0
  - CELERY_RESULT_BACKEND=redis://redis:6379/0
ports:
  - 80:8080
privileged: true
restart: always
volumes:
  - resin-data:/data

  screenly-viewer:
build:
  context: screenly-ose
  dockerfile: docker/Dockerfile.viewer.template
depends_on:
  - screenly-server
environment:
  - DISPLAY=:0.0
  - HOME=/data
  - NOREFRESH=1
  - PYTHONPATH=/data/screenly
  - SCREENLYSERVICE=viewer
  - LISTEN=screenly-server
  - PORT=80
privileged: true
restart: always
volumes:
  - resin-data:/data

  screenly-websocket:
build:
  context: screenly-ose
  dockerfile: docker/Dockerfile.websocket.template
depends_on:
  - screenly-server
environment:
  - HOME=/data
  - PYTHONPATH=/data/screenly
  - SCREENLYSERVICE=websocket
  - LISTEN=screenly-server
ports:
  - 9999:9999
privileged: true
restart: always
volumes:
  - resin-data:/data

  screenly-celery:
build:
  context: screenly-ose
  dockerfile: docker/Dockerfile.celery.template
depends_on:
  - screenly-server
  - redis
environment:
  - HOME=/data
  - PYTHONPATH=/data/screenly
  - SCREENLYSERVICE=celery
  - CELERY_BROKER_URL=redis://redis:6379/0
  - CELERY_RESULT_BACKEND=redis://redis:6379/0
privileged: true
restart: always
volumes:
  - resin-data:/data

  redis:
build:
  context: screenly-ose
  dockerfile: docker/Dockerfile.redis.template
restart: always

  sync-service:
build:
  context: .
  dockerfile: Dockerfile.template
privileged: true
environment:
  - SCREENLY_API_URL=http://screenly-server:80
depends_on:
  - screenly-server

volumes:
resin-data:

I have installed cryptography pacakge using pip( pip install cryptography==2.8
) in the docker file of scrrenly-ose

Can you please upgrade it via pip in your Dockerfile and try again?

The command I have used in docker to install packages is
pip install --upgrade -r /tmp/requirements.txt

Since you pinned it as cryptography==2.8 so it will force install that version and won’t install the latest one. You should change it to unpinned versions like (cryptography>=2.8) and see if it works.