System Maintenance

Periodically, you will need to update configuration files and models, or install product updates for your on-premises deployment. A regularly updated system will be both more secure and more performant than a lagging one.

Updating Models

When downloading new models into your models/ directory, no further changes are needed. The on-prem Engine instance detects and auto-loads new models promptly. This applies both to new model names (e.g. the first time upgrading to Nova-2), as well as new versions of existing models (e.g. updating from version N to version N + 1 of Nova-2). Your requests are automatically served by the newest instance of each model present in your system.

You can look for a log line like the following in your Engine logs to demonstrate that a new model has been loaded:

2024-02-26T15:41:40.770498319Z  INFO load_model{path=/models/general.tar}: impeller::model_suppliers::autoload: Inserting model key=AsrKey { name: "general", version: "2023-02-22.3", languages: List(["en", ...]), aliases: {}, tags: [], uuid: 96a295ec-6336-43d5-b1cb-1e48b5e6d9a4, formatted: false, mode: All, architecture: None }

You may also verify that a new model UUID is serving your requests, by inspecting the models or model_info fields in the request response metadata, such as:

{
  "metadata": {
    "transaction_key": "deprecated",
    "request_id": "5dfd42b3-1a7c-44f8-d20a-7ad2c341af99",
    "sha256": "5324da68ede209a16ac69a38e8cd29cee4d754434a041166cda3a1f5e0b24566",
    "created": "2024-02-26T18:42:09.125Z",
    "duration": 17.566313,
    "channels": 1,
    "models": [
      "b227621c-0920-4128-b4b5-a3e0f525d2d7"
    ],
    "model_info": {
      "b227621c-0920-4128-b4b5-a3e0f525d2d7": {
        "name": "general-nova",
        "version": "2023-07-28.18608",
        "arch": "nova"
      }
    }
  },
  ...
}

Updating Configuration Files

If you modify configuration files, then you will need to restart your existing containers to get changes to take effect.

docker compose -f /path/to/docker-compose.yml up -d --force-recreate

Installing Product Updates

Deepgram periodically makes new product updates to the container images available. Some updates are recommended, while others are mandatory and, if not installed, will result in Deepgram products ceasing to function. To install product updates:

  1. Identify the latest on-prem release in the Deepgram Changelog. Filter by "On-Prem", and select the latest release. You can use either the container image tag or the release tag listed for all images referenced in this documentation. Update your docker-compose.yml file accordingly.

  2. Refresh your container image repository credentials:

    docker login quay.io
    
  3. Restart existing containers. The new image tags in your docker-compose.yml file will be automatically detected and the necessary container images will be downloaded and deployed.

    docker compose -f /path/to/docker-compose.yml up -d
    

Managing Deepgram Licenses

You may manage your own Deepgram licensing per the Self Service Licensing & Credentials guide, including rotation and expiration of credentials.

If you have ever been issued an on-prem license file for specialized, offline/air-gapped deployments, please contact your Deepgram Account Representative for additional documentation about maintaining your license.

Backing up Deepgram Products

When backing up a Deepgram installation, you should back up the following artifacts:

  • docker-compose.yml
  • api.toml
  • engine.toml
  • directory housing the models that you use in your requests

We highly recommend backing up your whole server, if possible. Doing so will ensure that you can easily restore a running system.


What’s Next

Now that you understand how to maintain your deployed Deepgram on-premises system, it's time to take a look at best practices related to autoscaling your system based on demand.