Add self-hosted Docker Compose stack

↗ view on GitHub · S J · 2026-05-02 · 4de37127

Full self-contained stack for running Mike on a local Linux server with
no external cloud dependencies.

Services: Supabase Postgres, GoTrue auth, PostgREST, Kong API gateway,
MinIO S3-compatible storage, Mike backend (with LibreOffice), Next.js
frontend.

- backend/Dockerfile: Node 22 + LibreOffice for DOC/DOCX conversion
- frontend/Dockerfile: Next.js standalone build; NEXT_PUBLIC_* vars
  baked in at build time via build args
- docker-compose.yml: full 9-service stack with health-check ordering
- docker/kong.yml: routes /auth/v1/* and /rest/v1/* behind single port
- docker/migrate.sh: waits for GoTrue, runs one-shot schema migration
- docker/volumes/db/roles.sql|jwt.sql: Postgres init scripts for
  service role passwords and JWT secret
- .env.example: single config file; only SERVER_HOST + passwords need
  changing per machine
- storage.ts: added forcePathStyle (MinIO requirement) and
  S3_PUBLIC_ENDPOINT_URL for presigned URLs reachable from the browser
- next.config.ts: added output: standalone for Docker build
Repository Furious-Industries/mike
Author S J <stu@Ss-MacBook-Air.local>
Authored
Parents d9690965
Stats 10 files changed , +451 , -4
Part of Self-hosted Docker Compose stack

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-4de37127.md from inside the repo you want the change in.

⬇ Download capture-commit-4de37127.md