Getting Started - aaronwmorris/indi-allsky GitHub Wiki

Overview

indi-allsky has a significant set of library requirements. Not every package that is installed is needed in all cases, however, they are installed as a precaution. In some cases where pre-compiled Python wheels are not available for a platform, the Python pip tool may attempt to compile python modules from source.

Recommended OS

Platform Recommendation
x86_64 Ubuntu 22.04 Jammy or Debian 12 Bookworm
Raspberry Pi 3+ Raspberry Pi OS 12 64-bit Bookworm

Warning

Due to the large number of packages installed, it is NOT recommended to install indi-allsky on a production system that has other purposes. indi-allsky will not damage your system, but if you uninstall indi-allsky it can be difficult to remove all of the dependencies and you may be left with 3-5GB of additional packages that you do not need. All of the packages are regular system packages, so they will still be managed and patched through the system package manager (apt).

Install

To run an instance of indi-allsky, you need to perform the following actions:

  1. Install git
sudo apt-get install git
  1. Clone the indi-allsky git repository
git clone https://github.com/aaronwmorris/indi-allsky.git
  1. Navigate to the indi-allky sub-directory
cd indi-allsky/
  1. Run setup.sh to install the indi-allsky system
./setup.sh

The setup.sh script will tell you if you are required to build the INDI software (documented below)

If you run into problems with missing commands here, you may need to install additional packages to get started.

    sudo apt-get install lsb-release libc-bin whiptail

    # Ubuntu only
    sudo apt-get install software-properties-common
  1. Start the software
systemctl --user start indi-allsky

Make sure your camera is plugged in before starting the services

  1. Login to the indi-allsky web application https://raspberrypi.local/
  • Note: The web server is configured with a self-signed certificate.

Manual operation

  1. Stop indi-allsky service
systemctl --user stop indi-allsky
  1. Activate the indi-allsky python virtual environment
source virtualenv/indi-allsky/bin/activate
  1. Start indi-allsky
./allsky.py run

INDI requirements

indi-allsky requires a modern version of INDI (2.0.0+) to operate. This will have to be installed from a custom repository or built from source. Pre-compiled binaries are currently only available for the Ubuntu x86_64 and arm64 distribution. The setup.sh script will automatically setup the INDI PPA repository for you under Ubuntu.

Compiling INDI

indi-allsky includes a script for compiling INDI from source. The script is completely self-contained and automated.

./misc/build_indi.sh

The script requires an Internet connection to download packages and the source from GitHub.

System Time Notes
Modern PC 10-20 minutes
Raspberry Pi 5 10-20 minutes Active cooling
Raspberry Pi 4 4GB 40 minutes Requires more time if you do not have a fan/heatsink
Raspberry Pi 3 1GB 3-4 hours

libcamera only build

If you plan on using a libcamera supported camera module, you only need to compile the core INDI library (without the 3rd party libraries and drivers). This can reduce your compile time by 50%

BUILD_INDI_CORE=true BUILD_INDI_3RDPARTY=false ./misc/build_indi.sh

WARNING: If you do this, the 3rd party indiserver drivers for ZWO, Player One, Touptek, etc will NOT be built.

Services

The indi-allsky system consists of three services:

Service systemd Purpose
Capture indi-allsky Responsible for taking images, generating timelapses, and file transfers
indiserver indiserver Manages the camera hardware
Web Server gunicorn-indi-allsky Web interface