Files
Microsoft-Rewards-Bot/compose.yaml
LightZirconite 2cc9df5278 Refactor project structure and update references from Light60-1 to Obsidian-wtf
- Changed working directory in Dockerfile from /usr/src/microsoft-rewards-script to /app
- Updated Docker container name and service name from microsoft-rewards-script to microsoft-rewards-bot
- Modified LICENSE, NOTICE, README.md, and other documentation files to reflect new project ownership
- Updated package.json and package-lock.json to change project name and repository links
- Adjusted entrypoint script and Docker Compose configurations for new paths
- Updated security and login handling in source code to reflect new documentation URLs
- Changed logo asset to reflect new branding
2025-11-03 15:17:06 +01:00

42 lines
1.6 KiB
YAML

services:
microsoft-rewards-bot:
build: .
container_name: microsoft-rewards-bot
restart: unless-stopped
# Volume mounts: Specify a location where you want to save the files on your local machine.
volumes:
- ./src/accounts.jsonc:/app/src/accounts.jsonc:ro
- ./src/config.jsonc:/app/src/config.jsonc:ro
- ./sessions:/app/sessions
environment:
TZ: "America/Toronto" # Set your timezone for proper scheduling (used by image and scheduler)
NODE_ENV: "production"
# Force headless when running in Docker (uses Chromium Headless Shell only)
FORCE_HEADLESS: "1"
# ============================================================
# SCHEDULING MODE: Choose one
# ============================================================
# Option 1: Built-in JavaScript Scheduler (default, recommended)
# - No additional setup needed
# - Uses config.jsonc schedule settings
# - Lighter resource usage
#SCHEDULER_DAILY_JITTER_MINUTES_MIN: "2"
#SCHEDULER_DAILY_JITTER_MINUTES_MAX: "10"
#SCHEDULER_PASS_TIMEOUT_MINUTES: "180"
#SCHEDULER_FORK_PER_PASS: "true"
# Option 2: Native Cron (for users who prefer traditional cron)
# Uncomment these lines to enable cron instead:
#USE_CRON: "true"
#CRON_SCHEDULE: "0 9 * * *" # Daily at 9 AM (see https://crontab.guru)
#RUN_ON_START: "true" # Run once immediately on container start
# Security hardening
security_opt:
- no-new-privileges:true
# Default: use built-in scheduler (entrypoint handles mode selection)
command: ["npm", "run", "start:schedule"]