SatNOGS Client Ansible

From SatNOGS Wiki
Revision as of 08:18, 23 November 2021 by Kerel+satnogs (talk | contribs) (Add link to Raspberry Pi Setup Guide)


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 custom Raspbian image with SatNOGS Client Ansible pre-installed is available. Installation instructions are given in the Raspberry Pi Setup Guide.


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.

Other distributions

Other distributions are not supported by SatNOGS Client Ansible, as the pre-built packages won't be compatible. While derived from Debian, this includes Ubuntu und Linux Mint.


  • 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/hosts -K site.yml   # Run Ansible playbook
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup          # Setup SatNOGS client (see below)

See also