Self-Hosted Setup

Deploy Azent into your own Azure subscription for full data sovereignty. Your code, secrets, and AI requests never leave your infrastructure. The deployment is fully automated via a single script.

Prerequisites

  • An Azure subscription with Owner or Contributor role
  • Azure CLI (az) installed and authenticated
  • jq installed (for the deploy script)
  • A license token (provided after purchasing a self-hosted plan)
  • A dedicated bot user in Azure DevOps, added as a Project Administrator in each project Azent should operate in

What gets deployed

The deployment provisions the following into your Azure subscription:

  • Dashboard API — web application and management interface
  • Agent workers — auto-scaling containers that execute tasks
  • Database — stores workspaces, runs, and configuration
  • Networking & security — private endpoints, secret storage, and Entra ID authentication
  • Monitoring — logging and application insights

Initial deployment

Unpack the self-hosted deployment package and run the deployment script from its root:

./deploy-init.sh

The script will prompt you for:

  • Resource name prefix — used as a base for all Azure resource names (default: azent-prod)
  • Azure region — where to deploy (default: westeurope)
  • Resource group name
  • Tenant mode — single-tenant or multi-tenant (default: single-tenant)
  • License token — the JWS token provided with your self-hosted license

The script sets up authentication, deploys all infrastructure, and saves the configuration to azent-deploy.json. No local Docker installation is needed.

Updating an existing deployment

To update the deployment (e.g. after a new release):

./deploy-update.sh

This reads configuration from azent-deploy.json and updates all components to the latest version.

Security note: The azent-deploy.json file contains sensitive configuration. It is created with chmod 600 permissions — do not commit it to source control.