The Atlas MikeOSS.Azure's docs, bound to the code — and to the migration that built it
108 documents
README.md

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 /config endpoint.
  • 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 guide
    • runbook-local-stack.md — local dev guide
    • runbook-entra-local-auth.md — local Entra dev guide
    • fork-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.