[codex] Add Docker stack and managed model support

✅ merged · #7 · manueljpconde/mikeEU ← manueljpconde/mikeEU · opened 16d ago by manueljpconde · merged 16d ago by manueljpconde · self · +3,164-424 across 41 files · ↗ on GitHub

From the PR description

Delivers

  • Closes #3 by adding the one-command local Docker stack for frontend, backend, Supabase-compatible auth/rest/postgres, schema bootstrap, and MinIO storage.
  • Closes #5 by adding Microsoft Foundry / Azure OpenAI support through the corrected Managed Models architecture rather than a hidden public OpenAI provider remap.
  • Partially lays groundwork for #6, but does not close it. Connection validation, local URL warnings, capability probes, and safer local tool defaults remain follow-up work.

Summary

  • Add a Docker Compose local stack for frontend, backend, Supabase-compatible auth/rest/postgres, and MinIO storage.
  • Add managed model support for user-configured Azure/Foundry and local OpenAI-compatible providers.
  • Redesign model settings into Public Models and Managed Models flows, with user-owned endpoint/model/key configuration.
  • Route managed models through their own OpenAI-compatible adapter, including streaming and tool-call handling.
  • Keep public provider API keys user-owned and avoid hardcoding managed provider secrets.

Root Cause / Context

The local Docker story needed a simple lawyer-friendly stack instead of requiring hosted Supabase/R2 credentials. Separately, Foundry and local LLM support needed to be modeled as user-managed providers because endpoint, deployment/model name, and key vary per installation/admin.

During testing, LM Studio worked from the backend container only through host.docker.internal, and local model tool calling proved unreliable. Issue #6 tracks the follow-up for validation and safer local tool defaults.

Validation

  • git diff --check
  • npm test in backend (29 tests passing)
  • npm run build in backend
  • Focused frontend ESLint on touched model/settings files
  • NEXT_PUBLIC_SUPABASE_URL=http://localhost:54321 NEXT_PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY=dummy npm run build in frontend
  • Manual browser verification of managed model picker entries and LM Studio plain chat path

Notes

  • Public OpenAI models still require a real public OpenAI API key. A Foundry key belongs in the managed Foundry model configuration, not the public OpenAI key slot.
  • Local managed models should keep tools disabled unless the selected model proves reliable with OpenAI-style tool calls.

Our analysis

One-command local Docker stack and managed Azure/Foundry models — read the full analysis →

Think the analysis missed something the PR description covers?

Commits in this PR (1)

SHA Subject Author Date
d39706fc Add Docker stack and managed model support Manuel Conde 2026-05-10 ↗ GitHub

Capture this PR into my fork

Download a Markdown prompt that tells Claude how to port every commit in this PR into your working tree. Run it via claude -p < capture-pull-7.md from inside the repo you want the changes in.

⬇ Download capture-pull-7.md