mirror of
https://github.com/TheNetsky/Microsoft-Rewards-Script.git
synced 2026-01-11 10:56:17 +00:00
* feat: Implement edge version fetching with retry logic and caching * chore: Update version to 2.1.0 in package.json * fix: Update package version to 2.1.0 and enhance user agent metadata * feat: Enhance 2FA handling with improved TOTP input and submission logic * fix: Refactor getSystemComponents to improve mobile user agent string generation * feat: Add support for cron expressions for advanced scheduling * feat: Improve humanization feature with detailed logging for off-days configuration * feat: Add live log streaming via webhook and enhance logging configuration * fix: Remove unused @types/cron-parser dependency from devDependencies * feat: Add cron-parser dependency and enhance Axios error handling for proxy authentication * feat: Enhance dashboard data retrieval with retry logic and diagnostics capture * feat: Add ready-to-use sample configurations and update configuration settings for better customization * feat: Add buy mode detection and configuration methods for enhanced manual redemption * feat: Migrate configuration from JSON to JSONC format for improved readability and comments support feat: Implement centralized diagnostics capture for better error handling and reporting fix: Update documentation references from config.json to config.jsonc chore: Add .vscode to .gitignore for cleaner project structure refactor: Enhance humanization and diagnostics capture logic in BrowserUtil and Login classes * feat: Reintroduce ambiance declarations for the 'luxon' module to unlock TypeScript * feat: Update search delay settings for improved performance and reliability * feat: Update README and SECURITY documentation for clarity and improved data handling guidelines * Enhance README and SECURITY documentation for Microsoft Rewards Script V2 - Updated README.md to improve structure, add badges, and enhance clarity on features and setup instructions. - Expanded SECURITY.md to provide detailed data handling practices, security guidelines, and best practices for users. - Included sections on data flow, credential management, and responsible use of the automation tool. - Added a security checklist for users to ensure safe practices while using the script. * feat: Réorganiser et enrichir la documentation du README pour une meilleure clarté et accessibilité * feat: Updated and reorganized the README for better presentation and clarity * feat: Revised and simplified the README for better clarity and accessibility * Update README.md
3.2 KiB
3.2 KiB
🐳 Docker Guide
⚡ Lightweight containerized deployment
Automated Microsoft Rewards with minimal Docker footprint
🚀 Quick Start Checklist
src/accounts.jsonpopulated with your Microsoft credentialssrc/config.jsoncpresent (defaults are fine; comments stay intact)- Docker + Docker Compose installed locally (Desktop app or CLI)
# Build and start the container (scheduler runs automatically)
docker compose up -d
# Stream logs from the running container
docker logs -f microsoft-rewards-script
# Stop the stack when you are done
docker compose down
The compose file uses the same Playwright build as local runs but forces headless mode inside the container via FORCE_HEADLESS=1, matching the bundled image.
📦 What the Compose File Mounts
| Host path | Container path | Purpose |
|---|---|---|
./src/accounts.json |
/usr/src/microsoft-rewards-script/accounts.json |
Read-only account credentials |
./src/config.jsonc |
/usr/src/microsoft-rewards-script/config.json |
Read-only runtime configuration |
./sessions |
/usr/src/microsoft-rewards-script/sessions |
Persisted cookies & fingerprints |
Prefer environment variables? The loader accepts the same overrides as local runs:
ACCOUNTS_FILE=/custom/accounts.json
ACCOUNTS_JSON='[{"email":"name@example.com","password":"hunter2"}]'
🌍 Useful Environment Variables
TZ— set container timezone (Europe/Paris,America/New_York, etc.)NODE_ENV=production— default; keeps builds leanFORCE_HEADLESS=1— required in Docker (Chromium Headless Shell only)- Scheduler tuning (optional):
SCHEDULER_DAILY_JITTER_MINUTES_MIN/SCHEDULER_DAILY_JITTER_MINUTES_MAXSCHEDULER_PASS_TIMEOUT_MINUTESSCHEDULER_FORK_PER_PASS
🧠 Browser Footprint
The Docker image installs Chromium Headless Shell via npx playwright install --with-deps --only-shell. This keeps the image compact while retaining Chromium’s Edge-compatible user agent. Installing full Edge or all browsers roughly doubles the footprint and adds instability, so we ship only the shell.
🔁 Alternate Commands
- Default:
npm run start:schedule(inside container) — keeps the scheduler alive - Single pass:
docker compose run --rm app node ./dist/index.js - Custom script: Override
command:incompose.yamlto suit your workflow
💡 Tips
- Add TOTP secrets to
accounts.jsonso the bot can respond to MFA prompts automatically - Keep the
sessionsvolume; deleting it forces fresh logins and can trigger security reviews - Mixing proxies? Configure per-account proxies in
accounts.json(see Proxy Setup) - Want notifications? Layer NTFY or Discord Webhooks on top once the container is stable
🔗 Related Guides
- Getting Started — Prep work before switching to containers
- Accounts & 2FA — Ensure every account can pass MFA headlessly
- Scheduler — If you prefer a host-side cron instead of Docker
- Diagnostics — Capture logs and debug a failing container