Files
Microsoft-Rewards-Script/docs/docker.md
Light abd6117db3 V2.3.0 Optimization (#380)
* Updated README.md to reflect version 2.1 and improve the presentation of Microsoft Rewards Automation features.

* Updated version to 2.1.5 in README.md and package.json, added new license and legal notice sections, and improved the configuration script for a better user experience.

* Mise à jour des messages de journalisation et ajout de vérifications pour le chargement des quiz et la présence des options avant de procéder. Suppression de fichiers de configuration obsolètes.

* Added serial protection dialog management for message forwarding, including closing by button or escape.

* feat: Implement BanPredictor for predicting ban risks based on historical data and real-time events

feat: Add ConfigValidator to validate configuration files and catch common issues

feat: Create QueryDiversityEngine to fetch diverse search queries from multiple sources

feat: Develop RiskManager to monitor account activity and assess risk levels dynamically

* Refactor code for consistency and readability; unify string quotes, improve logging with contextual emojis, enhance configuration validation, and streamline risk management logic.

* feat: Refactor BrowserUtil and Login classes for improved button handling and selector management; implement unified selector system and enhance activity processing logic in Workers class.

* feat: Improve logging with ASCII context icons for better compatibility with Windows PowerShell

* feat: Add sample account setup

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* feat: Update Node.js engine requirement to >=20.0.0 and improve webhook avatar handling and big fix Schedule

* Update README.md

* feat: Improve logging for Google Trends search queries and adjust fallback condition

* feat: Update version to 2.2.1 and enhance dashboard data retrieval with improved error handling

* feat: Update version to 2.2.2 and add terms update dialog dismissal functionality

* feat: Update version to 2.2.2 and require Node.js engine >=20.0.0

* feat: Ajouter un fichier de configuration complet pour la gestion des tâches et des performances

* feat: Mettre à jour la version à 2.2.3, modifier le fuseau horaire par défaut et activer les rapports d'analyse

* feat: update doc

* feat: update doc

* Refactor documentation for proxy setup, security guide, and auto-update system

- Updated proxy documentation to streamline content and improve clarity.
- Revised security guide to emphasize best practices and incident response.
- Simplified auto-update documentation, enhancing user understanding of the update process.
- Removed redundant sections and improved formatting for better readability.

* feat: update version to 2.2.7 in package.json

* feat: update version to 2.2.7 in README.md

* feat: improve quiz data retrieval with alternative variables and debug logs

* feat: refactor timeout and selector constants for improved maintainability

* feat: update version to 2.2.8 in package.json and add retry limits in constants

* feat: enhance webhook logging with username, avatar, and color-coded messages

* feat: update .gitignore to include diagnostic folder and bump version to 2.2.8 in package-lock.json

* feat: updated version to 2.3.0 and added new constants to improve the handling of delays and colors in logs
2025-10-16 17:59:53 +02:00

2.9 KiB

🐳 Docker Guide

Run the script in a container


Quick Start

1. Create Required Files

Ensure you have:

  • src/accounts.json with your credentials
  • src/config.jsonc (uses defaults if missing)

2. Start Container

docker compose up -d

3. View Logs

docker logs -f microsoft-rewards-script

That's it! Script runs automatically.


🎯 What's Included

The Docker setup:

  • Chromium Headless Shell — Lightweight browser
  • Scheduler enabled — Daily automation
  • Volume mounts — Persistent sessions
  • Force headless — Required for containers

📁 Mounted Volumes

Host Path Container Path Purpose
./src/accounts.json /usr/src/.../accounts.json Account credentials (read-only)
./src/config.jsonc /usr/src/.../config.json Configuration (read-only)
./sessions /usr/src/.../sessions Cookies & fingerprints

🌍 Environment Variables

Set Timezone

services:
  rewards:
    environment:
      TZ: Europe/Paris

Use Inline JSON

docker run -e ACCOUNTS_JSON='{"accounts":[...]}' ...

Custom Config Path

docker run -e ACCOUNTS_FILE=/custom/path/accounts.json ...

🔧 Common Commands

# Start container
docker compose up -d

# View logs
docker logs -f microsoft-rewards-script

# Stop container
docker compose down

# Rebuild image
docker compose build --no-cache

# Restart container
docker compose restart

🛠️ Troubleshooting

Problem Solution
"accounts.json not found" Mount file in docker-compose.yml
"Browser launch failed" Ensure FORCE_HEADLESS=1 is set
"Permission denied" Check file permissions (chmod 644)
Scheduler not running Verify schedule.enabled: true in config

Debug Container

# Enter container shell
docker exec -it microsoft-rewards-script /bin/bash

# Check Node.js version
docker exec -it microsoft-rewards-script node --version

# View config
docker exec -it microsoft-rewards-script cat config.json

🎛️ Custom Configuration

Use Built-in Scheduler

Default docker-compose.yml:

services:
  rewards:
    build: .
    command: ["npm", "run", "start:schedule"]

Single Run (Manual)

services:
  rewards:
    build: .
    command: ["node", "./dist/index.js"]

External Cron (Alternative)

services:
  rewards:
    environment:
      CRON_SCHEDULE: "0 7,16,20 * * *"
      RUN_ON_START: "true"

📚 Next Steps

Need 2FA?
Accounts & TOTP Setup

Want notifications?
Discord Webhooks

Scheduler config?
Scheduler Guide


← Back to Hub | Getting Started