  You're browsing the documentation for an old version of SupportPal. Consider upgrading to the [latest version](https://docs.supportpal.com/current/App+Update+Command). 

# App Update Command

The `app:update` command enables you to painlessly update your help desk to the latest version available to your license.

  If your deployment is running on Docker, you must update the system using [these steps](Upgrade+Guide#docker). 

## Requirements

- The `disable_functions` php.ini directive must not be set. System update makes use of functions such as `proc_open`, `exec` and others.
- The following CLI applications must be installed on the server: `mysqldump`, `tar`. They will be searched for via the `PATH` environment variable.

## How It Works

1. **Pre-flight Checks**  
     Several checks are performed to ensure that the help desk is able to safely update to a new version. These checks include, but are not limited to: 
    - Sufficient disk space available.
    - Files are owned by the same user/group as the user running the command.
    - The file system is not read-only.
    - The license is permitted to update to the new version.
2. **Download Release**  
     The release is downloaded and file verification checks are made to ensure it's not been tampered with.
3. **Backup**  
     A full backup of the help desk is taken as described at [Backup and Restore](Backup+and+Restore).
4. **Extract Release**  
     Maintenance mode is enabled on the help desk and the release is extracted overwriting the existing files in the installation directory.
5. **Database Upgrades**  
     The `app:upgrade` command is used to perform database upgrades and complete the update. Maintenance mode is also disabled.

## Usage

#### Usage on Docker

```

docker exec -u www-data supportpal php app-manager/artisan app:update

```

#### Usage on Linux

```

php app-manager/artisan app:update

```

#### Usage Options

###### Additional Options

   Option Description     `--agree-eula`  Explicitly agree to the [SupportPal EULA](https://www.supportpal.com/company/eula).    `--no-backup`  The command generates a backup before making any changes to the help desk installation files. This can drastically slow down the speed of the command. If you've taken you're own backups, then this option will enable you to skip creating a backup.    `--mysqldump-binary-path`  The command will try to automatically find `mysqldump`. If it returns an error, you can manually specify the absolute path to mysqldump. For example: ```
php app-manager/artisan app:update --mysqldump-binary-path="C:\laragon\bin\mysql\mysql-5.7.24-winx64\bin\mysqldump"
```

    `--tar-binary-path`  The command will try to automatically find `tar`. If it returns an error, you can manually specify the absolute path to tar. For example: ```
php app-manager/artisan app:update --tar-binary-path="C:\Program Files\Git\bin\tar.exe"
```

    `--force` Run the command non-interactively; use of the `--agree-eula` option is also necessary.  For further assistance, please refer to the help information which can be found by running:

```
php app-manager/artisan help app:update
```

#### Example Output

```

[2021-08-24 12:44:02] Checking if the application is able to upgrade...
You have version 3.6.0. Latest version available is 3.7.0.
[2021-08-24 12:44:02] Downloading version 3.7.0 to /tmp/supportpal-krpMCX/helpdesk-3.7.0.tar.gz...
[2021-08-24 12:44:03] Backing up database...
[2021-08-24 12:44:05] The backup was generated at /var/www/html/storage/app/backups/database-2021-08-24-12-44-03.sql.gz
[2021-08-24 12:44:05] Backing up filesystem...
[2021-08-24 12:44:05] Cloning filesystem to temporary path started
[2021-08-24 12:44:05] Creating filesystem skeleton clone
[2021-08-24 12:44:05] Cloning /var/www/html/app
[2021-08-24 12:44:06] Cloning /var/www/html/database
[2021-08-24 12:44:06] Cloning /var/www/html/config
[2021-08-24 12:44:06] Cloning /var/www/html/vendor
[2021-08-24 12:44:08] Cloning /var/www/html/resources
[2021-08-24 12:44:08] Cloning /var/www/html/bootstrap
[2021-08-24 12:44:13] Cloning filesystem completed
[2021-08-24 12:44:13] Backing up /var/www/html/storage/app/backups/filesystem-2021-08-24-12-44-05/...
[2021-08-24 12:44:39] OK (1 backup, 2 checks)
[2021-08-24 12:44:39] The backup was generated at /var/www/html/storage/app/backups/filesystem-2021-08-24-12-44-05.tar.gz
[2021-08-24 12:44:39] Combining backups...
[2021-08-24 12:44:39] The backup was generated at /var/www/html/storage/app/backups/app-2021-08-24-12-44-39.tar.
[2021-08-24 12:44:39] Extracting /tmp/supportpal-krpMCX/helpdesk-3.7.0.tar.gz...
[2021-08-24 12:44:49] Success
+--------------------------------------------+
|
| Upgrade Existing Installation
|
| 3.6.0 -> 3.7.0
|
+--------------------------------------------+

Our Upgrade Guide contains useful information regarding breaking changes and best practices for upgrading:
https://docs.supportpal.com/current/Upgrade+Guide

Please read our software license agreement below. By continuing, you are agreeing to the license.
https://www.supportpal.com/company/eula

Database setup complete.

+--------------------------------------------+
|
| Upgrade Complete
|
+--------------------------------------------+

```