Code Monkey home page Code Monkey logo

rtl_433_docker's Introduction

๐Ÿ‹ rtl_433 Docker Image Buildx

Repository containing multiarch docker images definitions of rtl_433 utility from merbanan.

Default latest images include rtlsdr only with alpine linux as base to keep the final result as slim as possible.
There is also debian based images which include rtlsdr and sopysdr with all modules but are slightly bigger ~3mb vs ~50mb.

There are multiple flavours (alpine & debian based) built for multiple platforms (mainly x86, arm and more).

Usage

โš ๏ธ Tags have been refactored to follow "a more logical" structure. โš ๏ธ

hertzg/rtl_433:<rtl_433_git_ref>-<base>-<base_version>
hertzg/rtl433:<rtl_433_git_ref>-<base>-<base_version>
ghcr.io/hertzg/rtl_433_docker:<rtl_433_git_ref>-<base>-<base_version>

For convenience the latest version of alpine base is considered as "default" so you can just use

โ„น๏ธ Keep in mind that only the **latest release** of rtl_433 (22.11 as of 2023-05-28) is considered :latest as <rtl_433_git_ref>. โ„น๏ธ

docker run hertzg/rtl_433:latest -V

# is the exact same image as

docker run hertzg/rtl_433:22.11 -V                       # as of 28 May 2023 the 22.11 is the latest released version
docker run hertzg/rtl_433:22.11-alpine -V                # shorthand for 22.11-alpine-latest
docker run hertzg/rtl_433:22.11-alpine-3 -V              # targets Alpine major version 3
docker run hertzg/rtl_433:22.11-alpine-3.18 -V           # targets Alpine minor version 3.18
docker run hertzg/rtl_433:22.11-alpine-3.18.0 -V         # targets Alpine patch version 3.18.0
docker run hertzg/rtl_433:22.11-alpine-latest -V         # targets latest Alpine version

๐Ÿ’ก For Debian based builds you just use debian as <base> instead of alpine and provide a correct debian version.

If you want the latest master branch build use :master or :nightly for nightly builds. The following are

# for alpine based images
docker run hertzg/rtl_433:master -V
docker run hertzg/rtl_433:master-alpine -V
docker run hertzg/rtl_433:master-alpine-3 -V
docker run hertzg/rtl_433:master-alpine-3.18 -V
docker run hertzg/rtl_433:master-alpine-3.18.0 -V
docker run hertzg/rtl_433:master-alpine-latest -V

The tool itself is very versatile, you can run in multiple ways. The docker image uses the rtl_433 executable as ENTRYPOINT so all the command line arguments get passed to it when used together with docker run.

First you need to find the bus and device ids for your SDR device. Here I use lsusb to find the bus and device ids for my RTL2838 receiver.

Same approach should work for other USB devices as well.

pi@raspberry:~ $ lsusb
Bus xxx Device xxx: ID xxxx:xxxx ...
Bus xxx Device xxx: ID xxxx:xxxx ...
Bus 001 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Bus xxx Device xxx: ID xxxx:xxxx ...
Bus xxx Device xxx: ID xxxx:xxxx ...

Based on the output my device can be referenced on usb bus 001 as device 003.

Next we need to start the container and share the /dev/bus/usb/001/003 device to it using the --device or -d flag.

Note: This device enumerator could (most likely will) change if you plug/unplug the device or the hub it's attached to, but in most cases if you use the bus path that was generated right after boot and leave the device untouched (don't re-plug) the device, the bus path might say the same. (#14)

pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433

The --device or -d flag will share the host usb device to the container it will most likely be unusable by the host or any other containers.

To use a specific version of rtl_433 use the docker image tags described from the table later down

pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:master
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:latest
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:20.02
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:18.05
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:alpine-20.02
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:alpine-3-20.02
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:alpine-3.14-20.02
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:alpine-3.14.3-20.02
pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433:<flavour>-<flavour-version>-<rtl_433-version>

To pass arguments to rtl_433 executable use can use the docker commands by appending them at the end of the run command

pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433 -h
rtl_433 version 20.02 branch  at 202002171252 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Generic RF data receiver and decoder for ISM band devices using RTL-SDR and SoapySDR.

Usage:
		= General options =
  [-V] Output the version string and exit
  [-v] Increase verbosity (can be used multiple times).
       -v : verbose, -vv : verbose decoders, -vvv : debug decoders, -vvvv : trace decoding).
  [-c <path>] Read config options from a file
		= Tuner options =
  [-d <RTL-SDR USB device index> | :<RTL-SDR USB device serial> | <SoapySDR device query> | rtl_tcp | help]
  [-g <gain> | help] (default: auto)
  [-t <settings>] apply a list of keyword=value settings for SoapySDR devices
       e.g. -t "antenna=A,bandwidth=4.5M,rfnotch_ctrl=false"
  [-f <frequency>] Receive frequency(s) (default: 433920000 Hz)
  [-H <seconds>] Hop interval for polling of multiple frequencies (default: 600 seconds)
  [-p <ppm_error] Correct rtl-sdr tuner frequency offset error (default: 0)
  [-s <sample rate>] Set sample rate (default: 250000 Hz)
		= Demodulator options =
  [-R <device> | help] Enable only the specified device decoding protocol (can be used multiple times)
       Specify a negative number to disable a device decoding protocol (can be used multiple times)
  [-G] Enable blacklisted device decoding protocols, for testing only.
  [-X <spec> | help] Add a general purpose decoder (prepend -R 0 to disable all decoders)
  [-l <level>] Change detection level used to determine pulses (0-16384) (0=auto) (default: 0)
  [-z <value>] Override short value in data decoder
  [-x <value>] Override long value in data decoder
  [-n <value>] Specify number of samples to take (each sample is 2 bytes: 1 each of I & Q)
  [-Y auto | classic | minmax] FSK pulse detector mode.
		= Analyze/Debug options =
  [-a] Analyze mode. Print a textual description of the signal.
  [-A] Pulse Analyzer. Enable pulse analysis and decode attempt.
       Disable all decoders with -R 0 if you want analyzer output only.
  [-y <code>] Verify decoding of demodulated test data (e.g. "{25}fb2dd58") with enabled devices
		= File I/O options =
  [-S none | all | unknown | known] Signal auto save. Creates one file per signal.
       Note: Saves raw I/Q samples (uint8 pcm, 2 channel). Preferred mode for generating test files.
  [-r <filename> | help] Read data from input file instead of a receiver
  [-w <filename> | help] Save data stream to output file (a '-' dumps samples to stdout)
  [-W <filename> | help] Save data stream to output file, overwrite existing file
		= Data output options =
  [-F kv | json | csv | mqtt | influx | syslog | null | help] Produce decoded output in given format.
       Append output to file with :<filename> (e.g. -F csv:log.csv), defaults to stdout.
       Specify host/port for syslog with e.g. -F syslog:127.0.0.1:1514
  [-M time[:<options>] | protocol | level | stats | bits | help] Add various meta data to each output.
  [-K FILE | PATH | <tag>] Add an expanded token or fixed tag to every output line.
  [-C native | si | customary] Convert units in decoded output.
  [-T <seconds>] Specify number of seconds to run, also 12:34 or 1h23m45s
  [-E hop | quit] Hop/Quit after outputting successful event(s)
  [-h] Output this usage help and exit
       Use -d, -g, -R, -X, -F, -M, -r, -w, or -W without argument for more help

To see all the output formatters you can pass -F without arguments

$ docker run hertzg/rtl_433 -F
rtl_433 version 20.02 branch  at 202002171252 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
/usr/local/bin/rtl_433: option requires an argument: F
Trying conf file at "rtl_433.conf"...
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
/usr/local/bin/rtl_433: option requires an argument: F
                = Output format option =
  [-F kv|json|csv|mqtt|influx|syslog|null] Produce decoded output in given format.
        Without this option the default is KV output. Use "-F null" to remove the default.
        Append output to file with :<filename> (e.g. -F csv:log.csv), defaults to stdout.
        Specify MQTT server with e.g. -F mqtt://localhost:1883
        Add MQTT options with e.g. -F "mqtt://host:1883,opt=arg"
        MQTT options are: user=foo, pass=bar, retain[=0|1], <format>[=topic]
        Supported MQTT formats: (default is all)
          events: posts JSON event data
          states: posts JSON state data
          devices: posts device and sensor info in nested topics
        The topic string will expand keys like [/model]
        E.g. -F "mqtt://localhost:1883,user=USERNAME,pass=PASSWORD,retain=0,devices=rtl_433[/id]"
        With MQTT each rtl_433 instance needs a distinct driver selection. The MQTT Client-ID is computed from the driver string.
        If you use multiple RTL-SDR, perhaps set a serial and select by that (helps not to get the wrong antenna).
        Specify InfluxDB 2.0 server with e.g. -F "influx://localhost:9999/api/v2/write?org=<org>&bucket=<bucket>,token=<authtoken>"
        Specify InfluxDB 1.x server with e.g. -F "influx://localhost:8086/write?db=<db>&p=<password>&u=<user>"
          Additional parameter -M time:unix:usec:utc for correct timestamps in InfluxDB recommended
        Specify host/port for syslog with e.g. -F syslog:127.0.0.1:1514

You can also use -d, -g, -R, -X, -F, -M, -r, -w, or -W without argument for more help on their usages as described in the help.

Example Usages

Use rtl_433 to capture 433Mhz traffic, decode it and send to your local MQTT broker.

pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433 -Fmqtt://127.0.0.1:1883

same as above and also send the data to influxdb

pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433 -Mtime:unix:usec:utc -Fmqtt://127.0.0.1:1883 -Finflux://127.0.0.1:8086/write?db=rtl433

same as above but with extra information like signal, protocol information and system stats

pi@raspberry:~ $ docker run --device /dev/bus/usb/001/003 hertzg/rtl_433 -Mtime:unix:usec:utc -Mbits -Mlevel -Mprotocol -Mstats:2:300 -Fmqtt://127.0.0.1:1883 -Finflux://127.0.0.1:8086/write?db=rtl433

same as above but for docker-compose.yaml using MQTT and InfluxDB from the same compose stack

version: "3"
services:
  rtl433:
    image: hertzg/rtl_433:latest
    devices:
      - "/dev/bus/usb/001/003"
    command:
      - "-Mtime:unix:usec:utc"
      - "-Mbits"
      - "-Mlevel"
      - "-Mprotocol"
      - "-Mstats:2:300"
      - "-Fmqtt://mosquitto:1883,retain=1"
      - "-Finflux://influxdb:8086/write?db=rtl433"

  mosquitto: ...

  influxdb: ...

Multi-arch

Images are ready to run on different architectures. Due to popularity of small "credit card" sized devices and such each tag has multi-arch manifest supporting following platforms:

Architecture Alpine Debian
linux/386 โœ”๏ธ โž–
linux/amd64 โœ”๏ธ โœ”๏ธ
linux/arm/v5 ๏ธโŒ โž–
linux/arm/v6 โœ”๏ธ โŒ๏ธ
linux/arm/v7 โœ”๏ธ โœ”๏ธ
linux/arm64/v8 โœ”๏ธ โœ”๏ธ
linux/mips64le โŒ๏ธ โœ”๏ธ
linux/ppc64le โœ”๏ธ โœ”๏ธ
linux/s390x โš ๏ธ โœ”๏ธ

Legend

  • โœ”๏ธ : Supported and built for
  • โš ๏ธ : Not buildable
  • โž– : Not supported (think of it as โŒ๏ธ)
  • โŒ๏ธ : Not supported by the base image

rtl_433_docker's People

Contributors

cjd avatar dependabot[bot] avatar deviantintegral avatar hertzg avatar jinnatar avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rtl_433_docker's Issues

udev mapping rule doesn't allow container to start

Not sure if this is an RTL_433 issue or a docker issue, but to get around the issue where the /dev/bus/usb path changes I'm trying to create a udev rule to map the device id to /dev/rtl433 and then pass that through to the container. However, the container doesn't seem to like that as I get this error:

rtl_433 version 20.11-117-g445ddda5 branch master at 202104251151 inputs file rtl_tcp RTL-SDR,
Use -h for usage help and see https://triq.org/ for documentation.,
Trying conf file at "rtl_433.conf"...,
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...,
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...,
Trying conf file at "/etc/rtl_433/rtl_433.conf"...,
Publishing MQTT data to XXXXXXXXX port 1883,
Publishing device info to MQTT topic "rtl_433[/model][/id]".,
Registered 2 out of 186 device decoding protocols [ 40-41 ],
No supported devices found.,

I suspect it's because RTL_433 is set to look for something on the /dev/bus/usb path. When I try to map /dev/rtl433 to something like.... /dev/bus/usb/001/004 I get this instead:

rtl_433 version 20.11-117-g445ddda5 branch master at 202104251151 inputs file rtl_tcp RTL-SDR,
Use -h for usage help and see https://triq.org/ for documentation.,
Trying conf file at "rtl_433.conf"...,
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...,
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...,
Trying conf file at "/etc/rtl_433/rtl_433.conf"...,
Publishing MQTT data to 192.168.30.12 port 1883,
Publishing device info to MQTT topic "rtl_433[/model][/id]".,
Registered 2 out of 186 device decoding protocols [ 40-41 ],
usb_open error -4,

If I map it to the match USB path of /dev/bus/usb it works. Which kinda defeats the point of a udev rule. Is there a way around this?

stop container if process exits

I recently had the rtl_433 process exit in the container, but the container did not stop:

Auto Level: Estimated noise level is -41.9 dB, adjusting minimum detection level to -38.9 dB
Input: Async read stalled, exiting!
66de7a967b34   ghcr.io/hertzg/rtl_433_docker:debian-latest-master    "/usr/local/bin/rtl_โ€ฆ"   2 months ago   Up 3 weeks                                                                                                                                                           rtl_433

Would it be possible to set it up so that the container also stops when the process exits?

As there is a high chance a simple restart will fix the issue

rtl_433 assertation failed on armv7l

Hi

1st of all, thanks a lot for making this image available.

Unfortunately due to a bug in the apline:3.13 / alpine:latest for arm docker container the latest hertzg/rtl_433 is not working anymore.

this is not a problem of the hertzg/rtl_433 image, but it could have been avoided by referencing inside the Dockerfile not to the alpine:latest, but to a verified working version (alpine:12.1 for example).

Alternative some check would be needed before triggering the availability on the docker hub.

docker run -it --rm --device /dev/bus/usb/001/004 hertzg/rtl_433:latest
rtl_433 version 20.11 branch  at 202011122224 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Registered 145 out of 175 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175 ]
Assertion failed: clock_gettime(1, tp) == 0 (libusbi.h: usbi_get_monotonic_time: 497)

cheers

No input driver for SoapySDR compiled in

I'm tearing my hair out trying to get this working. I have two identical RTL2838 dongles, exactly the same as @hertzg - and I've been trying to folllow this post to get two containers working with different frequencies. At first I had the issue of identical serial numbers so changed it on one of them. Now, whatever I try to do will not successfully start the container.

I had a single container working fine but adding the second seems to have messed things up somewhere. I now can't even go back to a single container with the previously working config. And I've tried so many things - I feared I may have somehow busted the dongles but have managed to confirm they are fine and get messages to my MQTT server by using native rtl_433 installed direct on my Ubuntu server.

What I think is the main issue is for some reason using -d :[serial number] in my docker-compose.yaml seems to force the container to try and run as SoapySDR.

rtl_433 version 22.11 (2022-11-19) inputs file rtl_tcp RTL-SDR with TLS
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "//.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
MQTT: Publishing MQTT data to 192.168.1.130 port 1883
MQTT: Publishing device info to MQTT topic "rtl_433/OilSonicWatchman".
[Protocols] Registered 212 out of 246 device decoding protocols [ 1-4 8 10-12 15-17 19-23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119-121 124-128 130-149 151-161 163-168 170-175 177-197 199 201-215 217-228 230-232 234-241 243-244 246 ]
[sdr_open] No input driver for SoapySDR compiled in.

And my docker-compose.yaml:

rtl_433:
    container_name: rtl_433
    image: ghcr.io/hertzg/rtl_433_docker:master
    user: 1000:1000
    environment:
      - TZ=Europe/London
    volumes:
      - /opt/smarthome/rtl_433:/etc/rtl_433
    devices:
      # - /dev/bus/usb/003/007
      - /dev/bus/usb
    command:
      - '-d :00000002'
      - '-f433.92M'
      - '-Fkv'
      - '-Csi'
      - '-Fmqtt://192.168.1.130:1883,user=XXXX,pass=XXXX,retain=1,devices=rtl_433/OilSonicWatchman'

Things I've tried:

  • Modprobe blocklist, or not
  • Udev rtl-sdr.rules
  • Restarting the server and unplugging/replugging dongles at various times
  • Different USB ports
  • Setting in config file vs from docker-compose commands
  • Different builds including specific version numbers

Can anyone shed some light on what I could maybe try next? I had a single dongle working fine but don't want gaps in my weather station data from a hop interval!

Many thanks in advance.

Time Zone Support for Alpine Image

Recommending appending "tzdata" to the Dockerfile command "RUN apk add --no-cache libusb librtlsdr" for the Alpine image. This along with "-e TZ=America/Los_Angeles" in the docker run command will set the container to the proper time zone and the rtl_433 output will have the correct time. ๐Ÿ‘

Invalid PSK settings for TLS MQTT

There is an issue using TLS for MQTT connections, which is only present on this docker implementation of rtl_433.
See merbanan/rtl_433#1569 (comment)

I am unable to replicate the issue outside of this docker image

docker-compose.yml:

version: '3'
services:
  rtl433:
    image: hertzg/rtl_433:latest
    devices:
      - '/dev/bus/usb/001/006'
    command:
      - '-Mtime:unix:usec:utc'
      - '-Mbits'
      - '-Mlevel'
      - '-Mprotocol'
      - '-Mstats:2:300'
      - '-Fmqtts://xxxxx:8883,user=xxxx,pass=xxxx'
    restart: always

Output:

rtl_433-rtl433-1  | rtl_433 version 22.11 (2022-11-19) inputs file rtl_tcp RTL-SDR with TLS
rtl_433-rtl433-1  | Use -h for usage help and see https://triq.org/ for documentation.
rtl_433-rtl433-1  | Trying conf file at "rtl_433.conf"...
rtl_433-rtl433-1  | Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
rtl_433-rtl433-1  | Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
rtl_433-rtl433-1  | Trying conf file at "/etc/rtl_433/rtl_433.conf"...
rtl_433-rtl433-1  | Publishing MQTT data to xxxxxxxxxxxxx port 8883 (TLS)
rtl_433-rtl433-1  | Publishing device info to MQTT topic "rtl_433/xxxxx/devices[/type][/model][/subtype][/channel][/id]".
rtl_433-rtl433-1  | Publishing events info to MQTT topic "rtl_433/xxxxx/events".
rtl_433-rtl433-1  | Publishing states info to MQTT topic "rtl_433/xxxxx/states".
rtl_433-rtl433-1  | MQTT connect (xxxxxxxxxxx:8883) failed: Invalid PSK settings

Unable to get -v or -vv to work when there are multiple arguments for rtl_433 in alpine image

I am wondering if I am doing something silly here but here are 3 scenarios, with the 3rd one not working correctly. I also have tried putting the -vv along with the mqtt argument and tried multiple permutations. Interestingly it does work with the latest-debian image. I am trying to debug why the alpine version stopped working reliably for me...

MQTT works when it is the only argument

    rtl433:
        container_name: rtl433
        image: hertzg/rtl_433:latest
        environment:
            - TZ=${TZ}
        devices:
            - "/dev/bus/usb/001/002"
        command:
            - "-Fmqtt://eclipse-mosquitto:1883,retain=1,devices=rtl_433[/model][/id]"
        restart: always

-vv works when it is the only argument

    rtl433:
        container_name: rtl433
        image: hertzg/rtl_433:latest
        environment:
            - TZ=${TZ}
        devices:
            - "/dev/bus/usb/001/002"
        command:
            - "-vv"
        restart: always

Only MQTT works when both are supplied and I cannot get verbosity to adjust or apply at all (this is the one I want to work and cannot get working)

    rtl433:
        container_name: rtl433
        image: hertzg/rtl_433:latest
        environment:
            - TZ=${TZ}
        devices:
            - "/dev/bus/usb/001/002"
        command:
            - "-vv"
            - "-Fmqtt://eclipse-mosquitto:1883,retain=1,devices=rtl_433[/model][/id]"
        restart: always

rtl_433 v22.11 not passing "-R" device flags correctly

ARCH: AMD64
OS: Debian 11 (Dietpi)
PROBLEM: rtl_433 not honoring individual device enable/disables passed via -R flag. Tried both as command: and :environment.

docker-compose:

version: '3'
services:
  rtl433:
    image: hertzg/rtl_433:latest
    restart: unless-stopped
    container_name: rtl_433
    hostname: rtl_433

    devices:
      - '/dev/bus/usb'
    command:
      - '-Mtime:unix:usec:utc'
      - '-Mbits'
      - '-Mlevel'
      - '-Mprotocol'
      - '-Mstats:2:300'
      - '-Yautolevel'
      - '-R-59 -R-60 -R-82 -R-88 -R-89 -R-90 -R-95 -R-110 -R-123 -R-140 -R-156 -R-168 -R-180 -R-186 -R-201 -R-203 -R-208 -R-212 -R-225 -R-226 -R-241'
    environment:
      - '-d :00005555'
      - '-R-59 -R-60 -R-82 -R-88 -R-89 -R-90 -R-95 -R-110 -R-123 -R-140 -R-156 -R-168 -R-180 -R-186 -R-201 -R-203 -R-208 -R-212 -R-225 -R-226 -R-241'

Output from started docker container

Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Publishing MQTT data to 10.4.10.162 port 1883
Publishing device info to MQTT topic "rtl_433/rtl_433/devices[/type][/model][/subtype][/channel][/id]".
Publishing events info to MQTT topic "rtl_433/rtl_433/events".
Publishing states info to MQTT topic "rtl_433/rtl_433/states".
Registered 190 out of 223 device decoding protocols [ 1-4 8 11-12 15-17 19-23 25-26 29-36 38-58 60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175 177-197 199 201-215 217-223 ]
Found Rafael Micro R820T/2 tuner
Exact sample rate is: 250000.000414 Hz
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
Allocating 15 zero-copy buffers
MQTT Connected...

Notice that the devices prohibited are being used (186 for example).

When I invoke rtl_433 from the CLI - with those command line switches, it correctly removes those.

build/src/rtl_433 -D restart -R-59 -R-60 -R-82 -R-88 -R-89 -R-90 -R-95 -R-110 -R-123 -R-140 -R-156 -R-168 -R-180 -R-186 -R-201 -R-203 -R-208 -R-212 -R-225 -R-226 -R-241 -Mtime:unix:usec:utc -Mbits -Mlevel -Mprotocol -Mstats:2:300 -d :00000978 -Y autolevel

....
[Protocols] Registered 191 out of 245 device decoding protocols [ 1-4 8 10-12 15-17 19-23 25-26 29-36 38-58 63 67-71 73-81 83-87 91-94 96-100 102-105 108-109 111-116 119-121 124-128 130-139 141-149 151-155 157-161 163-167 170-175 177-179 181-185 187-197 199 202 204-2

Might be related to : #63

Missing libressl.so.55 & libcrypto.so.52 during runtime only in Alpine 3.19

Hi. There appears to be a breaking change in the latest rtl_433 (23.11) that I believe are preventing the hertzg/rtl_433:latest docker container from starting.

Findings

The exact changes in the new release are here: @23.11

EDIT. 23.11-debian works so I think there may be some changes in the alpine image where it's missing libraries.

Logs

On boot, these errors print out over and over.

Error loading shared library libssl.so.55: No such file or directory (needed by /usr/local/bin/rtl_433)
Error loading shared library libcrypto.so.52: No such file or directory (needed by /usr/local/bin/rtl_433)
Error relocating /usr/local/bin/rtl_433: SSL_get_error: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_get_fd: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_write: symbol not found
Error relocating /usr/local/bin/rtl_433: SSLv23_client_method: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSLv23_server_method: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_certificate_chain_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_set_fd: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_set_verify: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_library_init: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_read: symbol not found
Error relocating /usr/local/bin/rtl_433: PEM_read_bio_DHparams: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_ctrl: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_new: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_certificate_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_shutdown: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_new_mem_buf: symbol not found
Error relocating /usr/local/bin/rtl_433: DH_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_accept: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_new: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_load_verify_locations: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_ctrl: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_PrivateKey_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_set_cipher_list: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_connect: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_free: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_new_file: symbol not found

Workaround

I was able to use a non-alpine docker image to get it running: hertzg/rtl_433:23.11-debian

Command not working properly

Unable to pass parameters it would seem.

Locally

/build/src/rtl_433 -R40 -R176:12080 -Fmqtt://192.168.1.33:1883,user=mqtt,pass=mqtt123,retain=0,devices=rtl_433[/model][/subtype][/channel][/id]
rtl_433 version 20.11-72-g914552b9 branch master at 202102121205 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/greg/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Publishing MQTT data to 192.168.1.33 port 1883
Publishing device info to MQTT topic "rtl_433[/model][/subtype][/channel][/id]".
Registered 2 out of 178 device decoding protocols [ 40 ]
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000 S/s.
Tuner gain set to Auto.
Tuned to 433.920MHz.
Allocating 15 zero-copy buffers
MQTT Connected...
MQTT Connection established.

docker-compose:

  rtl433:
    container_name: rtl433
    image: hertzg/rtl_433:latest
    devices:
      - /dev/bus/usb
    command:
      - "-R40 -R176:12080 -Fmqtt://192.168.1.33:1883,user=mqtt,pass=mqtt123,retain=0,devices=rtl_433[/model][/subtype][/channel][/id]"
      #- "-R40"
      #- "-R176:12080"
      #- "-Fmqtt://192.168.1.33:1883,user=mqtt,pass=mqtt123,retain=0,devices=rtl_433[/model][/subtype][/channel][/id]"
    restart: unless-stopped
...
rtl433         | rtl_433 version 20.11 branch  at 202011122224 inputs file rtl_tcp RTL-SDR
rtl433         | Use -h for usage help and see https://triq.org/ for documentation.
rtl433         | Trying conf file at "rtl_433.conf"...
rtl433         | Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
rtl433         | Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
rtl433         | Trying conf file at "/etc/rtl_433/rtl_433.conf"...
rtl433         | Protocol [40] "Acurite 592TXR Temp/Humidity, 5n1 Weather Station, 6045 Lightning, 3N1, Atlas" does not take arguments "12080 -F mqtt://192.168.1.33:1883,user=mqtt,pass=mqtt123,retain=0,devices=rtl_433[/model][/subtype][/channel][/id]"!
rtl433         | Registered 1 out of 175 device decoding protocols [ 40 ]
rtl433         | Detached kernel driver

I have tried both the single line in docker-compose as well as one parameter per line with the same results.

Shell script to start the container with the correct bus/device

Hi,

here is a simple shell script that can start the container with the correct USB bus and device.
User only need to change the search="0bda:2838" line.

#! /bin/bash
# see https://github.com/hertzg/rtl_433_docker

search="0bda:2838"
# or e.g. search="RTL2838", see output of lsusb

read bus device < <(
  lsusb |
    awk -v search="$search" '
      $0 ~ search { sub(/:/, "", $4); print $2, $4 }
    '
)
podman run --device /dev/bus/usb/$bus/$device hertzg/rtl_433 "$@"

RTL-SDR Blog V4 requires newer driver

I'm using an RTL-SDR Blog V4 kit and it seems this model requires a newer driver, as described on this page.

If I attempt to use the driver bundled with rtl_433, it fails with this output:

$ docker run --rm --device /dev/bus/usb/002/002 hertzg/rtl_433:23.11-debian

rtl_433 version 23.11 (2023-11-28) inputs file rtl_tcp RTL-SDR SoapySDR with TLS
Detached kernel driver
Found Rafael Micro R828D tuner
Exact sample rate is: 250000.000414 Hz
[SDR] Using device 0: RTLSDRBlog, Blog V4, SN: 00000001, "Generic RTL2832U OEM"
[R82XX] PLL not locked!
[R82XX] PLL not locked!
Allocating 15 zero-copy buffers

Following the instructions on the above linked page makes the device work correctly, but I'm not sure how to integrate the newer driver into this Docker image. Any assistance would be appreciated.

Device Filtering

This is more of a question than an issue.

The RTL_443 project doesn't support filtering devices and it would appear there is no plan to do so. See below.

merbanan/rtl_433#1933

Is there any chance this functionality could be added to this project? Funneling all 433mhz devices into my MQTT broker, without an allow list, seems like a bad idea.

Problem at start docker

I have a raspberry pi 3 and one pi 4 and when I start the docker everything is perfect, it starts everything correctly, but it does not listen or receive any rf data,
For it to work correctly, I have to remove the power from the usb where the rtl is plugged in and turn it back on, with this command
sudo uhubctl -l 1-1 -p 5 -a 0 "remove USB stream"
sudo uhubctl -l 1-1 -p 5 -a 1 "put USB power"

And so it already receives rf data

Is there any way for docker to do it automatically, or not to have that problem?
More than anything it is when you start the pi

Images not updated in Docker Hub

Hi,
I noticed that since the refactoring in February, the images are not pushed to dockerhub (I don't know if they were pushed before but the latest tag of all images is 14.2).
If this is by design feel free to close this issue, but then the documentation should have the information how to build my own images locally.

Run docker/build-push-action@v2
๐Ÿ“ฃ Buildx version: 0.5.1
๐Ÿƒ Starting build...
/usr/bin/docker buildx build --build-arg alpineVersion=3.13 --build-arg rtl433GitVersion=20.11 --tag ***/rtl_433:alpine-3.13-20.11 --tag ***/rtl_433:alpine-latest-20.11 --tag ***/rtl_433:alpine-20.11 --tag ***/rtl_433:alpine --tag ***/rtl_433:alpine-latest-latest --tag ***/rtl_433:alpine-latest --tag ***/rtl_433:latest --platform linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x --iidfile /tmp/docker-build-push-wmjSBp/iidfile --cache-from type=local,src=/tmp/.buildx-cache --cache-to type=local,dest=/tmp/.buildx-cache --file ./images/alpine/build-context/Dockerfile --pull ./images/alpine/build-context
time="2021-04-25T00:09:00Z" level=warning msg="No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load"

Alpine 3.13 Tag Containers Don't Start on ARMv7

Hi

Thanks for maintaining this image. I don't know that this is an issue you can fix but wanted to let you know that the Alpine 3.13 container fails to start in this environment/hardware:
Raspberry PI
ARMv7
Debian 10.6
This is the command that fails and the output:
sudo docker run --rm -it --device /dev/bus/usb/001/005 hertzg/rtl_433:alpine-3.13-latest
rtl_433 version 20.11 branch at 202011122224 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/root/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
Registered 145 out of 175 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 102-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175 ]
Assertion failed: clock_gettime(1, tp) == 0 (libusbi.h: usbi_get_monotonic_time: 497)

This image/command works fine:
sudo docker run --rm -it --device /dev/bus/usb/001/005 hertzg/rtl_433:alpine-3.12-latest

Feel free to close this if it is not something that can be fixed on your side.

all docker images are the same version of rtl_433?

Hello,

long-time user of rtl_433 and docker, but finally getting around to combining the two..

I have tried all of the following images of yours:

hertzg/rtl_433:latest
hertzg/rtl_433:master
hertzg/rtl_433:alpine-latest-latest
hertzg/rtl_433:alpine
hertzg/rtl_433:alpine-nightly
hertzg/rtl_433:alpine-latest-nightly
hertzg/rtl_433:alpine-master

However, they ALL seem to be the same version of rtl_433?

Every one of those images are the most recent official release of rtl_433, which is: rtl_433 version 22.11 (2022-11-19)

Am I doing something wrong or missing something?? How can I get the latest version commit of rtl_433?

Thanks!

Alternative method of referencing usb devices and configs

Hi,

  1. Have you considered referencing the device /dev/bus/usb directly? This would obviate the need for finding the specific usb device ID which may change, as well as allow specifying the device serial number directly (if the user has set it in eeprom). This is helpful when leveraging several RTL-SDR devices.
  2. Have you considered referencing a volume mapping for rtl_433.conf to live on the host? In my opinion, the config file is more readable than numerous CLI arguments in a complex environment.

For reference, both of these techniques are used on a related-but-unrelated project, and I think it works well: rtlamr2mqq

Missing libssl on Debian images

Hi,

I'm trying to use the image tagged :debian and I get the following on start:

/usr/local/bin/rtl_433: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

It looks like libssl is not beeing installed in the Dockerfile. There was a change for the Alpine Dockerfile recently adding it. Could you please add it to the Debian Dockerfile as well.

Multiple frequency and Hop

I have been trying to do multiple frequency in a docker-compose.yml. Does this docker container do multiple frequency like the native Merbanan install? if so I want to hop between 2 frequencys.

Something broke with latest Master/nightly images..

Hello,

Just noticed that my container updated to latest nightly (hertzg/rtl_433:nightly) last night and rtl_433 has stopped working since then...

I have tried going to hertzg/rtl_433:master but that is also broken. switching to hertzg/rtl_433:latest works however.

Not sure what might have changed, or if I'm the only one experiencing this issue.

Unfortunately rtl_433 logs don't provide anything of value and I'm not really sure where else to look.

maybe because of: merbanan/rtl_433@138b389
or merbanan/rtl_433@a36f9a2
?

Please let me know if I can help in any way.

Debian images built against buster, not bullseye

I see the bullseye images haven't been updated in a year while buster images still do. Bullseye has already gone stable and should probably replace the Buster images that are starting to contain fairly out of date software. For example, if I want to build a Python based piece of software on top of the image, there are no images now that contain even Python3.8, I'm stuck with Python3.7 that shipped with Buster in 2019.

latest image doesnt containe latest changes to RTL_433

hi, i am trying to use your image, but i see that is not based on the latest rtl_433. Noticed this as i am looking for protocol 192, the current image only supports up to 186. I can see on the rtl_433 that it is now at 200 protocols.

Is ther a way to get the latest?

usb_claim_interface error -6

Hi

I`m trying to setup RPI 4 ( or Zero W ) with Realtek RTL2838 DVB-T dongle and getting USB claim conflick.

Device:
image

pi@raspberrypi:~ $ sudo docker run -it --rm --device /dev/bus/usb/001/003 hertzg/rtl_433:debian-buster-latest Unable to find image 'hertzg/rtl_433:debian-buster-latest' locally debian-buster-latest: Pulling from hertzg/rtl_433 4c2a0a79594a: Pull complete d0917e1c3515: Pull complete 34797a5bd9e2: Pull complete Digest: sha256:44a89ffc58ffcd36383487a7301281159d0d4f0d7def4054e172ba18366d6ee7 Status: Downloaded newer image for hertzg/rtl_433:debian-buster-latest rtl_433 version 20.11 branch at 202011122224 inputs file rtl_tcp RTL-SDR Use -h for usage help and see https://triq.org/ for documentation. Trying conf file at "rtl_433.conf"... Trying conf file at "/root/.config/rtl_433/rtl_433.conf"... Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"... Trying conf file at "/etc/rtl_433/rtl_433.conf"... Registered 145 out of 175 device decoding protocols [ 1-4 8 11-12 15-17 19-21 23 25-26 29-36 38-60 63 67-71 73-100 10 2-105 108-116 119 121 124-128 130-149 151-161 163-168 170-175 ] usb_claim_interface error -6
image

Add stable tag/reduce build frequency

Would it be possible to reduce the build frequency from daily to weekly? Or add a stable tag that gets updated less frequently? I use DIUN to notify me of container updates and it gets triggered every night which gets annoying. What I've done on other repos is create a separate build file but before I submitted the PR wanted to make sure that was ok.

hertzg/rtl_433:alpine-3.12-20.11 linux/arm/v6 broken after adding SSL

Just wanted to let you know that the hertzg/rtl_433:alpine-3.12-20.11 ARM image no longer starts up with the latest changes that enabled SSL when building rtl_433 (I was running it on a raspi).

I switched to alpine-3.12-master which works fine, so I don't think this will block anyone. Maybe the easiest thing to do is just stop building this specific combination of alpine/rtl_433, or have SSL disabled for it.

Error loading shared library libcrypto.so.46: No such file or directory (needed by /usr/local/bin/rtl_433)
Error relocating /usr/local/bin/rtl_433: SSL_get_error: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_get_fd: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_write: symbol not found
Error relocating /usr/local/bin/rtl_433: SSLv23_client_method: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSLv23_server_method: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_certificate_chain_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_set_fd: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_set_verify: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_library_init: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_read: symbol not found
Error relocating /usr/local/bin/rtl_433: PEM_read_bio_DHparams: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_ctrl: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_new: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_certificate_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_shutdown: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_new_mem_buf: symbol not found
Error relocating /usr/local/bin/rtl_433: DH_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_accept: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_new: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_free: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_load_verify_locations: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_use_PrivateKey_file: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_set_cipher_list: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_connect: symbol not found
Error relocating /usr/local/bin/rtl_433: SSL_CTX_free: symbol not found
Error relocating /usr/local/bin/rtl_433: BIO_new_file: symbol not found```

Container isn't working, local runs fine

Sorry I don't have a better title. My power monitoring (Blueline) has stopped working inside the container.

Locally

I've pulled the latest master from git, compiled, and it works fine.

./rtl_433 -R 40 -R 176:12080 -F mqtt://192.168.1.33,user=mqtt,pass=ABC123,retain=0,devices=rtl_433[/model][/subtype][/channel][/id]
rtl_433 version nightly-4-g767e5387 branch master at 202306081919 inputs file rtl_tcp RTL-SDR
Use -h for usage help and see https://triq.org/ for documentation.
Trying conf file at "rtl_433.conf"...
Trying conf file at "/home/greg/.config/rtl_433/rtl_433.conf"...
Trying conf file at "/usr/local/etc/rtl_433/rtl_433.conf"...
Trying conf file at "/etc/rtl_433/rtl_433.conf"...
MQTT: Publishing MQTT data to 192.168.1.33 port 1883
MQTT: Publishing device info to MQTT topic "rtl_433[/model][/subtype][/channel][/id]".
Use "-F log" if you want any messages, warnings, and errors in the console.
Detached kernel driver
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Allocating 15 zero-copy buffers
ps aux | grep rtl
greg     2399931  2.4  0.0 131984  5888 pts/0    Sl+  11:46   0:00 ./rtl_433 -R 40 -R 176:12080 -F mqtt://192.168.1.33 user mqtt pass ABC123 retain 0 devices rtl_433[/model][/subtype][/channel][/id]

Pulses showing up in MQTT-explorer from BOTH my power monitor as well as my thermometer.
image

Container

If I stop the process above and switch to a container,

  rtl433:
    container_name: rtl433
    image: hertzg/rtl_433:master
    devices:
      - /dev/bus/usb
    command:
      - "-R"
      - "40"
      - "-R"
      - "176:12080"
      - "-F"
      - "mqtt://192.168.1.33,user=mqtt,pass=ABC123,retain=0,devices=rtl_433[/model][/subtype][/channel][/id]"
    restart: unless-stopped
docker exec -it rtl433 ash
~ # ps 
PID   USER     TIME  COMMAND
    1 root      0:00 /usr/local/bin/rtl_433 -R 40 -R 176:12080 -F mqtt://192.168.1.33 user mqtt pass mqtt123 retain 0 devices rtl_433[/model][/subtype][/channel][/id]

The power messages no longer appear. The temperature sensor messages continue to appear.
image

I have tried both hertzg/rtl_433:master and hertzg/rtl_433:latest with the same issue. My container setup was working without any hiccups at all until May 30th.

tag:master not updated in 10 months

Hi,
following the documentation and needing new features added since last release, used the "master" docker image and found out it was older than the "latest"
Not sure if it is as intended, changed to "alpine-latest" and problem solved, but decided to report anyway just to made you aware of the issue (if it even is an issue at all, probably just my wrong interpretation of the documentation).

Thank you for your work in this docker image!

Docs: latest references are out of date

Hi. Thanks for your project!

Am I right that there's a new "latest" release since these docs were updated to refer to 22.11?
I see 23.11 now: https://github.com/merbanan/rtl_433/releases/latest

Keep in mind that only the latest release of rtl_433 (22.11 as of 2023-05-28) is considered :latest as <rtl_433_git_ref>.

and in other references below that information.

It would be great if you could update this in your documentation.
Thank you. ๐Ÿ‘

Debian builds actually based upon Alpine

I was experiencing an issue similar #68, getting TLS to work with MQTT. I'd previously had issues with the Alpine container and had switched to the Debian-based builds to get everything working. The issue linked to by @metrafonic had a few hints on checking the SSL library, which I tried to double checked only to find that apt was missing from the Debian builds. Doing a sanity check revealed the *-debian-* images are actually based on Alpine:

user@hostname:/path$ docker run --rm -it --entrypoint /bin/sh ghcr.io/hertzg/rtl_433_docker:22.11-debian-bullseye
Unable to find image 'ghcr.io/hertzg/rtl_433_docker:22.11-debian-bullseye' locally
22.11-debian-bullseye: Pulling from hertzg/rtl_433_docker
7264a8db6415: Already exists 
1bbc95af9f57: Pull complete 
4f4fb700ef54: Pull complete 
41f9d701da10: Pull complete 
Digest: sha256:3c1c545a350b71cbf84804ba97719372c5e460ff5374ef899d084834f4c73f67
Status: Downloaded newer image for ghcr.io/hertzg/rtl_433_docker:22.11-debian-bullseye
~ # cat /etc/os-release 
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.18.3
PRETTY_NAME="Alpine Linux v3.18"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
~ # 

The current tags for 22.11-debian-bullseye1 and 22.11-debian-bookworm2 likewise share the base layer 4693057ce2364720d39e57e85a5b8e0bd9ac3573716237736d6470ec5b7b7230, which is an Alpine base.

A recent GitHub action log also indicates that the Alpine configuration is being pulled at runtime to build the *-debian-* images:

image

I'm not familiar with TypeScript or the build process used by the project, but I think the offending lines were introduced in 62d7991, meaning all the builds since May have been based on the wrong image. I think this could help explain some other recent issues, like #83.

context: "./images/alpine/build-context",
file: "./images/alpine/build-context/Dockerfile",

I can submit a PR just changing those lines, but without being more familiar with the build system I'm not sure if I can accurately test it.

Footnotes

  1. ghcr.io/hertzg/rtl_433_docker@sha256:3c1c545a350b71cbf84804ba97719372c5e460ff5374ef899d084834f4c73f67 โ†ฉ

  2. ghcr.io/hertzg/rtl_433_docker@sha256:75c23722d3b83748ab1d581db5b2f94b4657ec55f4b3652b2f349e3d18acf96a โ†ฉ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.