Standard LabKey Server modules are deployed in the <labkey_root>/modules directory. The LabKey installer will automatically upgrade modules in that directory and will delete unrecognized modules. If you have obtained or written a custom module for LabKey Server, you must deploy it to the <labkey_root>/externalModules directory. If the directory does not already exist, create it. The server will load and upgrade modules in this directory in the same way as it does the standard modules.
When launching Tomcat on the command line, you can point the server at a different externalModules directory using the externalModulesDir parameter:
It is important to note that LabKey Server does not provide binary compatibility between releases. Therefore, before upgrading a production installation with custom modules, you must first ensure that your custom modules build and operate correctly with the new version of the server. Deploying a module written for a different version of the server will have unpredictable and likely undesirable results.