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
azCLI 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.