-
Notifications
You must be signed in to change notification settings - Fork 78
Debian Deployment Workflow
This document outlines the complete release lifecycle for maintainers, the CI/CD build and APT repository pipeline, and target system installation instructions.
Official releases follow the version pattern indi_vyyyy.mm.xx (e.g. indi_v2026.09.01). The indi_v* tag prefix is required to trigger the automated GitHub Actions packaging workflow.
To cut a new official release, run the following commands from the repository root:
# 1. Bump the version across all codebase manifests (indi_allsky/version.py, package.json, base.html, debian/changelog)
npm run version:bump -- indi_v2026.09.01
# 2. Stage and commit the bumped version
git add -u
git commit -m "Release indi_v2026.09.01"
# 3. Create an annotated git tag (must match indi_v* to trigger CI/CD packaging)
git tag -a indi_v2026.09.01 -m "Release indi_v2026.09.01"
# 4. Push branch and tag to trigger the automated CI/CD release workflow
git push origin main --tagsUsers can install and maintain indi-allsky on Raspberry Pi OS, Debian, and Ubuntu directly via apt.indi-allsky.org.
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://apt.indi-allsky.org/key.gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/indi-allsky.gpg
sudo chmod a+r /etc/apt/keyrings/indi-allsky.gpgsudo tee /etc/apt/sources.list.d/indi-allsky.sources <<EOF
Types: deb
URIs: https://apt.indi-allsky.org
Suites: $(lsb_release -cs)
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/indi-allsky.gpg
EOFsudo tee /etc/apt/sources.list.d/indi-allsky-nightly.sources <<EOF
Types: deb
URIs: https://apt.indi-allsky.org
Suites: $(lsb_release -cs)
Components: nightly
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/indi-allsky.gpg
EOFsudo apt update
sudo apt install -y indi-allskyFor automated provisioning (Ansible, cloud-init, unattended scripts), Debconf prompts can be pre-seeded before running apt install:
# Pre-seed Debconf configuration
sudo debconf-set-selections <<EOF
indi-allsky indi-allsky/camera_interface select indi
indi-allsky indi-allsky/ccd_driver select indi_asi_ccd
indi-allsky indi-allsky/http_port string 80
indi-allsky indi-allsky/https_port string 443
indi-allsky indi-allsky/web_user string admin
indi-allsky indi-allsky/web_pass password secretpassword
indi-allsky indi-allsky/web_pass_confirm password secretpassword
indi-allsky indi-allsky/latitude string 40.7128
indi-allsky indi-allsky/longitude string -74.0060
indi-allsky indi-allsky/timezone string America/New_York
indi-allsky indi-allsky/oidc_enable boolean false
EOF
# Unattended non-interactive install
sudo DEBIAN_FRONTEND=noninteractive apt install -y indi-allskyThe Debian package installs and manages native systemd user/system services:
-
gunicorn-indi-allsky.socket/gunicorn-indi-allsky.service: Web UI dashboard server. -
indi-allsky.service: Camera capture, keogram, startrail, and processing daemon. -
indiserver.service: Local INDI driver server (activated when INDI camera/sensors are configured).
# Control services and view logs via indi-allsky-ctl utility
indi-allsky-ctl status
indi-allsky-ctl restart
indi-allsky-ctl logsSee the indi-allsky-ctl documentation for complete command reference (user management, database backups, driver pinning, permissions repair).
-
Upgrades:
sudo apt update && sudo apt upgrade -y- Upgrades virtualenv packages and binaries in seconds.
- Preserves user customizations in
/etc/indi-allsky/flask.json. - Automatically reuses existing configuration without holding or prompting for input.
- Runs database migrations and reloads services automatically.
- Run
sudo dpkg-reconfigure indi-allskyat any time to modify settings interactively.
-
Purge / Clean Removal:
sudo apt purge indi-allsky indi-allsky-web
- Removes all configuration files, databases, logs, and system users.
- See Uninstall indi-allsky for complete details.
-
Migration:
- If upgrading an existing installation that was installed with
setup.sh, see the Migration Guide.
- If upgrading an existing installation that was installed with