I apologise in advance if this isn’t the best place for this post since it’s possibly better suited as a pull request on git lab or gut hub. I also apologise if this comes across as somewhat blunt - I’m writing this from my phone and have been pressed for time lately with parental responsibilities.
Anyways, I’ve spent a bit of time getting sa2kng’s extended version of the satnogs client up and running and thought I’d share the main issues I found and how to resolve them: I figure even if the docs and repo aren’t updated any time soon, other people might find their way to this post and hopefully it helps.
- Problem: rtlsdr device not found inside container.
I forgot to update the blacklisted drivers config.
Decided to add this because my previous station setup was installed with the legacy ansible installer which modified the modprobe blacklist and rules files. I’m an idiot and I’m owning up to it.
- Problem: Portainer gave an error saying that “station.env” could not be found when attempting to deploy the stack
Cause: I copied the docker compose file into the Portainer stack editor which referred to station.env
.
Fix: When you use the environment variable editor in Portainer, you need to change the entry under env_file:
from station.env
to ./stack.env
.
It might be worth updating the compose file with a commented line under env_file
like:
# If using Portainer, use this instead of station.env
# - ./stack.env
- Problem: Observations were failing for seemingly no reason. The container could see the usb device and the environment variables were correct.
Cause: Timezone and local time were hard coded into docker build script as EU/ETC
, meaning the output from the date
command inside the container was 8 hours behind the host system time. This meant the client never even attempts to perform an observation since it thinks it won’t be for another 8 hours.
Fix: In the stack configuration for the satnogs client service, added these entries under volumes:
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
And added TZ: <my time zone>
into the environment section of the satnogs-client service
This got the container running at the correct time, but /etc/timezone was still incorrect because somewhere in the docker build process a symlink was created to the UTC/ETC file in the locales directory.
It might be worth removing that step from the build process and just binding to the host directories mentioned above.
Anyways, many thanks sa2kng for your efforts with the everything and the documentation you’ve provided.