SatNOGS Client Ansible

From SatNOGS Wiki


SatNOGS Client Ansible makes the actual provisioning of the SatNOGS Client system. It is called, under the hood, when applying the configuration using SatNOGS Client Setup utility. It currently supports Raspbian and Debian (stretch and buster).


For Raspberry Pi, which is the reference platform for SatNOGS, a Raspbian image with SatNOGS Client Ansible pre-installed is available.


Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host. If you are using SatNOGS Raspbian image, follow SatNOGS Client Setup to set up your system.

These sections contain generic instructions for installing SatNOGS Client on a Debian system.


  • A target Debian system. To install Debian please follow the Debian Installation Guide and chose the net installer if you want to run a headless server. The target system can be the host itself.
  • A user (referenced later as youruser) which is member of 'sudo' group exists on the target system.
  • An SSH server running on the target system.
  • A host system with Git and latest version of Ansible installed. To install Ansible on Debian, follow the Ansible Installation Guide.


On the host system run the following commands:

$ git clone    # Clone SatNOGS Client Ansible repository
$ cd satnogs-client-ansible                              # Change to cloned repository directory
$ git checkout stable                                    # Optionally, check out stable (Debian Buster 10) branch
$ cp -r production.dist production                       # Copy dist configuration
$ vi production/inventory/hosts                          # Update file with your own target host e.g., user and SSH password
$ ssh youruser@yourtargetsystem true                     # Test SSH connection to target system
$ ansible-playbook -i production/inventory -K site.yml   # Run Ansible playbook
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup    # Setup SatNOGS client (see below)

See also