juanjo rips Mike off Supabase and onto a self-hostable stack

The fork can now be brought up end-to-end with one command and no third-party accounts.

infrastructureintegration

This change set replaces Supabase - the hosted database and login service Mike previously leaned on - with a fully local stack. Postgres runs in a container, Auth.js handles sign-in with a cookie-based bridge to the backend, and Drizzle (a tool that defines the database shape in code) becomes the single source of truth for tables like users, projects, documents, workflows and chat messages. A companion change swaps the previously hard-coded Cloudflare R2 file store for a provider-agnostic layer, with MinIO standing in locally so uploads, downloads and deletes work the moment the stack comes up.

For anyone evaluating Mike, the practical effect is that a developer or vendor can now stand the whole thing up on a laptop or a private server without signing contracts with Supabase or Cloudflare first. juanjo also shipped architecture decision records and runbooks alongside the code, which is unusually disciplined for a fork at this stage.

So what Matters for legal-tech buyers and in-house teams who care about data residency, vendor lock-in, or running Mike behind their own firewall.

View this fork on GitHub →

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

Commits in this thread

5 commits from juanjo/mike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
258d1a7a feat(infra): add Postgres docker-compose with pgcrypto extension Juan Vidal 2026-05-08 ↗ GitHub
5e645c6d feat(backend): add Drizzle ORM scaffolding (client + drizzle-kit config) Juan Vidal 2026-05-08 ↗ GitHub
64ac55ac chore(backend): clarify connection-pool comment Juan Vidal 2026-05-08 ↗ GitHub
267ec65a feat(backend): Drizzle schema + initial migration (replaces Supabase auth schema) Juan Vidal 2026-05-08 ↗ GitHub
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c9b98685 chore(backend): add trailing newline to initial migration Juan Vidal 2026-05-08 ↗ GitHub

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-182.md from inside the repo you want the changes in.

⬇ Download capture-thread-182.md