mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2026-04-04 20:27:16 +02:00
Some checks failed
CI / build (push) Has been cancelled
* docs: archive CLI runner scripts and Windows Docker guide, update web runner scripts * docs: overhaul README and DOCKER.md, add 10 user guides - README: Budget Mode section, corrected Further Reading links, theme badge descriptions, diagnostics expansion - DOCKER.md: Windows path note, Budget Mode + Include/Exclude sections, env table additions - docs/user_guides/: 10 new feature guides covering budget mode, include/exclude, locks/replace/permalinks, batch build, theme browser, random build, owned cards, partner mechanics, bracket compliance, quick build & skip controls * fix: map PriceTimeoutError→503, add budget exceptions to status map; update error_handling.md * docs: env var parity — add missing vars to .env.example and README table
67 lines
2.6 KiB
Bash
67 lines
2.6 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Primary entry point for the MTG Python Deckbuilder Web UI from Docker Hub.
|
|
# Override any flag by exporting it before running:
|
|
# export THEME=light
|
|
# export ENABLE_BUDGET_MODE=0
|
|
|
|
echo "MTG Python Deckbuilder - Web UI (Docker Hub)"
|
|
echo "==========================================="
|
|
|
|
# Create directories if they don't exist
|
|
mkdir -p deck_files logs csv_files config owned_cards
|
|
|
|
# --- Core UI flags ---
|
|
: "${SHOW_LOGS:=1}"
|
|
: "${SHOW_DIAGNOSTICS:=1}"
|
|
: "${WEB_VIRTUALIZE:=1}"
|
|
|
|
# --- Theming (system|light|dark) ---
|
|
: "${ENABLE_THEMES:=1}"
|
|
: "${THEME:=dark}"
|
|
|
|
# --- Budget Mode ---
|
|
: "${ENABLE_BUDGET_MODE:=1}"
|
|
: "${PRICE_LAZY_REFRESH:=1}"
|
|
|
|
# --- Builder features ---
|
|
: "${ENABLE_BATCH_BUILD:=1}"
|
|
: "${WEB_STAGE_ORDER:=new}"
|
|
: "${WEB_IDEALS_UI:=slider}"
|
|
: "${ALLOW_MUST_HAVES:=1}"
|
|
: "${ENABLE_PARTNER_MECHANICS:=1}"
|
|
|
|
# --- Theme catalog badges ---
|
|
: "${SHOW_THEME_QUALITY_BADGES:=1}"
|
|
: "${SHOW_THEME_POOL_BADGES:=1}"
|
|
: "${SHOW_THEME_POPULARITY_BADGES:=1}"
|
|
: "${SHOW_THEME_FILTERS:=1}"
|
|
|
|
echo "Starting Web UI on http://localhost:8080"
|
|
echo "Flags: SHOW_LOGS=${SHOW_LOGS} SHOW_DIAGNOSTICS=${SHOW_DIAGNOSTICS} WEB_VIRTUALIZE=${WEB_VIRTUALIZE} THEME=${THEME}"
|
|
echo " ENABLE_BUDGET_MODE=${ENABLE_BUDGET_MODE} ENABLE_BATCH_BUILD=${ENABLE_BATCH_BUILD} WEB_STAGE_ORDER=${WEB_STAGE_ORDER}"
|
|
|
|
docker run --rm \
|
|
-p 8080:8080 \
|
|
-e SHOW_LOGS="${SHOW_LOGS}" -e SHOW_DIAGNOSTICS="${SHOW_DIAGNOSTICS}" -e WEB_VIRTUALIZE="${WEB_VIRTUALIZE}" \
|
|
-e ENABLE_THEMES="${ENABLE_THEMES}" -e THEME="${THEME}" \
|
|
-e ENABLE_BUDGET_MODE="${ENABLE_BUDGET_MODE}" -e PRICE_LAZY_REFRESH="${PRICE_LAZY_REFRESH}" \
|
|
-e ENABLE_BATCH_BUILD="${ENABLE_BATCH_BUILD}" -e WEB_STAGE_ORDER="${WEB_STAGE_ORDER}" -e WEB_IDEALS_UI="${WEB_IDEALS_UI}" \
|
|
-e ALLOW_MUST_HAVES="${ALLOW_MUST_HAVES}" -e ENABLE_PARTNER_MECHANICS="${ENABLE_PARTNER_MECHANICS}" \
|
|
-e SHOW_THEME_QUALITY_BADGES="${SHOW_THEME_QUALITY_BADGES}" -e SHOW_THEME_POOL_BADGES="${SHOW_THEME_POOL_BADGES}" \
|
|
-e SHOW_THEME_POPULARITY_BADGES="${SHOW_THEME_POPULARITY_BADGES}" -e SHOW_THEME_FILTERS="${SHOW_THEME_FILTERS}" \
|
|
-v "$(pwd)/deck_files:/app/deck_files" \
|
|
-v "$(pwd)/logs:/app/logs" \
|
|
-v "$(pwd)/csv_files:/app/csv_files" \
|
|
-v "$(pwd)/owned_cards:/app/owned_cards" \
|
|
-v "$(pwd)/config:/app/config" \
|
|
mwisnowski/mtg-python-deckbuilder:latest \
|
|
bash -lc "cd /app && uvicorn code.web.app:app --host 0.0.0.0 --port 8080"
|
|
|
|
echo
|
|
echo "Open: http://localhost:8080"
|
|
echo "Tips:"
|
|
echo " export THEME=light|dark|system before running to change the theme"
|
|
echo " export ENABLE_BUDGET_MODE=0 to disable budget controls"
|
|
echo " export SHOW_LOGS=0 or SHOW_DIAGNOSTICS=0 to hide those pages"
|