This guide is for organisations who have a commercial license for Speckle Enterprise, including Desktop UI, and are deploying on their own infrastructure.
Speckle Enterprise Desktop UI deployment guide
Prerequisites
Before you can configure Speckle Enterprise Desktop UI, your organization will have already completed the following steps:- License Acquisition: Acquired a commercial license for Speckle Enterprise from Speckle Systems. This license should include permissions for deploying Desktop UI.
- Package Registry Token: Obtained a package registry token from Speckle Systems to access the private Helm charts & Docker images for Enterprise features.
- Package Registry URL: Received the URL for the private package registry hosting the Desktop UI Helm charts and Docker images.
Infrastructure
Speckle Enterprise Desktop UI requires the following infrastructure components:- Kubernetes Cluster: A Kubernetes cluster to host the Desktop UI components. This can be a managed service (e.g., EKS, AKS, GKE) or a self-hosted cluster.
- It is possible to host Desktop UI in the same cluster as your Speckle Enterprise Server deployment.
- We recommend using a separate namespace for isolation, resource management, and security.
- Domain: A domain name for accessing the Desktop UI. This must be a different domain from your Speckle Server deployment as there may be path routing conflicts if hosted on the same domain.
Configuration Steps
Retrieving the Helm Chart
-
To access the private Helm charts for Speckle Enterprise Desktop UI, you need to log in to the Speckle Enterprise package registry:
-
Once authenticated, you can pull the Desktop UI Helm chart and investigate its contents:
-
We recommend reading the
values.yamlfile included in the Helm chart to understand all the configuration options available for Desktop UI. Ajson.schemafile is also included to provide validation and documentation for each configuration option. - We also recommend understanding the architecture of the Kubernetes resources deployed by the Helm chart. Please contact your Speckle representative if you have further questions.
-
Create an empty
values.yamlfile which we will use to configure our deployment:
Image Pull Secrets
The Helm Chart references Docker Images that are hosted in the same private registry as the Helm Chart. You will need to create an Image Pull secret in Kubernetes to allow your cluster to authenticate with the registry and pull the necessary images.-
Create a Kubernetes Secret of type dockerconfigjson:
-
Confirm the secret is deployed successfully.
-
Update the Helm values.yaml file to reference the image pull secret:
Security settings
Ingress Configuration
To access the Desktop UI, you need to either configure an Ingress resource in Kubernetes or the Gateway API HttpRoute to route traffic to the Desktop UI service. The exact configuration will depend on your cluster setup and the ingress strategy you are using.-
Update the Helm values.yaml file to include the appropriate ingress settings for your deployment:
Gateway API HttpRoute Configuration
If you are using the Gateway API instead of Ingress, you can configure an HttpRoute to route traffic to the Desktop UI service. The exact configuration will depend on your cluster setup and the Gateway API implementation you are using. The Helm Chart only provides the relevant HttpRoute configuration for the Desktop UI service, you will need to ensure a Gateway and Gateway class exist in your cluster and update the HttpRoute configuration to reference the correct Gateway and hostnames for your deployment.-
Update the Helm values.yaml file to include the appropriate configuration for your deployment:
Deploying the Helm Chart
- The Kubernetes RBAC user deploying the Desktop UI will require permissions to create namespaces, deployments, services, configmaps, secrets, and other resources required by the Helm Chart. Please ensure your user has the necessary permissions before proceeding.
-
Use Helm to deploy Speckle Enterprise Desktop UI: