Local separate installation of SatNOGS

My question is partly related to the previous topic about creating an offline testing station, which was very similar.

Simply put, would it be possible to make a copy of SatNOGS (probably client, network, auto-scheduler, and DB) so that all operations are independent of the web parts of SatNOGS?

I went through the documentation of individual installation parts such as config, client, network, and DB, but it is not documented much in detail.

If I understand correctly, satnogs-client checks the entered observations in the system (satngos-network) and uses satnogsclient.scheduler.tasks to find out which records are for a given station and to perform them at a given time. This is probably the main reason why I would use satnogs-network because observations can be entered using an auto-scheduler, and thanks to @mfalkvidd I modified his script to save important files to another location on disk. It’s really useful!

Another aspect is to add a satellite that is not in the SatNOGS database yet.
I found that it would be necessary to create a ticket for a specific satellite, then the satellite needs to be added to SatNOGS-DB and finally configure the transponders. Therefore, I would probably use a local satnogs-db, where it could make possible these changes myself.

@pierros mentioned that this procedure is used during the development stage. SatNOGS-Network and DB are primary set to local port 8000 so I assume that in the development you always work only with one instance/docker container.

Would it be possible to describe in more detail how to connect all parts of SatNOGS to create a working system?


1 Like

If you only want to test the client alone for development purposes, there is already a way to fake an observation. Check this Robot Framework testcase. It can be executed using tox -e robot. It will bring up a mocked SatNOGS Network API server and send the client a 10 second job with fake (but valid) TLEs. You can customize the testcase and change the parameters of course to match your use case.

I tried to run the robot and it seems really useful.
But when I first look at Orbital.py, I’m not sure if it’s possible to enter future observations there. This feature is most useful on SatNOGS.