Self Service Licensing & Credentials
Learn how to deploy Deepgram self-hosted using self service. Deepgram’s self-serve self-hosted solution is available through both the Deepgram Console and the Deepgram API.
Deepgram gives you the ability to self-manage your self-hosted API keys and container image distribution credentials. This offers you flexibility and control over your Deepgram self-hosted deployments using Deepgram Console and Quay. For example, you can rotate and expire your keys and credentials according to your access control policies.
This guide focuses on using Deepgram Console. If you would like to use the Deepgram API, see our API documentation on creating API keys and creating distribution credentials.
Verifying Access to Self-Hosted Products
This guide only applies to Console projects which have been granted access to self-hosted products. If you have access, your Console menu should have an "Self-Hosted" tab, as shown below.
If you do not have this tab in Console, your project has either:
- Never received access to self-hosted products
- To take advantage of our self-hosted product offering, you will need to enroll in a Deepgram Enterprise Plan. If you're interested, please contact us!
- Received access to managed self-hosted products, but has not yet been granted access to self-service for these products.
- Please contact your Deepgram Account Representative to enable access.
With that out of the way, we can begin!
Create a Self-Hosted API Key
You can use the Deepgram Console or the Deepgram API to create a self-hosted API key for licensing Deepgram products. Follow the Creating API Keys guide to create a key, and record it securely.
After receiving your key, you can dismiss the pop-up and return to the API Keys
page. You should see your new self-hosted API key, and if you expand the details, you can view the self-hosted products which can be licensed by that key.
Depending on your self-hosted agreement with Deepgram, you may have access to different products. All self-hosted customers have access to API and Engine. For access to the License Proxy, please contact Support.
Create Container Image Distribution Credentials
Distribution credentials are used to authenticate with a container image repository when pulling Deepgram container images into your deployment environment.
Distribution credentials are not the same as self-hosted API keys. In our documentation, when we refer to an self-hosted API key (
DEEPGRAM_API_KEY
), this is referring to the key made in the previous section.
-
Back on the Console page, use the menu on the left and click on the "Self-Hosted" tab, then click "Create New Distribution Credentials".
-
Provide a name for your distribution credentials and click "Create Credentials".
-
Your new credentials will be shown, which include:
- A
username
, which looks likedeepgram+6ba7b810-9dad-11d1-80b4-00c04fd430c8
. - A
secret
, which looks likeR2CTHDZ27R360V8H5LOWGBQ871HE9RP5YGWZA9JXWM3V98ST4VE3NYX72BK86Z7J
. - An example
shell
command that demonstrates how to authenticate with your credentials
You can use the
secret
as your password for theshell
command. Again, take note of the displayed values, as they can't be accessed again. Once you've copied it, check the box affirming you understand this and click "Got it". - A
-
The pop-up will be dismissed and you will be back on the "Self-Hosted" page. You should see your new distribution credentials and the container images which can be accessed with those credentials.
Migration for Legacy Licensing and Container Distribution
If you are deploying Deepgram to your environment for the first time, you may skip this section and proceed to the next guide, linked at the bottom of the page.
If your self-hosted Deepgram environment uses a static legacy license key, or you previously used DockerHub to access container images, you will need to modify your environment to use your newly generated credentials.
Checking if you need to migrate from DockerHub
To check if you are currently pulling images from DockerHub and need to migrate to Quay, check your deployment files. Depending on your container orchestrator, this may be a Docker Compose file, a Podman Compose file, Kubernetes manifest files, or a Helm chart.
A container image path and tag will be listed within those files. If it looks like any of the following, you are pulling from DockerHub and must migrate to Quay.
deepgram/onprem-api:xxxx
deepgram/onprem-engine:xxxx
deepgram/onprem-license-proxy:xxxx
If your image tags have the prefix
quay.io
, such as some of the examples below, you are already using Quay and do not need to migrate.
quay.io/deepgram/onprem-api:xxxx
quay.io/deepgram/self-hosted-api:xxxx
quay.io/deepgram/onprem-engine:xxxx
quay.io/deepgram/self-hosted-engine:xxxx
quay.io/deepgram/onprem-license-proxy:xxxx
quay.io/deepgram/self-hosted-license-proxy:xxxx
- Upgrade your Deepgram container images to the most recent release provided by Quay.
- Login on the command line using the newly generated credentials from Create Container Image Distribution Credentials.
- Follow the instructions here to pull the latest Deepgram images.
- Edit your
docker-compose.yml
file (or other orchestration platform files, like Kubernetes manifest files) to use the new container image you just pulled from Quay.
- Replace your static legacy license key with your newly generated self-hosted API key from the Create a Self-Hosted API Key section.
- Edit any custom
api.toml
andengine.toml
configuration files. Replace the value at[license.key]
with your API key secret. - If needed, edit the
docker-compose.yml
file (or other orchestration platform files) to replace the key used by the License Proxy or other add-on products. Replace the value at--license-key
with your API key secret.
- Edit any custom
Updated 8 days ago
Whether you are spinning up a new deployment environment, or modifying an existing environment to use your new self-service credentials, the next step is to deploy Deepgram services with your container orchestration tool of choice.