Skip to content

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 other

Using 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 to 3.1.15, it fails to come back up for whatever reason, it will be rolled back to 3.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 fully stopped before continuing with the update



Timeout

This is used in two places in the script

  1. How long HeavyScript waits for the application to be Active before rolling it back

    If you are using -r anyway

  2. 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 Truecharts Custom-app, since those do not receive a version change when your application has an update available.