Update Applications
Flag Table¶
Update Arguments¶
Flag | Example | Parameter | Description |
---|---|---|---|
-U | -U -U 5 |
Optional Integer | Update applications, ignoring major version changes Optionally, you can supply a number after the argument to update multiple applications at once |
-u | -u -u 5 |
Optional Integer | Update applications, do NOT update if there was a major version change Optionally, you can supply a number after the argument to update multiple applications at once |
-b | -b 14 | Integer | Snapshot ix-applications dataset Creates backups UP TO the number you've chosen |
-i | -i nextcloud -i sonarr | String | Applications listed will be ignored during updating List one application after another as shown in the example |
-r | -r | Monitors applications after they update If the app does not become "ACTIVE" after the timeout, rollback the application. |
|
-v | -v | Verbose Output Look at the bottom of this page for an example |
|
-S | -S | Shutdown the application prior to updating it | |
-t | -t 400 | Integer | Time in seconds that HeavyScript will wait for an application to no longer be deploying before declaring failure Default: 500 |
-s | -s | Sync Catalogs prior to updating | |
-p | -p | Prune unused docker images | |
--ignore-img | --ignore-img | Ignore container image updates |
Further Explanation¶
Update Options¶
There are two options for updating
-U
This option does not care about major version changes, and will update even if there is one
A major version change example:
3.14.2
--->4.14.2
-u
This option will NOT update if there was a major version change
3.14.2
--->4.14.2
In this case, this application would NOT update, this is useful because a lot of the time, major version changes include breaking changes
Asynchronous Updates¶
Both of the update options have the ability to update multiple applications at one time
You can do this by placing a number after the -u
or -U
Example:
-U 5
or
-u 5
- This will keep __up to __ 5 applications updating at one time
You can place any whole number after the flag, except for 0
If you wish to NOT have multiple applications updating at once, simply use:
-u 1
or
-u
If you do not place a number after
-u
, it will default to 1
Backing Up¶
This does NOT backup individual applications (this is already taken care of when updating your app, a snapshot is taken, this is what allows you to rollback applications)
Instead, the script will back up your entire ix-applications
dataset
I will talk more about why this is useful in another section
You can backup your dataset prior to updating by:
-b 14
You can use any whole number after
-b
besides 0
The number you choose is the MAXIMUM number of HeavyScript
backups that will be on your system
It is important to not have this number be so high, if you have too many backups your system will slow down
Any number of backups that EXCEEDS the number you choose will be deleted
If you started with 18 backups, and run
-b 14
, the 5 oldest backups will be deleted, because they exceed 14
Ignoring¶
If you have an application that seems to break after every update, add it to the ignore list
Adding an application to the ignore list will completely ignore it when it comes to updating, neither -u
or -U
will update that application
Just make sure you spell it right, capitalization does not matter however.
Ignored applications MUST be added one by one
Example:
-i sonarr -i radarr -i nextcloud
As you can see I am spacing out each
-i
away from each otherUsing something like
-i sonarr radarr nextcloud
will NOT work, each app needs its own flag
Note: The name you type after -i
is the exact name YOU gave the application when creating it
Rolling Back¶
This is by far one of my favorite features, especially since a lot of the updates that have been pushed lately seem to fail, this has saved me a ton of time
-r
Will rollback an application to its previous version if it does not become active after your timeout
Example:
Nextcloud is going from
3.1.14
to3.1.15
, it fails to come back up for whatever reason, it will be rolled back to3.1.14
Verbose¶
Sounds just as it is, it will produce more of an output when updating apps
Shutdown Before Update¶
This will shutdown the individual application before it sends it the update command
Some people think this is a safer way to update applications, so I have it as an option, I personally don't use it
-S
Example:
Jackett has an update, it is
active
, before updating Jackett the script will send it the shutdown command and wait for it to be fullystopped
before continuing with the update
Timeout¶
This is used in two places in the script
-
How long HeavyScript waits for the application to be
Active
before rolling it backIf you are using
-r
anyway -
How long HeavyScript waits for the application to Shutdown before it times out
Example:
-t 400
Must use a whole number
The number is in seconds
If unset, the script uses 500 by default
Sync¶
This just syncs the catalog prior to updating
Syncing the catalog will ensure the latest application versions are being pulled down from the repository
Prune¶
Prunes Old/Unused docker images
If this is not done regularly, you can waste a lot of space with old images
Ignore Image¶
Ignore container image updates
This is helpful for the
launch docker image
button, and TruechartsCustom-app
, since those do not receive a version change when your application has an update available.