mtg_python_deckbuilder/DOCKER.md

1.9 KiB

Docker Guide (concise)

Run the MTG Deckbuilder in Docker with persistent volumes and optional headless mode.

Quick start

docker compose build
docker compose run --rm mtg-deckbuilder

From Docker Hub (PowerShell)

docker run -it --rm `
    -v "${PWD}/deck_files:/app/deck_files" `
    -v "${PWD}/logs:/app/logs" `
    -v "${PWD}/csv_files:/app/csv_files" `
    mwisnowski/mtg-python-deckbuilder:latest

Volumes

  • /app/deck_files./deck_files
  • /app/logs./logs
  • /app/csv_files./csv_files
  • Optional: /app/config./config (JSON configs for headless)

Interactive vs headless

  • Interactive: attach a TTY (compose run or docker run -it)
  • Headless auto-run:
    docker compose run --rm -e DECK_MODE=headless mtg-deckbuilder
    
  • Headless with JSON config:
    docker compose run --rm `
        -e DECK_MODE=headless `
        -e DECK_CONFIG=/app/config/deck.json `
        mtg-deckbuilder
    

Common env vars

  • DECK_MODE=headless
  • DECK_CONFIG=/app/config/deck.json
  • DECK_COMMANDER, DECK_PRIMARY_CHOICE
  • DECK_ADD_LANDS, DECK_FETCH_COUNT

Manual build/run

docker build -t mtg-deckbuilder .
docker run -it --rm `
    -v "${PWD}/deck_files:/app/deck_files" `
    -v "${PWD}/logs:/app/logs" `
    -v "${PWD}/csv_files:/app/csv_files" `
    mtg-deckbuilder
## Troubleshooting
- No prompts? Use `docker compose run --rm` (not `up`) or add `-it` to `docker run`
- Files not saving? Verify volume mounts and that folders exist
- Headless not picking config? Ensure `./config` is mounted to `/app/config` and `DECK_CONFIG` points to a JSON file

Tips

  • Use docker compose run, not up, for interactive mode
  • Exported decks appear in deck_files/
  • JSON run-config is exported only in interactive runs; headless skips it