thijsdezoete pulls the whole stack in-house, no accounts required

One command spins up a fully self-hosted, offline-capable version of Mike with every cloud dependency swapped for a local container.

infrastructureintegration

thijsdezoete's fork is built around a single idea: run the entire legal-AI tool on your own hardware, with nothing phoning home and no external sign-ups. Start it up and you get the whole thing running locally, including:

  • Local database and login - the app carries its own database and user-accounts service, so there's no cloud account to create.
  • Local file storage - the hosted cloud storage layer is replaced by one that runs on your own machine.
  • Local email catcher - sign-up and confirmation emails land in a local inbox instead of being sent out.
  • Local AI models - run open models on your own machine with no API key; they appear as "Local" in every model picker, and the app automatically lists whichever ones you've installed, with a refresh button to pick up new ones.

The local-models piece is the cleanest and stands on its own, even if you never self-host the rest.

So what For GCs and firms wary of sending matter data to third-party clouds, this is a working blueprint for keeping the whole tool - and its AI - behind your own walls.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from thijsdezoete/mike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
230ba0ef Add self-hosted Docker stack with local Supabase, storage, email, and Ollama Thijs de Zoete 2026-06-29 ↗ GitHub
commit body
Bring the whole app up with a single `docker compose up` and no external
accounts.

Self-contained stack:
- Embedded Supabase (Postgres + GoTrue auth + PostgREST + an nginx gateway),
  with the schema auto-loaded on first boot and auth emails auto-confirmable.
- RustFS for S3-compatible object storage, replacing Cloudflare R2.
- Mailpit catches auth emails (signup/confirmation) in a local inbox.
- Production-style image builds for the frontend and backend.

Local models via Ollama:
- New provider speaking Ollama's OpenAI-compatible chat API, including the
  agentic tool-call loop and a graceful fallback for models that don't
  support tools.
- Models are detected dynamically (GET /models/ollama) and appear in every
  model picker (chat, title, tabular review) under a "Local" group, with no
  API key required. Any `ollama/<tag>` id is valid by prefix.
- Manual "Refresh" button on the API Keys page re-detects installed models
  and re-checks key status, pushing updates live to the pickers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-691.md from inside the repo you want the changes in.

⬇ Download capture-thread-691.md