Follow the instructions in this topic to manually upgrade an existing LabKey Server to a new version. The process assumes that you have previously installed a version of LabKey that uses embedded Tomcat 10. These instructions are written for Linux Ubuntu and require familiarity with Linux administration. If you are upgrading on another version of Linux (or on OSX), you will need to adjust the instructions given here.

This documentation section has been updated to cover upgrades from versions using embedded Tomcat 10, i.e. from versions equal to or higher than 24.3. If you are not already using embedded Tomcat 10, refer to the documentation archives for assistance in any intermediate upgrades and migration from earlier configuration methods.

In any upgrade, it is highly recommended that you first upgrade a staging server and confirm that the upgrade process goes smoothly and the upgraded server passes your own acceptance testing before repeating the process to upgrade your production server.

Pre-Upgrade Steps

Notify Users

Before upgrade, notify your users in advance that the server will be down for a period of time. Consider using a ribbon bar message as part of this notification.

Upgrade All Dependencies

Before upgrading LabKey Server, it is important to confirm that both Java and your database are using supported versions. If you need to make any upgrades, do so prior to upgrading the server. For details see: Supported Technologies

Review Existing Installation

Confirm that your existing installation follows the guidelines we provide. Specifically, the new distribution jar will overwrite some locations under <LABKEY_HOME>, so it's important that any user-specific content is in the correct location(s).

Upgrade LabKey

Since you previously completed the migration to LabKey Server with embedded Tomcat 10, this upgrade is simple. You do not need (or want) to change the service file or application.properties file if you are simply upgrading and not making specific configuration changes. You only need to:

When you restart the same service that was running, the new jar will be deployed and the database upgraded. Tail the <LABKEY_HOME>/logs/labkey.log to see progress.

More detail about the directory structure in your existing installation is provided below for reference.



Detailed Overview of LabKey Server Installation

This section outlines the details of locations in your LabKey Server installation.

VariableLinux default locationDescription
LK_ROOT/labkeyThis is the top level for LabKey-related content.
 <LK_ROOT>/srcStorage of current and past LabKey tar.gz installation binaries.
 <LK_ROOT>/appsRecommended location for related apps like Java and your database.
 <LK_ROOT>/backupArchiveThis is a good location for storing your own backups, including the backup prior to performing this upgrade.
LABKEY_HOME<LK_ROOT>/labkey
i.e. /labkey/labkey
This is where the actual LabKey application is located.
 <LABKEY_HOME>/logsThis location holds the logs.
 <LABKEY_HOME>/externalModulesThe directory for any additional, user-developed modules you use. You may not need this location.
 <LABKEY_HOME>/files OR
other file root location(s)
By default, the server's file root is <LABKEY_HOME>/files, though you may be using other file root(s) as well. You can leave files in place during the upgrade, and the server will continue to use the same path(s). Check the site file root from the admin console.
 <LABKEY_HOME>/labkeywebappThe directory containing the LabKey Server web application. This location will be overwritten at every upgrade. Do not place customizations under this location.
 <LABKEY_HOME>/modulesThe directory containing the LabKey Server modules. This location will be overwritten at every upgrade. Do not place custom modules under this location.
 <LABKEY_HOME>/backupSome versions place a temporary backup here. This location will be overwritten at every upgrade. Do not place customizations under this location.
 <LABKEY_HOME>/labkey-tmpTemp location used internally. This location will be overwritten at every upgrade. Do not place customizations under this location.

Custom or External Modules (If needed)

If you have any modules not provided to you in a LabKey distribution, such as custom modules written by you or someone else in your organization, they should NOT be in the <LABKEY_HOME>/modules directory with the LabKey-distribution modules, but instead in <LABKEY_HOME>/externalModules. The <LABKEY_HOME>/modules directory will be overwritten with each upgrade.

Modules that are in the expected <LABKEY_HOME>/externalModules directory will be automatically seen and loaded when LabKey Server starts. Upgrades will not touch this location.

Related Topics

Was this content helpful?

Log in or register an account to provide feedback


previousnext
 
expand allcollapse all