Self-hosting

The Founding Supporter plan runs the exact same stack the hosted service deploys, in your Azure subscription, under your governance. Your support reserves your place for self-hosted private-preview onboarding. Repository access and deployment guidance open as that onboarding starts.

What you'll deploy

One resource group containing Azure Static Web Apps for the Maester Cloud web app, Azure Functions for the API and background processing, Azure Container Apps for the Maester Cloud Runner, and Azure Storage for reports, results, history, queues, and supporting tables. The template also includes the supporting configuration needed to keep the deployment isolated in your subscription.

Prerequisites

  • An Azure subscription where you can create resource groups, and the az CLI logged in.
  • A Microsoft Entra admin to register the sign-in app (same as hosted).
  • Your GitHub account so you can clone from the Maester Cloud private repo.

Deploy

git clone https://github.com/jozrahq/maester-cloud
cd maester-cloud

az group create --name maester-cloud --location australiaeast
az deployment group create \
  --resource-group maester-cloud \
  --template-file infra/customer-stack/main.bicep \
  --parameters subdomain=maester customerId=self-hosted \
    entraTenantId=<your-tenant-id> entraClientId=<your-app-client-id>

Create the sign-in app first using any of the three methods from Getting started step 3. The PowerShell script is in the repo at scripts on the website, or follow the Entra-portal steps with your own portal URL as the SPA redirect URI.

Custom domain

Add your own domain on the Static Web App (Custom domains → Add): create the CNAME it shows you in your DNS, and Azure issues and renews the certificate automatically (free managed certs). Use that URL as your app's redirect URI.

Onboard and send

From here the experience matches hosted: sign in, follow the in-portal checklist, and send your first report with the uploader script (point -ApiBaseUrl at your portal URL).

Staying current

Releases are published in the private repository with notes; updating is re-running the same az deployment group create from the new tag. Deployments are idempotent, and your data (storage account) is untouched by stack updates. Release announcements go to sponsors by email.