.. title:: Single Server Upgrade Single Server Upgrade ================================ Kasm Tech recommends installing a separate instance of the application, migrating the data and performing a cutover of the application Please read through the document fully before beginning the process. **Create a Database Backup** Backup the existing Kasm database. This can be saved for later recovery, but will also be used to migrate existing data to the latest version. * Stop existing Kasm Services .. code-block:: Bash sudo /opt/kasm/bin/stop * Download and extract the new installation media .. parsed-literal:: cd /tmp curl -O tar -xf kasm_release_*.tar.gz * Execute the included database backup utility .. parsed-literal:: sudo bash /tmp/kasm_release/bin/utils/db_backup -f /tmp/kasm_db_backup.tar -p /opt/kasm/|previous_release|/ * Get the existing database password for use in the subsequent commands. .. parsed-literal:: sudo grep " password" /opt/kasm/|previous_release|/conf/app/api.app.config.yaml * Get the existing manager token for use in the subsequent commands. .. parsed-literal:: sudo grep "token" /opt/kasm/|previous_release|/conf/app/agent.app.config.yaml ---------------------------- **Perform a clean install** * Install kasm from the release media downloaded in the prior steps. .. code-block:: Bash sudo bash kasm_release/install.sh -D -Q -M **Modify Configs** * Copy the **server_id** and the **public_hostname** properties from the old agent to the new .. parsed-literal:: grep server_id /opt/kasm/|previous_release|/conf/app/agent.app.config.yaml grep public_hostname /opt/kasm/|previous_release|/conf/app/agent.app.config.yaml sudo vi /opt/kasm/|release|/conf/app/agent.app.config.yaml * Copy **manager_id** and **server_hostname** from the old configuration into the new .. parsed-literal:: grep manager_id /opt/kasm/|previous_release|/conf/app/api.app.config.yaml grep server_hostname /opt/kasm/|previous_release|/conf/app/api.app.config.yaml sudo vi /opt/kasm/|release|/conf/app/api.app.config.yaml * Copy the auto-generated nginx configs for any Kasms that may exists on the Agent .. parsed-literal:: sudo cp /opt/kasm/|previous_release|/conf/nginx/containers.d/* /opt/kasm/|release|/conf/nginx/containers.d/ ---------------------------- **Restoring the Database.** Restore and update the database from the prior version * Ensure all Kasm services are stopped .. code-block:: Bash sudo /opt/kasm/bin/stop * Execute the database restore command .. parsed-literal:: sudo /opt/kasm/|release|/bin/utils/db_restore -f /tmp/kasm_db_backup.tar -p /opt/kasm/|release| * Perform an upgrade of the database schema .. parsed-literal:: sudo /opt/kasm/|release|/bin/utils/db_upgrade -p /opt/kasm/|release| * Install Kasm |release| Default Images .. parsed-literal:: sudo /opt/kasm/|release|/bin/utils/db_init -s /opt/kasm/|release|/conf/database/seed_data/default_images.yaml * Start the Kasm services .. code-block:: Bash sudo /opt/kasm/bin/start .. include:: upgrade_images.rst :start-line: 2