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 |
---|---|
Raspberry Pi 3+ | Raspberry Pi OS 12 64-bit Bookworm |
x86_64 | Ubuntu 22.04 Jammy or Debian 12 Bookworm |
32-bit Debian 12 (bookworm) & 11 (bullseye)
WARNING: Many python modules need to be compiled from source. This can take several hours to complete. Recommend the 64-bit release.
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:
- Install git
sudo apt-get install git
- Clone the indi-allsky git repository
git clone https://github.com/aaronwmorris/indi-allsky.git
- Navigate to the indi-allky sub-directory
cd indi-allsky/
- 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)
Note 1: 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
Note 2: If you run into a problem where the DBUS user session is not found even after rebooting, make sure you are running setup.sh WITHOUT the use of a virtual terminal such as screen
, tmux
, or byobu
. Some condition, which is not fully understood, may cause problems with the DBUS user session.
- Start the software
systemctl --user start indi-allsky
Make sure your camera is plugged in before starting the services
- Login to the indi-allsky web application https://raspberrypi.local/
- Note: The web server is configured with a self-signed certificate.
Manual operation
- Stop indi-allsky service
systemctl --user stop indi-allsky
- Activate the indi-allsky python virtual environment
source virtualenv/indi-allsky/bin/activate
- 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 |
Web-only install
The web-only install is intended for configuration to use the SyncAPI and no camera is directly connected.
- Install git
sudo apt-get install git
- Clone the indi-allsky git repository
git clone https://github.com/aaronwmorris/indi-allsky.git
- Navigate to the indi-allky sub-directory
cd indi-allsky/
- Run setup.sh to install the indi-allsky system
./misc/web_only_setup.sh
- Login to the indi-allsky web application https://hostname/
- Note: The web server is configured with a self-signed certificate.
- On an internet-facing system, you now have the opportunity to setup proper signed certificate using Lets Encrypt or a similar service. The certificate locations can be updated in the following location:
/etc/apache2/sites-enabled/indi-allsky.conf