Problems with rflink running in docker: could not open port, No such file or directory

Hi!
I had a previous setup using raspberry pi 3, docker and rflink which worked without problems. After a harddrive crash I setup everything again from scratch using my old configuration files (same hardware) but I get the following error message.

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/rflink/__init__.py", line 234, in connect
    transport, protocol = await connection
  File "/usr/local/lib/python3.8/asyncio/coroutines.py", line 124, in coro
    res = func(*args, **kw)
  File "/usr/local/lib/python3.8/site-packages/serial_asyncio/__init__.py", line 410, in create_serial_connection
    ser = serial.serial_for_url(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/serial/__init__.py", line 88, in serial_for_url
    instance.open()
  File "/usr/local/lib/python3.8/site-packages/serial/serialposix.py", line 268, in open
    raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0: [Errno 2] No such file or directory: '/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0'
2020-09-06 16:29:55 WARNING (MainThread) [homeassistant.components.rflink] disconnected from Rflink, reconnecting
2020-09-06 16:29:55 INFO (MainThread) [homeassistant.components.rflink] Initiating Rflink connection
2020-09-06 16:29:55 ERROR (MainThread) [homeassistant.components.rflink] Error connecting to Rflink, reconnecting in 10

I suppose
could not open port /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0: [Errno 2] No such file or directory: ‘/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0’ is of importance here.

I use docker-compose and here is my compose file.

version: '3'
services:
  homeassistant:
    container_name: home-assistant
    image: homeassistant/home-assistant:stable
    volumes:
      - /home/homeassistant/.homeassistant:/config
      - /data/homeassistant:/data/homeassistant
    devices:
      - /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0:/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
      - /dev/ttyUSB0:/dev/ttyUSB0
    environment:
      - TZ=Norway/Oslo
    restart: always
    network_mode: host
    ports:
      - "8123:8123"

Does anyone have any ideas on what to try next? The path: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port do exist on my Pi

I wonder if it’s a permission issue?
Which user executes the docker-compose file?
Is it possible another container or service has claimed usage over that device?

FYI, you can’t use host mode and declare ports too; it’s redundant if nothing else.

Hi!
You where right, it was a permission error. I used sudo docker-compose to start the environment. When skipping sudo it worked.

Thanks for the tip :slightly_smiling_face:

No worries mate; glad it’s sorted!