A hands-on course that turns two Docker containers into a secure, multi-tenant, production-ready backend — and makes you understand every line along the way.
Most "backend in 10 minutes" tutorials hand you a black box. MinBase does the opposite: you start with the naive setup everyone actually writes first, then fix it step by step — persistence, reliability, least privilege, secrets, auth, tenant isolation, edge routing, a real frontend — until you've built a stack you'd deploy to a paying customer. Ten steps. Two new ideas each. Every step verified with real requests, including the failure cases.
Built on the tools serious teams already trust: PostgreSQL · PostgREST · Traefik · Nginx · Docker Compose. No proprietary platform. No lock-in. No magic.
One course, two depth tracks. Students follow the steps; engineers get the "why" sidebars — SCRAM vs md5, connection-pool limits, UUID vs integer tenant keys, proxy-vs-webserver separation, and the image-specific secret-handling gotchas that bite real deployments.
| # | Step | You'll learn |
|---|---|---|
| v-b0 | Baseline: DB + auto-generated API | What the minimum backend actually is |
| v-b1 | Externalize network + volumes | Resource isolation, data that survives |
| v-b2 | Healthchecks + restart policies | Reliability, correct startup ordering |
| v-b3 | Roles + authenticator (no superuser) |
Least privilege — the #1 security fix |
| v-b4 | .env dev/prod + secrets |
Config management, keeping secrets out of git |
| v-b5 | JWT authentication | Auth enforced by the database, not app code |
| v-b6 | Row-Level Security | True multi-tenant isolation |
| v-b7 | Traefik reverse proxy + security headers | Edge routing, hardening, smaller attack surface |
| v-b8 | Nginx SPA server (full-stack) | A real frontend + API on one origin, no CORS |
| v-b9 | Python stored functions as REST endpoints | Non-table /rpc endpoints on PostgREST, no second app
server |
By the end you have a stack that's safe to deploy to a cloud server: least privilege, externalized secrets, JWT auth, RLS tenant isolation, a hardened Traefik edge, a SPA-plus-API topology, and non-table REST endpoints written in Python with no added services — with the intermediate (TLS, DNS, monitoring) and advanced (orchestration, CI/CD, backups) tiers mapped out as your next steps.
PGRST_*_FILE but reads @/path values, why a
Traefik middleware silently disables a route, why try_files
saves your SPA on refresh.curl/psql checks — including the failure mode.
And the claims below aren't config-only: each variant ships a
verify.sh that ran green.
docker inspect (v-i4
✔)403, expired/tampered tokens rejected (v-b6 ✔)/rpc endpoints incl. in-DB-minted JWTs
(v-b8/v-b9 ✔)PostgreSQL, PostgREST, Traefik, and Nginx are among the most battle-tested, widely-starred open-source projects in backend infrastructure — the same components running in production at companies you've heard of. MinBase teaches you to compose them yourself instead of paying a platform to hide them from you.
What that buys you, by construction:
/rpc routes on the same
PostgREST, same Traefik edge, no second app server."Every developer should be able to build and deploy a production backend in under 10 minutes — with full understanding and control of their stack."
Get the free starter repo (v-b0) · Buy the full ten-step course · Deploy-to-VPS capstone included.