Fork of brew-web, in order to generate a docker image
https://github.com/anndrox/brew-web
|
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 19s
|
||
|---|---|---|
| .forgejo/workflows | ||
| app | ||
| .dockerignore | ||
| .gitignore | ||
| CHANGELOG.md | ||
| config.py | ||
| Dockerfile | ||
| entrypoint.sh | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| VERSION | ||
| wsgi.py | ||
Brew-Web 🍯
A self-hosted web app to manage mead brewing recipes, batches, and calculators — complete with stats, backups, and admin tools.
🚀 Quick Start
Requirements
Installation
wget https://github.com/anndrox/brew-web/raw/main/brew-web-1.3.1.zip
unzip brew-web-1.3.1.zip -d .
cd brew-web
docker compose up -d --build
Access the app at: http://localhost:4452
🔐 Authentication & Security
- Setup is required via
/setupon first run - Admin controls and user management via
/settings/admin - Force password reset by placing a file:
/instance/force_reset.flag - For public deployments, use a reverse proxy with SSL (e.g. NGINX + Let's Encrypt)
📋 Features
- ✅ Recipe scaling with structured ingredients
- ✅ Batch logging with gravities, honey, and notes
- ✅ Built-in brewing calculators:
- ABV, TOSNA, dilution, sweetness, carbonation, temp correction, volume recovery
- ✅ Yeast reference guide with visuals and ratings
- ✅ Batch calendar tracker
- ✅ Role-based admin management
- ✅ Full PostgreSQL backup & restore
- ✅ Settings: theme, font, security
💾 Backup & Restore
-
Export:
Visit/export-db(admin only) — saves to/backups -
Import:
Upload.sqlvia/admin
⏳ Import runs in the background with countdown and refresh -
Safe for
docker compose down -v && up --buildcycles
⚙️ Configuration
Key environment variables:
environment:
SECRET_KEY: changeme-in-production # <-- CHANGE THIS
🗂 Project Structure
brew-web/
├── app/ # Flask app
│ ├── templates/ # Jinja2 templates
│ ├── static/ # CSS & JS
│ ├── routes/ # Feature blueprints
│ └── models.py # SQLAlchemy models
├── backups/ # SQL dumps
├── config.py # App config
├── docker-compose.yml
├── Dockerfile
└── README.md
🧪 Dev Tips
-
Reset environment:
docker compose down -v && docker compose up --build -
Customize UI:
Modifybase.html,admin.html, orstatic/style.css -
Logs saved to:
/logs/brewweb.log
📌 Notes
- Your
pg_dump/psqlcommands must use the same credentials asdocker-compose.yml - Tables are automatically dropped and reloaded on import via
subprocess.Popen() - Alembic is automatically skipped after full restores
- Countdown refresh prevents white screen crash during restore
📜 License
MIT © 2025 Scott Jones