This guide is for organisations with a commercial license for the Enterprise edition and deploying on their own infrastructure.If you are not using the Speckle Enterprise licensed server, please refer to our documentation page for instructions on deploying the open-source Speckle Server on Kubernetes.
Prerequisites
Before you can configure Speckle Enterprise Server, your organization will have already completed the following steps:- Deployment: Deployed the Open Source Speckle Server on Kubernetes. See our instructions for deploying on Kubernetes for more details.
- License Acquisition: Acquired a commercial license for Speckle Enterprise Server from Speckle Systems.
- 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 Enterprise Helm charts and Docker images.
Configuration Steps
Retrieving the Helm Chart
To access the private Helm charts for the Speckle Enterprise Server, you need to add the Speckle Enterprise package registry to your Helm repositories:Deploying the Helm Chart
Please follow the instructions in our Kubernetes deployment guide to deploy the Speckle Enterprise Server Helm chart, making sure to specify the Enterprise version of the chart: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 in the same namespace as your Speckle Server deployment.
-
Update the Helm values.yaml file to reference the image pull secret:
-
Upgrade your existing open source Speckle Server deployment, using the new Helm Chart:
License Key
- Obtain your Speckle Enterprise license key from Speckle.
-
Create a Kubernetes Secret to store the license key:
-
Update the Helm values.yaml file to reference the license secret:
-
Update the Helm values.yaml file to enable the Gatekeeper module, which is responsible for validating the license:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
-
If making any further changes to the license, note that Kubernetes does not automatically restart deployments when changes are made to secrets. Restart the ‘speckle-server’ and ‘speckle-objects’ deployments to apply the changes.
Enable Workspaces
Workspaces is a core feature of Speckle Enterprise Server that provides enhanced data management and collaboration capabilities for your users. To enable workspaces in Speckle Enterprise Server, we need to configure some feature flags. We need to enable the Gatekeeper module, which is responsible for validating the license. We can then enable the Workspaces module.-
Update the Helm values.yaml file to enable workspaces:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
(Optional) Server administration support tools
Speckle Enterprise Server includes additional tools to help with server administration and support of your users.-
These tools can be enabled by configuring the following feature flags in the Helm values.yaml file:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
- Verify that the admin support tools are available in the server UI, go to Server Settings and look for the “Admin Support Tools” section.
(Optional) Saved Views
Saved Views is a feature that enables users to mark up their models with annotations, save those views for later, or share with others.-
To enable Saved Views, update the Helm values.yaml file to include the following feature flag:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
- Verify that the Saved Views feature is available by following our documentation.
(Optional) Issues
The Issues feature allows users to create and manage issues directly within the Speckle Server interface, providing a streamlined way to track and resolve problems related to their models.-
To enable Issues, update the Helm values.yaml file to include the following feature flag:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
- Verify that the Issues feature is available by following our documentation.
(Optional) Multi-regional Deployment
Multi-regional deployments allow you to provide data residency options for your users.Pre-requisites
For each region you wish to support, you will need to deploy a Postgres and Blob Storage instance in that region. Depending on your networking requirements, you may need to set up a VPN or VPC peering connection between your Kubernetes cluster and the database/storage instances.Configuration
-
Create a json file containing the connection details for your existing ‘main’ region, as follows:
These details should match the connection details you provided when deploying your existing open source Speckle server instance. The
mainregion is a required region. TheconnectionUrifor Postgres should be in the following format:Thenullvalue for the default project region key means that themainregion will be used as the default region for new projects. This can be updated later as we add support for additional regions. -
Update the same json file with the connection details for each additional region you wish to support. Each region should be given a unique region id. Each region is appended to the
regionsobject as follows:If you wish to set a different default region, update thedefaultProjectRegionKeyvalue to match the region id of the region you wish to set as default. -
Create a Kubernetes secret to store the multi-region configuration:
-
Update the Helm values.yaml file to reference the multi-regional configuration secret:
-
To enable multi-regional support, update the Helm values.yaml file to include the following feature flag:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
-
If adding further regions, note that Kubernetes does not automatically restart deployments when changes are made to secrets. Restart the ‘speckle-server’ and ‘speckle-objects’ deployments to apply the changes.
Giving access to regions in Speckle Server UI
The region is not yet selectable by users in the Speckle Server’s UI. You first need to create the region via Speckle Server’s UI.- Ensure you are logged in to the Speckle server with an account that has server admin privileges.
- Navigate to Server Settings > Regions.
- Select
Createto add a new region. - Select the region id that corresponds to the region details you added in the multi-regional configuration json file.
- Fill in the required details for the new region, including the region name. This is the name that will be displayed to users.
- Save the new region.
- Once the region is created, users can select it when creating a new workspace. Please refer to the workspace guide for further details.
(Optional) Automate
Automate allows users to create and manage automated workflows within the Speckle Server interface. It provides a way to automate repetitive tasks, such as data processing and analysis, by creating custom workflows that can be triggered based on specific events. Automate requires additional infrastructure - including databases, caches, and kubernetes clusters or namespaces - to enable Speckle Enterprise Server. We provide a separate guide for enabling Automate, available in our documentation under Self-hosting Automate for Speckle Enterprise.(Optional) Intelligence
Intelligence features can be enabled on their own, but are limited without the Automate module, which provides the necessary backend support. For a full experience, we recommend enabling both features together.Intelligence currently requires access to an external Content Delivery Network (CDN) for the feature to work. If your cluster is in an environment without access to external networks, please contact your Speckle representative to discuss options for enabling this feature.
-
To enable Intelligence features, update the Helm values.yaml file to include the following feature flag:
- Upgrade your existing Helm deployment to apply the changes (see above for instructions on how to upgrade).
(Optional) ACC Integration
ACC Integration requires Automate to be enabled.