Use
Update
One command for Debian, app, modules and configuration – and a controlled move to a new Debian release.
update
In the guest as root:
update
Step by step:
- Update the Debian packages (
full-upgrade, your changed configuration files are kept). - Fetch the current version of iac-core and the app.
- Establish the target state: app version, modules, configuration, firewall. Services only restart when something changed for them.
- Check that the services run and the app answers.
Before that, etckeeper records the state of /etc – every change can be traced with
git -C /etc log. If a reboot is needed (e.g. a new kernel), update says so at the end. It
never reboots by itself.
App versions
- Apps from Debian get their updates with the Debian packages.
- Apps from GitHub or other sources jump to the latest version on
update. Apps with a major lock (e.g. Traefik) stay within their major version. A new major version is only reported – the app’s migration guide describes the move. - If an app update goes wrong, apps like Traefik return to the old version by themselves.
Options
| Command | Effect |
|---|---|
update | normal update |
update -lm, --list-modules | modules for this guest, numbered, active ones with [x] |
update -am a,b, --add-modules | add modules, by name or number (update -am 1,3, modules) |
update -rm a,b, --remove-modules | remove modules, data stays |
update --modules a,b | set the module selection ('' = none) |
update --release-upgrade | move to the next Debian release |
update -y | no questions |
update -h, --help | help with all options, examples and important files |
New Debian release
Debian releases never change automatically. Once the next release is stable:
update --release-upgrade
It first checks that the new release is already stable and that there is enough free space,
then establishes the target state like every update. Take a backup or a Proxmox snapshot first.
Docker
For the Docker variant, in the directory of the docker-compose.yml:
docker compose pull && docker compose up -d