From f895c3ca42a699dc6303645bc6f5cd0c1376b57c Mon Sep 17 00:00:00 2001 From: Nathaniel Landau Date: Tue, 13 Sep 2022 15:35:30 -0400 Subject: [PATCH] feat(jobs): add recyclarr to keep sonarr/radarr profiles in sync --- templates/nomad_jobs/recyclarr.hcl | 140 +++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 templates/nomad_jobs/recyclarr.hcl diff --git a/templates/nomad_jobs/recyclarr.hcl b/templates/nomad_jobs/recyclarr.hcl new file mode 100644 index 0000000..6045b9d --- /dev/null +++ b/templates/nomad_jobs/recyclarr.hcl @@ -0,0 +1,140 @@ +job "recyclarr" { + region = "global" + datacenters = ["{{ datacenter_name }}"] + type = "service" + + // constraint { + // attribute = "${node.unique.name}" + // operator = "regexp" + // value = "rpi(1|2|3)" + // } + + update { + max_parallel = 1 + health_check = "checks" + min_healthy_time = "10s" + healthy_deadline = "5m" + progress_deadline = "10m" + auto_revert = true + canary = 0 + stagger = "30s" + } + + group "recyclarr" { + + count = 1 + + restart { + attempts = 0 + delay = "30s" + } + + task "recyclarr" { + + env { + TZ = "America/New_York" + } + + // user = "${meta.PUID}:${meta.PGID}" + driver = "docker" + config { + image = "ghcr.io/recyclarr/recyclarr" + hostname = "${NOMAD_TASK_NAME}" + init = true + volumes = [ + "${meta.nfsStorageRoot}/pi-cluster/${NOMAD_TASK_NAME}:/config" + ] + } // docker config + + // template { + // destination = "local/recyclarr.yml" + // env = false + // change_mode = "restart" + // perms = "644" + // data = <<-EOH + // --- + // # yaml-language-server: $schema=https://raw.githubusercontent.com/recyclarr/recyclarr/master/schemas/config-schema.json + + // # A starter config to use with Recyclarr. Most values are set to "reasonable defaults". Update the + // # values below as needed for your instance. You will be required to update the API Key and URL for + // # each instance you want to use. + // # + // # Many optional settings have been omitted to keep this template simple. + // # + // # For more details on the configuration, see the Configuration Reference on the wiki here: + // # https://github.com/recyclarr/recyclarr/wiki/Configuration-Reference + + // # Configuration specific to Sonarr + // sonarr: + // # Set the URL/API Key to your actual instance + + // {% raw -%} + // - base_url: http://{{ range service "sonarr" }}{{ .Address }}:{{ .Port }}{{ end }} + // api_key: f7e74ba6c80046e39e076a27af5a8444 + // {% endraw -%} + + // # Quality definitions from the guide to sync to Sonarr. Choice: anime, series, hybrid + // quality_definition: series + + // # Release profiles from the guide to sync to Sonarr. + // # You can optionally add tags and make negative scores strictly ignored + // release_profiles: + // # Series + // - trash_ids: + // - EBC725268D687D588A20CBC5F97E538B # Low Quality Groups + // - 1B018E0C53EC825085DD911102E2CA36 # Release Sources (Streaming Service) + // - 71899E6C303A07AF0E4746EFF9873532 # P2P Groups + Repack/Proper + // # Anime (Uncomment below if you want it) + // # - trash_ids: + // # - d428eda85af1df8904b4bbe4fc2f537c # Anime - First release profile + // # - 6cd9e10bb5bb4c63d2d7cd3279924c7b # Anime - Second release profile + + // # Configuration specific to Radarr. + // radarr: + // # Set the URL/API Key to your actual instance + // {% raw -%} + // - base_url: http://{{ range service "radarr" }}{{ .Address }}:{{ .Port }}{{ end }} + // api_key: f7e74ba6c80046e39e076a27af5a8444 + // {% endraw -%} + + // # Which quality definition in the guide to sync to Radarr. Only choice right now is 'movie' + // quality_definition: + // type: movie + + // # Set to 'true' to automatically remove custom formats from Radarr when they are removed from + // # the guide or your configuration. This will NEVER delete custom formats you manually created! + // delete_old_custom_formats: false + + // custom_formats: + // # A list of custom formats to sync to Radarr. Must match the "trash_id" in the guide JSON. + // - trash_ids: + // - ed38b889b31be83fda192888e2286d83 # BR-DISK + // - 90cedc1fea7ea5d11298bebd3d1d3223 # EVO (no WEBDL) + // - 90a6f9a284dff5103f6346090e6280c8 # LQ + // - dc98083864ea246d05a42df0d05f81cc # x265 (720/1080p) + // - b8cd450cbfa689c0259a01d9e29ba3d6 # 3D + + // # Uncomment the below properties to specify one or more quality profiles that should be + // # updated with scores from the guide for each custom format. Without this, custom formats + // # are synced to Radarr but no scores are set in any quality profiles. + // # quality_profiles: + // # - name: Quality Profile 1 + // # - name: Quality Profile 2 + // # #score: -9999 # Optional score to assign to all CFs. Overrides scores in the guide. + // # #reset_unmatched_scores: true # Optionally set other scores to 0 if they are not listed in 'names' above. + // EOH + // } + + + // resources { + // cpu = 100 # MHz + // memory = 300 # MB + // } // resources + + } // task + + + } // group + + +} // job