The repository entry point: MikeOSS.Azure is the upstream Mike legal-AI app (Express backend + statically-exported Next.js frontend) re-platformed to run entirely inside a customer's Azure tenant, dropping hosted-Supabase and hosted-LLM dependencies for data-residency reasons (AGPL-3.0). It frames the three deployment paths — local Docker stack (~5 min, no Azure), manual self-host Azure (5 resources + 1 Container App, no Bicep), and the one-click Azure Marketplace package — each linking to its own runbook, and lists the repo layout (backend/, frontend/, backend/migrations/, scripts/local-stack/) plus the required services (one LLM provider key, LibreOffice for DOC/DOCX→PDF) and the build/lint check commands. Start here to understand what the repo is and pick which of the three deployment paths you want.
MikeOSS.Azure
The Mike application — frontend + backend — adapted to run end-to-end on Microsoft Azure inside the customer's own tenancy. Removes the hosted-Supabase / hosted-LLM dependencies of the upstream codebase so data residency obligations stay inside one Azure tenant boundary.
Based on the upstream Mike repository under AGPL-3.0. The Azure adaptations and the local-first development stack are added by Altien.
Choose your path
This repository supports three deployment paths. Pick the one that matches your goal.
1. Local development (no Azure, ~5 minutes)
Docker Postgres + PostgREST + Caddy + Azurite + Node backend + Next.js dev server. The full vertical works on your laptop with no hosted dependencies and no Azure subscription required.
→ Step-by-step: docs/runbook-local-stack.md
# Quick summary
npm install --prefix backend && npm install --prefix frontend
cp backend/.env.example backend/.env
cp frontend/.env.local.example frontend/.env.local
docker compose -f docker-compose.dev.yml up -d
# (mint JWTs, fill env vars — see the runbook)
npm run dev --prefix backend &
npm run dev --prefix frontend
# open http://localhost:3000
Optional: validate Microsoft Entra sign-in locally without any Azure deployment — see docs/runbook-entra-local-auth.md.
2. Self-hosted Azure deployment (no Bicep, ~10 minutes)
Manual provisioning of the minimum Azure footprint Mike needs: 5 Azure resources + 1 Container App. No Bicep, no Key Vault, no VNet, no Managed Identity. Run schema migrations from your laptop. The trade-off is that Postgres / Storage / ACR are publicly reachable (with auth); fine for self-host or small-team use, not for paying customers.
→ Step-by-step: docs/azure-prereqs.md
You will provision:
- Resource Group
- Container Apps Environment
- Postgres Flexible Server (16+) with PGCRYPTO + VECTOR extensions
- Storage Account (with one blob container)
- Container Registry
- One Container App running backend + PostgREST sidecar
The same guide includes a "Going to production" appendix that layers in private endpoints, Managed Identity, Key Vault, and the rest of the production-grade hardening for when you graduate beyond minimal.
3. Azure Marketplace package (one-click)
Altien publishes a managed marketplace deployment that automates everything in option 2. Recommended for customers who want the integrated experience.
→ See [link to marketplace listing] (when available).
Repository layout
backend/— Express API, document processing, schema migrations, install configurator, runtime/configendpoint.frontend/— Next.js application, statically exported.- backend/migrations/ — schema migrations (run via
node-pg-migrate). - scripts/local-stack/ — local-dev support files (Postgres role init, Caddy proxy config, JWT minter).
docs/— runbooks and design docs.azure-prereqs.md— Azure self-host guiderunbook-local-stack.md— local dev guiderunbook-entra-local-auth.md— local Entra dev guidefork-delta.md— files diverged from upstream
Required services (any deployment)
- At least one LLM provider key: Anthropic, OpenAI, Gemini, or Azure OpenAI.
- LibreOffice at runtime for DOC/DOCX → PDF conversion (bundled in
the Docker image; if you run the backend natively, install it
yourself:
apt install libreoffice).
Checks
npm run build --prefix backend
npm run build --prefix frontend
npm run lint --prefix frontend
License
AGPL-3.0-only. See LICENSE.
Contributing
See AGENTS.md for contributor guidance, env-var hygiene rules, and the AGPL publication model.