Satnogs-client + docker (error)

I’m trying to install a remote station with docker, but I always get this error (RuntimeError: Failed to create FFTW wisdom lockfile: /.gr_fftw_wisdom.lock), I used different images, but always the same error. I use an RPI4 with bullseye 11 lite. I also attach my configuration files and error logs. Unfortunately I’m not very expert in docker, but the installation gives no errors!

Log

satnogs_client-1 | satnogsclient.observer.observer - INFO - Begin observation 9430635 …
satnogs_client-1 | rot_init called
satnogs_client-1 | initrots4_dummy: _init called
satnogs_client-1 | rot_register (1)
satnogs_client-1 | rot_register (2)
satnogs_client-1 | dummy_rot_init called
satnogs_client-1 | rot_open called
satnogs_client-1 | dummy_rot_open called
satnogs_client-1 | rot_get_position called
satnogs_client-1 | dummy_rot_get_position called
satnogs_client-1 | rot_get_position: got az=0.00, el=0.00
satnogs_client-1 | rot_set_position called az=282.67 el=10.02
satnogs_client-1 | rot_set_position: south_zero=0
satnogs_client-1 | rot_set_position: range problem az=282.67(min=-180.00,max=180.00), el=10.023772(min=0.00,max=90.000000)
satnogs_client-1 | rig_init: rig does not have rx_range!!
satnogs_client-1 | network_open: hoststr=rigctld, portstr=4532
satnogs_client-1 | satnogsclient.observer.observer - INFO - Start gnuradio thread.
satnogs_client-1 | Found Elonics E4000 tuner
satnogs_client-1 | [INFO] Opening Generic RTL2832U OEM :: 00000005…
satnogs_client-1 | Found Elonics E4000 tuner
satnogs_client-1 | [INFO] Using format CF32.
satnogs_client-1 | Traceback (most recent call last):
satnogs_client-1 | File “/usr/bin/satnogs_fsk.py”, line 554, in
satnogs_client-1 | main()
satnogs_client-1 | File “/usr/bin/satnogs_fsk.py”, line 537, in main
satnogs_client-1 | tb = top_block_cls(antenna=options.antenna, baudrate=options.baudrate, bb_freq=options.bb_freq, bw=options.bw, dc_removal=options.dc_rd_data_file_path=options.decoded_data_file_path, dev_args=options.dev_args, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=optidump, file_path=options.file_path, framing=options.framing, gain=options.gain, gain_mode=options.gain_mode, iq_file_path=options.iq_file_path, lo_offset=optioother_settings=options.other_settings, ppm=options.ppm, rigctl_host=options.rigctl_host, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, samp_rate_r_rate_rx, soapy_rx_device=options.soapy_rx_device, stream_args=options.stream_args, tune_args=options.tune_args, udp_IP=options.udp_IP, udp_dump_host=options. udp_dump_port=options.udp_dump_port, udp_port=options.udp_port, waterfall_file_path=options.waterfall_file_path)
satnogs_client-1 | File “/usr/bin/satnogs_fsk.py”, line 132, in init
satnogs_client-1 | self.satnogs_waterfall_sink_0 = satnogs.waterfall_sink(baudrate*decimation, rx_freq, 10, 1024, waterfall_file_path, 1)
satnogs_client-1 | File “/usr/lib/python3/dist-packages/satnogs/satnogs_swig0.py”, line 5127, in make
satnogs_client-1 | return _satnogs_swig0.waterfall_sink_make(samp_rate, center_freq, rps, fft_size, filename, mode)
satnogs_client-1 | RuntimeError: Failed to create FFTW wisdom lockfile: /.gr_fftw_wisdom.lock
satnogs_client-1 | netrigctl_close: done status=Command completed successfully
satnogs_client-1 | satnogsclient.observer.observer - INFO - Observation 9430635 finished.
satnogs_client-1 | satnogsclient.observer.observer - ERROR - No waterfall data file found
^Ccanceled

docker-compose.yml

version: ‘2.38’
services:

rigctld:
image: librespace/hamlib:latest
user: ‘3537’
read_only: true
environment:
MODEL: ‘1’
restart: ‘unless-stopped’
command: ‘rigctld’

satnogs_client:
image: librespace/satnogs-client:master # LSF stable docker image
#image: librespace/satnogs-client:master-unstable # LSF experimental docker image
#image: librespace/satnogs-client:lsf-addons # LSF stable + gr-satellites and addons
#image: librespace/satnogs-client:lsf-dev-addons # LSF unstable + gr-satellites and addons
#image: knegge/satnogs-client:lsf-addons # The main addons image that runs on top of the official gnuradio+satnogs image.
#image: knegge/satnogs-client:lsf-dev-addons #Same as above but using EXPERIMENTAL=true, which is master branches and not the tagged versions.
#image: knegge/satnogs-client:sa2kng #My collection of MR’s that has not been merged yet, so a few fixes and improvements. Using the experimental base image.
#image: knegge/satnogs-client:sa2kng-addons #My collections and addons, this is the most feature packed.
user: ‘3537’
read_only: true
init: true # init is needed when launching processes in the background
env_file:
- ./station.env
environment:
SATNOGS_RIG_IP: ‘rigctld’
SATNOGS_RIG_PORT: ‘4532’
command: ‘satnogs-client’ # default
device_cgroup_rules:
- ‘c 189:* rwm’
devices:
- ‘/dev/bus/usb’
volumes:
- type: ‘tmpfs’
target: ‘/tmp’
- type: ‘volume’
source: ‘satnogs-client’
target: ‘/var/lib/satnogs-client’
restart: ‘unless-stopped’
stop_grace_period: 1s

volumes:
satnogs-client: # persistent named volume for the station

station.env

SATNOGS_API_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxx
#SATNOGS_DB_API_TOKEN=
#SATNOGS_ARTIFACTS_API_TOKEN=
#SATNOGS_ARTIFACTS_ENABLED=True
SATNOGS_SOAPY_RX_DEVICE=“driver=rtlsdr,serial=00000005”
SATNOGS_ANTENNA=RX
SATNOGS_RX_SAMP_RATE=2.048e6
SATNOGS_PPM_ERROR=0
SATNOGS_RF_GAIN=42
SATNOGS_GAIN_MODE=“Overall”
SATNOGS_OTHER_SETTINGS=“IF1=6,IF2=3,IF2=2,IF3=0,IF4=0,IF5=2,IF6=3,TUNER=30”
SATNOGS_STATION_ELEV=4
SATNOGS_STATION_ID=3537
SATNOGS_STATION_LAT=44.040
SATNOGS_STATION_LON=8.220

SATNOGS_LOG_LEVEL=INFO
#SATNOGS_PRE_OBSERVATION_SCRIPT=satnogs-pre {{ID}} {{FREQ}} {{TLE}} {{TIMESTAMP}} {{BAUD}} {{SCRIPT_NAME}}
#SATNOGS_POST_OBSERVATION_SCRIPT=satnogs-post {{ID}} {{FREQ}} {{TLE}} {{TIMESTAMP}} {{BAUD}} {{SCRIPT_NAME}}
#UDP_DUMP_HOST=127.0.0.1

#SATNOGS_GPSD_CLIENT_ENABLED=True
#SATNOGS_GPSD_TIMEOUT=30
#AUTO_SCHEDULER_EXTRA=-P prio.txt -d 1.2
#GRSAT_KEEPLOGS=yes
#DIREWOLF_ENABLE=yes
#IREWOLF_CONF=/var/lib/satnogs-client/direwolf.conf
#ENABLE_IQ_DUMP=True
#IQ_DUMP_FILENAME=/tmp/iq
#IQ_DUMP_RENAME=yes

Hi there, looking at the yml, why is this changed ? user: ‘3537’
If it doen’t match this then you’re out on pretty thin ice.
If you are building it yourself, then make absolutely sure that they match, else you will probably get thrown into / and no write permission there for any of the files that are supposed to go into the user home dir (for this is /var/lib/satnogs-client).

It works !!!, I saw user and I don’t know why I assumed that it meant my user, I changed it and now it works… Thanks for the help

1 Like