System Updates
System Updates compares the running Aeroplane install with the configured Aeroplane repository and branch.
Git Installs
Section titled “Git Installs”For installs running from a git checkout, Aeroplane checks the current commit against the remote branch.
Statuses:
current: installed commit matches GitHub.available: remote branch has commits that can be fast-forwarded.diverged: local checkout and remote branch do not fast-forward cleanly.unknown: Aeroplane could not check status.
When an update is available and the checkout is clean, Aeroplane can:
- Fetch the target commit.
- Fast-forward merge.
- Run
npm ci --include=dev. - Build.
- Prune dev dependencies.
- Queue a restart when
AEROPLANE_UPDATE_RESTART_CMDis configured.
If the checkout has local changes, Aeroplane refuses to update automatically.
Image Installs
Section titled “Image Installs”For Docker image installs, Aeroplane compares the image commit metadata with GitHub. Images need AEROPLANE_COMMIT_SHA to make that comparison useful.
If image self-update is configured, Aeroplane can pull the latest image and replace the running app container.
If one-click image update is not configured, Aeroplane shows the server command:
cd /opt/aeroplane && sudo docker compose pull aeroplane && sudo docker compose up -d aeroplanePending Commits
Section titled “Pending Commits”When updates are available, the Updates tab lists the commits that will be applied. Review them before updating, especially on a production server.
Restart Behavior
Section titled “Restart Behavior”Updates that replace the running process may briefly interrupt the dashboard. The UI refreshes after a restart is queued.
If Aeroplane builds the update but cannot queue a restart, restart the service manually after reviewing logs.
When Manual Update Is Required
Section titled “When Manual Update Is Required”Manual update is required when:
- The local checkout has real local changes.
- The checkout diverged from GitHub.
- The image commit is not an ancestor of the remote branch.
- The image lacks commit metadata.
- Image self-update command is not configured.