SatNOGS Client Ansible

From SatNOGS Wiki

Introduction

Important.png
Follow these instructions only if you are provisioning SatNOGS to Debian from another host or are installing on the same host.

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).

Raspbian

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.

Debian

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. Thus, while derived from Debian, SatNOGS Client Ansible is known to break for Ubuntu and Linux Mint. If you are an experienced user, a manual installation of all components could be possible.

Installation Guide

Prerequisites

  • 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. Don't use the username `satnogs` when you install the Debian system.
  • An SSH server running on the target system.
  • Install installation dependencies: `sudo apt-get install ansible git sshpass python-setuptools`

Installation

On the host system run the following commands:

$ git clone https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git    # 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. 127.0.0.1, 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)


Next Steps

Follow SatNOGS Client Setup to configure your system and SatNOGS station.