services:
  discord-scraper:
    build:
      context: .
      dockerfile: Dockerfile
    image: discordchatexporter-cron:local
    # 0 = no cap (default). Set DCE_CONTAINER_MEMORY=8g in scrape.env for large channel catch-up.
    mem_limit: ${DCE_CONTAINER_MEMORY:-0}
    init: true
    user: "${DCE_UID:-1000}:${DCE_GID:-1000}"
    userns_mode: "${DCE_USERNS_MODE:-}"
    working_dir: /workspace
    env_file:
      - path: scrape.env
        required: false
    environment:
      DISCORD_TOKEN: ${DISCORD_TOKEN:-}
      TZ: ${TZ:-UTC}
    volumes:
      - ./config:/config:ro,z
      - ./scripts/run-discord-scrape.sh:/opt/dce-scheduler/run-discord-scrape.sh:ro,z
      - ./logs:/logs:z
      # Host path must match archive_root in config/scrape-targets.json (override on other machines).
      - ${DCE_ARCHIVE_ROOT:-/home/brunner56/Documents}:${DCE_ARCHIVE_ROOT:-/home/brunner56/Documents}:z
    command: ["help"]
