Major Domo v2 - Discord bot for Strat-o-Matic Baseball Association
Go to file
Cal Corum 03dd449551
All checks were successful
Build Docker Image / build (pull_request) Successful in 57s
fix: split read-only data volume to allow state file writes (#85)
The data/ volume was mounted :ro to protect Google Sheets credentials,
but this also prevented all state trackers from persisting JSON files
(scorecards, voice channels, trade channels, soak data), causing silent
save failures and stale data accumulating across restarts.

- Mount only the credentials file as :ro (file-level mount)
- Add a separate :rw storage/ volume for runtime state files
- Move all tracker default paths from data/ to storage/
- Add STATE_HOST_PATH env var (defaults to ./storage)
- Update SHEETS_CREDENTIALS_HOST_PATH semantics: now a file path
  (e.g. ./data/major-domo-service-creds.json) instead of a directory
- Add storage/ to .gitignore

Closes #85

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 13:34:43 -05:00
.gitea/workflows ci: Use docker-tags composite action for multi-channel release support 2026-03-05 15:41:05 -06:00
.scripts feat: add local deploy script for production deploys 2026-02-19 21:45:56 -06:00
.vscode VS Code Settings 2025-11-06 21:50:47 -06:00
api fix: use targeted trailing slashes instead of universal (hotfix) 2026-03-09 17:50:58 -05:00
commands fix: split read-only data volume to allow state file writes (#85) 2026-03-17 13:34:43 -05:00
models fix: key plays score text shows "tied at X" instead of "Team up X-X" (closes #48) 2026-03-01 15:36:38 -06:00
services Merge main into next-release 2026-03-17 11:28:05 -05:00
tasks refactor: move 42 unnecessary lazy imports to top-level across codebase 2026-03-02 13:35:23 -06:00
tests Merge origin/main into fix branch to resolve conflict 2026-03-17 12:32:38 -05:00
utils feat: add is_admin() helper to utils/permissions.py (#55) 2026-03-09 09:37:22 -05:00
views Merge main into next-release 2026-03-17 11:28:05 -05:00
.dockerignore Add debug directory to .gitignore and .dockerignore 2025-10-24 00:06:34 -05:00
.gitignore fix: split read-only data volume to allow state file writes (#85) 2026-03-17 13:34:43 -05:00
bot.py Merge origin/main into fix branch to resolve conflict 2026-03-17 12:32:38 -05:00
CLAUDE.md Merge main into next-release 2026-03-17 11:28:05 -05:00
COMMAND_LIST.md CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
config.py fix: batch quick-wins — 4 issues resolved (closes #37, #27, #25, #38) 2026-02-20 11:48:16 -06:00
docker-compose.dev.yml CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
docker-compose.yml fix: split read-only data volume to allow state file writes (#85) 2026-03-17 13:34:43 -05:00
DOCKER.md CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
Dockerfile CLAUDE: Add comprehensive Docker deployment infrastructure 2025-10-16 00:54:56 -05:00
exceptions.py CLAUDE: Add comprehensive scorecard submission system 2025-10-16 00:21:32 -05:00
pyrightconfig.json CLAUDE: Convert constants to configurable environment variables 2025-10-16 10:40:22 -05:00
requirements-dev.txt chore: pin all Python dependency versions in requirements.txt (#76) 2026-03-10 01:03:27 -05:00
requirements.txt chore: pin all Python dependency versions in requirements.txt (#76) 2026-03-10 01:03:27 -05:00
VERSION Bump version to 2.29.9 2026-02-15 22:58:55 -06:00