From 893e3ced2c64b424ca99272d353f5e4261e1d4a2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 14:44:31 +0000 Subject: [PATCH] Add disable_cron and run_on_startup options to Epic Games Free addon Co-authored-by: alexbelgium <44178713+alexbelgium@users.noreply.github.com> --- epicgamesfree/README.md | 8 +++++++ epicgamesfree/config.yaml | 4 ++++ .../rootfs/etc/cont-init.d/99-run.sh | 21 +++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/epicgamesfree/README.md b/epicgamesfree/README.md index f6247f4c8..89c600271 100644 --- a/epicgamesfree/README.md +++ b/epicgamesfree/README.md @@ -37,6 +37,14 @@ This addon is based on the docker image https://hub.docker.com/r/charlocharlie/e Addon options expose the `env_vars` field for passing extra environment variables; all other configuration is done via the JSON file. +### Add-on Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `run_on_startup` | boolean | `true` | Run a claim cycle when the add-on starts | +| `disable_cron` | boolean | `false` | Disable the cron schedule (only run on startup) | +| `env_vars` | list | `[]` | Extra environment variables to pass to the container | + ### Configuration Files Configuration files are stored in `/config/addons_config/epicgamesfree/`: diff --git a/epicgamesfree/config.yaml b/epicgamesfree/config.yaml index 519b419c0..ef464ac7a 100644 --- a/epicgamesfree/config.yaml +++ b/epicgamesfree/config.yaml @@ -75,6 +75,8 @@ map: name: Epic Games Free options: env_vars: [] + run_on_startup: true + disable_cron: false ports: 3000/tcp: 3000 ports_description: @@ -83,6 +85,8 @@ schema: env_vars: - name: match(^[A-Za-z0-9_]+$) value: str? + run_on_startup: bool? + disable_cron: bool? slug: epicgamesfree udev: true url: https://github.com/alexbelgium/hassio-addons diff --git a/epicgamesfree/rootfs/etc/cont-init.d/99-run.sh b/epicgamesfree/rootfs/etc/cont-init.d/99-run.sh index 33d5a00a9..f4630f37c 100755 --- a/epicgamesfree/rootfs/etc/cont-init.d/99-run.sh +++ b/epicgamesfree/rootfs/etc/cont-init.d/99-run.sh @@ -28,6 +28,27 @@ fi # Permissions chmod -R 777 "$HOME" +###################### +# APPLY ADDON CONFIG # +###################### + +# Handle run_on_startup option +if bashio::config.has_value "run_on_startup"; then + if bashio::config.true "run_on_startup"; then + bashio::log.info "run_on_startup is enabled" + jq '.runOnStartup = true' "$CONFIG_JSON" > "${CONFIG_JSON}.tmp" && mv "${CONFIG_JSON}.tmp" "$CONFIG_JSON" + else + bashio::log.info "run_on_startup is disabled" + jq '.runOnStartup = false' "$CONFIG_JSON" > "${CONFIG_JSON}.tmp" && mv "${CONFIG_JSON}.tmp" "$CONFIG_JSON" + fi +fi + +# Handle disable_cron option +if bashio::config.true "disable_cron"; then + bashio::log.info "Cron schedule is disabled - the addon will only run on startup" + jq 'del(.cronSchedule)' "$CONFIG_JSON" > "${CONFIG_JSON}.tmp" && mv "${CONFIG_JSON}.tmp" "$CONFIG_JSON" +fi + ############## # Launch App # ##############