Add self-hosted Docker stack with local Supabase, storage, email, and Ollama

↗ view on GitHub · Thijs de Zoete · 2026-06-29 · 230ba0ef

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>
Repository thijsdezoete/mike
Author Thijs de Zoete <thijsdezoete@gmail.com>
Authored
Parents 93f921be
Stats 23 files changed , +758 , -17
Part of Self-hosted Docker stack with local Supabase, storage, email, and Ollama

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-230ba0ef.md from inside the repo you want the change in.

⬇ Download capture-commit-230ba0ef.md