Fork of brew-web, in order to generate a docker image https://github.com/anndrox/brew-web
Find a file
Jacob Hedman d690e51e6d
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 19s
fix: fixed indentation on build-push.yml
2026-02-22 07:50:05 -05:00
.forgejo/workflows fix: fixed indentation on build-push.yml 2026-02-22 07:50:05 -05:00
app chore: flatten directory structure and remove release artifacts and updated gitignore 2026-02-21 21:44:00 -05:00
.dockerignore chore: flatten directory structure and remove release artifacts and updated gitignore 2026-02-21 21:44:00 -05:00
.gitignore chore: flatten directory structure and remove release artifacts and updated gitignore 2026-02-21 21:44:00 -05:00
CHANGELOG.md Update CHANGELOG.md 2025-05-10 11:14:47 -04:00
config.py chore: flatten directory structure and remove release artifacts and updated gitignore 2026-02-21 21:44:00 -05:00
Dockerfile chore: optimize Dockerfile layer caching 2026-02-21 21:50:17 -05:00
entrypoint.sh chore: flatten directory structure and remove release artifacts and updated gitignore 2026-02-21 21:44:00 -05:00
LICENSE Initial commit 2025-05-06 12:01:35 -04:00
README.md Update README.md 2025-05-10 21:09:34 -04:00
requirements.txt chore: added EOF character at end of reqirements.txt 2026-02-21 21:46:54 -05:00
VERSION Update VERSION 2025-05-10 11:04:32 -04:00
wsgi.py chore: flatten directory structure and remove release artifacts and updated gitignore 2026-02-21 21:44:00 -05:00

Brew-Web 🍯

Version Docker Flask License Status

A self-hosted web app to manage mead brewing recipes, batches, and calculators — complete with stats, backups, and admin tools.


🚀 Quick Start

Docker Compose

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

Flask Login

  • Setup is required via /setup on 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

Feature Rich

  • 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

Database

  • Export:
    Visit /export-db (admin only) — saves to /backups

  • Import:
    Upload .sql via /admin
    Import runs in the background with countdown and refresh

  • Safe for docker compose down -v && up --build cycles


⚙️ Configuration

Configurable

Key environment variables:

environment:
  SECRET_KEY: changeme-in-production  # <-- CHANGE THIS 

🗂 Project Structure

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

For Developers

  • Reset environment:

    docker compose down -v && docker compose up --build
    
  • Customize UI:
    Modify base.html, admin.html, or static/style.css

  • Logs saved to:
    /logs/brewweb.log


📌 Notes

  • Your pg_dump/psql commands must use the same credentials as docker-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

License

MIT © 2025 Scott Jones

2025-05-10 11_19_52-Brew Log 2025-05-10 11_20_06-Brew Log 2025-05-10 11_20_53-Brew Log 2025-05-10 11_21_05-Brew Log 2025-05-10 11_21_22-Brew Log 2025-05-10 11_21_34-Brew Log