Open-source brewery operations platform
Inventory · Production · Compliance · Taproom — self-hosted on your hardware
Quick start · Architecture · Contributing · Governance · FAQ
Open-source brewery operations platform for inventory, production, compliance, and taproom workflows. BrewLedger is licensed under Apache License 2.0 and self-hosted—you run the API server and web console on your own hardware.
Brewery operators use BrewLedger to track what they have, what they brewed, and what they served or removed. Developers can clone the repo, run it locally, fork it, or contribute fixes and improvements.
Why open source? BrewLedger was built as a full brewery operations product. Open-sourcing it makes the code a portfolio piece, a reference for other builders, and a starting point for anyone who wants to self-host brewery management software. Bug fixes, docs improvements, and security hardening are especially welcome.
| Desktop console | Desktop console | Mobile app |
|---|---|---|
![]() |
![]() |
![]() |
| Component | Path | Description |
|---|---|---|
| API server | server/ |
Express + SQLite backend (auth, sync, ledger, batches, TTB helpers) |
| Web console | platforms/console/ |
Vue 3 desktop web app for day-to-day brewery management |
| Mobile app | platforms/brewledger-app/ |
Capacitor 6 source for iOS and Android (you build and sign binaries) |
- Inventory ledger — Receive, consume, transfer, and count stock with an append-only transaction history
- Batch tracking — Recipes, vessels, readings, milestones, and production-complete workflows
- TTB Form 5130.9 — Tools to aggregate operational data into form field mappings (not legal advice—see FAQ)
- Serving & taproom — Tank occupancy, volume tracking, and removal workflows
- Multi-device sync — Offline-first clients (IndexedDB) sync with the server when online
- Optional integrations — Stripe billing, QuickBooks Online, AWS SES email, OpenRouter AI assistant (all degrade gracefully when unset)
| Layer | Technology |
|---|---|
| API server | Node.js, Express 5, SQLite |
| Web console | Vue 3, Vite, Tailwind CSS, Dexie (IndexedDB) |
| Mobile app | Vue 3, Capacitor 6, Dexie (IndexedDB) |
| Auth | Token-based sessions with bcrypt password hashing |
See ARCHITECTURE.md for a system overview.
Prerequisites: Node.js 18+ and npm.
-
Clone and configure
git clone https://github.com/jackjusko/brewledger-oss.git cd brewledger-oss cp .env.example .envDefaults work for local HTTP on port 3000. See docs/getting-started.md for details.
-
Install dependencies
cd server && npm install && cd .. cd platforms/console && npm install && cd ../..
-
Initialize the database
cd server node init_db.js -
Start the API server
cd server npm startServer runs at
http://localhost:3000. -
Start the web console (second terminal)
cd platforms/console npm run devConsole runs at
http://localhost:5174. Register an organization, then log in.
For first-login navigation, troubleshooting, and optional mobile setup, see docs/getting-started.md.
| Document | Description |
|---|---|
| docs/getting-started.md | Full local setup and first-login tour |
| docs/deployment.md | Production checklist (TLS, static build, env vars) |
| docs/contributing.md | How to contribute, run tests, submit PRs |
| GOVERNANCE.md | Roles, decision making, path to maintainer |
| CODE_OF_CONDUCT.md | Community standards |
| MAINTAINERS.md | Current maintainers |
| docs/README.md | Documentation index |
| FAQ.md | Common questions about scope, integrations, and licensing |
| ARCHITECTURE.md | High-level system design |
| SECURITY.md | How to report security issues |
Stripe billing, QuickBooks Online, AWS SES email, and the OpenRouter AI assistant are optional. When environment variables are missing, those features return "not configured"—core brewery operations still work.
See .env.example for all variables.
Pull requests are welcome—especially bug fixes, documentation improvements, and security hardening. This public repository (main) is the source of truth for OSS work. See docs/contributing.md for setup, test commands, and PR expectations; GOVERNANCE.md for roles; and the Code of Conduct. Use the issue templates when reporting bugs or proposing features.
Apache License 2.0 — see LICENSE and NOTICE.
Hosted BrewLedger is also available at getbrewledger.com. This repository is the self-hosted open-source edition.



