Setup
Requirements
- Docker Desktop on Windows or macOS, or Docker Engine on Linux.
- A
config.envfile in the project root. See Configuration. - A Cloudflare tunnel credentials file and a
config.ymlin~/.cloudflaredon the Docker host, if you want a public dashboard. See Deploy.
Start the bot
Confirm
config.envexists and holds the values you want.Run the setup script for your platform.
On Windows:
docker-setup-preconfig.batOn Linux or macOS:
chmod +x docker-setup-preconfig.sh ./docker-setup-preconfig.shCheck the logs to confirm the bot connected:
docker-compose logs -f fantasy-bot
The startup message appears in the Discord channel that owns the webhook.
Manage the bot
Stop the containers:
docker-compose downRestart the bot after a config change:
docker-compose restart fantasy-botRebuild after a code change:
docker-compose up -d --buildShow container status:
docker-compose psDevelopment tools
Both scripts in dev/ run inside the container and read credentials from the environment.
Check that the ESPN API is reachable and preview the available data:
docker-compose exec fantasy-bot python dev/api_healthcheck.pyThe script exits non-zero on failure, so you can run it from a cron check.
Backfill a completed season into the dashboard database:
docker-compose exec fantasy-bot python dev/backfill_season.py 2025The year is a command-line argument because LEAGUE_YEAR stays pinned to the current season.