diff --git a/README.md b/README.md index 8ccf31c..16ac157 100644 --- a/README.md +++ b/README.md @@ -50,15 +50,6 @@ volumes: fgc: ``` -CI / Build Your Own Image -------------------------- -- Workflow: `.forgejo/workflows/build.yml` builds/pushes on `push` to `main`. -- Secrets needed in Forgejo: - - `REGISTRY` (e.g., `git.sky-net.it`) - - `REGISTRY_IMAGE` (e.g., `git.sky-net.it/nocci/free-games-claimer`) - - `REG_USER`, `REG_TOKEN` (PAT with package push) -- Requires a self-hosted runner with Docker access (`runs-on: self-hosted`). - Configuration (Environment Variables) ------------------------------------- Common options: @@ -69,6 +60,13 @@ Common options: - Prime Gaming: `PG_REDEEM=1` (auto-redeem keys, experimental), `PG_CLAIMDLC=1`, `PG_TIMELEFT=` to skip long-remaining offers - Screenshots: `SCREENSHOTS_DIR` (default `data/screenshots`) - Notifications: `NOTIFY='...'` (Apprise URL), optional `NOTIFY_TITLE` +- Browser profile: `BROWSER_DIR` (default `data/browser`) +- Recording: `RECORD=1` to save videos/HAR to `data/record/` +- Debugging: `DEBUG=1` (opens Playwright inspector), `DEBUG_NETWORK=1` (logs requests), `TIME=1` (prints timings) +- Dry run / Interaction: `DRYRUN=1` (do not claim), `INTERACTIVE=1` (ask before claiming), `HEADLESS` is derived from `SHOW`/`DEBUG` +- Directories: `SCREENSHOTS_DIR`, `BROWSER_DIR`, `DATA_DIR` (prefix for data; default under `data/`) +- VNC/noVNC: `VNC_PASSWORD` (for Docker entrypoint), `NOVNC_PORT`/`VNC_PORT` (Docker) +- General timeouts: `TIMEOUT` (per action), `LOGIN_TIMEOUT` (extra time for login) You can place a `data/config.env`; it is loaded via dotenv and is overridden by explicitly set environment variables. diff --git a/src/util.js b/src/util.js index 308952d..49424f8 100644 --- a/src/util.js +++ b/src/util.js @@ -125,7 +125,8 @@ export const notify = html => new Promise((resolve, reject) => { if (error.message.includes('command not found')) { console.info('Run `pip install apprise`. See https://github.com/vogler/free-games-claimer#notifications'); } - return reject(error); + // don't fail the whole run on notification errors + return resolve(); } if (stderr) console.error(`stderr: ${stderr}`); if (stdout) console.log(`stdout: ${stdout}`);