Skip to content
BoringStack
GitHub

BoringStack

UI, API, and infra GitHub templates: React, Bun, Elysia, Postgres, Valkey, Docker Compose, OpenTofu, and ESLint architecture plugins.

Open source

Production-ready from the first fork.

GitHub templates for the full stack. Fork the org, boot with compose/dev.sh, deploy on Compose.

UIReact + ViteAPIBun + ElysiaInfraComposeMITlicense
# compose/dev.sh$./compose/dev.sh up -d --buildokpostgres ready on 5432okvalkey ready on 6379okapi-dev migrated and serving /openapi.jsonokui-dev generated client and started Viteokmailpit, queues, logs, and metrics are overlays# open http://localhost:3001 and sign in

API -> OpenAPI -> UI, with Compose underneath and deploy docs beside the code.

apps/apiBun / Elysia / Drizzle / auth / billingapps/uiReact / Vite / OpenAPI client / Playwrightinfra-composePostgres / Valkey / Traefik / observabilityinfra-tofuVPS bootstrap / DNS / firewall / first boot

GitHub

Fully open source

The templates, ESLint plugins, CI workflows, and this docs site are public GitHub repos. Everything is MIT-licensed. BoringStack is not a commercial product: no paid tier, no hosted runtime, no license key. Fork with Use this template and run it on your own machine or VPS.

How to use this documentation

Architecture first, reference on demand.

Run the quickstart, then open the page for the subsystem you are editing: auth routes while changing auth, queue docs while adding a worker, deploy runbooks when you touch Traefik or TLS. The architecture pages explain repo boundaries and lint rules; the rest is reference.

Manual pages coverauthbillingqueuesemailtenancytestingdeploysarchitecture rules

Templates

What each layer ships.

Separate GitHub repos per concern, wired through OpenAPI and Compose. Auth, billing, queues, Traefik TLS, and deploy scripts cross layer boundaries.

Included in the first clone

Multi-tenant auth, billing hooks, and deploy scripts on day one.

Sessions, webhooks, idempotent jobs, tenant boundaries, and deploy scripts are usually added after launch pressure hits. They are in the first clone: accounts schema, Stripe hooks, BullMQ workers, Traefik overlays, and runbooks beside the code.

Usually postponedAlready in the first clone
tenant modelAccounts, memberships, roles, plan features, and active membership checks are part of the data model.
COGS postureOpen-source runtime services come first. Paid providers are integrations, not required foundations.
AI review contractArchitecture lint rules turn intent into concrete failures before human review.
real deploy shapeTLS, firewall, backups, image updates, secrets, and runbooks live beside the code.