This page is for Self-Managed instances only. If you run BYOC, Nango installs and updates the catalog for you.
Requirements
- An access token from Nango. The integration catalog repository is private. Ask for a token in your shared Slack channel with Nango or email support@nango.dev.
- Nango managed image
managed-1.6.18or later. - An object storage bucket (S3, GCS or Azure Blob Storage) configured for your instance’s compiled integration files. See Configure object storage.
git,nodeandnpmon the machine that builds the catalog.- Your cloud provider’s CLI, signed in with write access to the bucket, on the machine that uploads the catalog:
Configure object storage
Nango reads the catalog from the same object store it uses for your deployed functions. Set the variables for one provider on the server, jobs and runner services. If your instance already deploys functions to object storage, these are already set. Also setNANGO_ENTERPRISE=true. See the configuration reference for the full list of variables.
- AWS (S3)
- GCP (GCS)
- Azure (Blob Storage)
The workloads need permission to read and write objects in the bucket, for example through an IAM role.
Set
NANGO_FLAG_PROVIDER=env and NANGO_FEATURE_FLAG_TOOLS_CATALOG=true on the server and jobs services. Once an object store is configured, Nango reads catalog files from it.Install the catalog
1
Find the matching catalog version
Each Nango image bundles catalog metadata built from one specific commit of the Check out that commit and read the The SHA at the end of the output is the
integration-templates repository. The files you upload must come from that same commit, or templates fail at runtime.To find it, clone the Nango repo and check out the commit your image was built from. That commit is the last part of the image tag:integration-templates commit from the last update to the bundled catalog metadata:integration-templates commit to use in the next step:2
Build the catalog at that commit
Clone the This takes several minutes. The script sets its own 8 GB Node heap, so don’t override it. The output goes into
integration-templates repository, authenticating with your access token. Check out the commit from step 1 and compile:integrations/<provider>/build/.3
Verify the build
The compiled catalog metadata must be byte-identical to the metadata bundled in your image. Compare it with the file in the Nango checkout from step 1:The two hashes must match. If they differ, return to step 1, confirm you checked out the Nango commit from your image tag, and rebuild.
4
Upload to your bucket
Upload each provider’s folder to the Uploads overwrite existing files, so it’s safe to run them again.
templates-zero/ prefix in your bucket, so that integrations/github/... ends up at templates-zero/github/....- AWS (S3)
- GCP (GCS)
- Azure (Blob Storage)
aws s3 sync uploads in parallel. Add --delete to also remove files that no longer exist in the catalog.5
Verify the install
First, check that a known file exists in your bucket:Then confirm it works end to end:
- AWS (S3)
- GCP (GCS)
- Azure (Blob Storage)
- In the dashboard, open an integration with templates provided by Nango (see Use the template catalog).
- Select an action with source “Nango catalog”.
- Run the selected action via the Trigger action API or using the “Test run” button.
Update the catalog
When you upgrade your image, repeat the install steps with the new image tag. Your access token stays valid, so you don’t need to contact Nango again. Templates you already deployed keep the files they were deployed with, so deploy them again to pick up the new version.Troubleshooting
Related guides
- Self-Managed - deployment, configuration reference and updates.
- BYOC - Nango manages the catalog for you.
- Self-hosting overview - architecture and object storage.