From f0029c5a6af4921e5b0636532f630677015740a9 Mon Sep 17 00:00:00 2001 From: Eduard Marbach Date: Thu, 4 Apr 2024 19:06:12 +0200 Subject: [PATCH] docs: add full example --- README.md | 16 ++--- examples/full/.gitignore | 2 + examples/full/README.md | 16 +++++ .../full/cfs/custom-size-bigger-40gb.json | 22 ++++++ examples/full/config/config.yml | 67 +++++++++++++++++++ examples/full/config/secrets.yml | 2 + examples/full/docker-compose.jobs.yml | 15 +++++ examples/full/docker-compose.yml | 38 +++++++++++ examples/full/radarr.xml | 17 +++++ examples/full/sonarr.xml | 17 +++++ examples/full/templates/radarr-cf.yml | 42 ++++++++++++ examples/full/templates/radarr-quality.yml | 21 ++++++ examples/full/templates/sonarr-cf.yml | 17 +++++ examples/full/templates/sonarr-quality.yml | 19 ++++++ 14 files changed, 303 insertions(+), 8 deletions(-) create mode 100644 examples/full/.gitignore create mode 100644 examples/full/README.md create mode 100644 examples/full/cfs/custom-size-bigger-40gb.json create mode 100644 examples/full/config/config.yml create mode 100644 examples/full/config/secrets.yml create mode 100644 examples/full/docker-compose.jobs.yml create mode 100644 examples/full/docker-compose.yml create mode 100644 examples/full/radarr.xml create mode 100644 examples/full/sonarr.xml create mode 100644 examples/full/templates/radarr-cf.yml create mode 100644 examples/full/templates/radarr-quality.yml create mode 100644 examples/full/templates/sonarr-cf.yml create mode 100644 examples/full/templates/sonarr-quality.yml diff --git a/README.md b/README.md index 48e87a9..3833920 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,10 @@ Possible ideas: 2. Overwrite the hosts in case you are not using the local setup with docker compose 5. Run the app with `pnpm start` or with the vscode task +## Examples + +Some examples for configuration are provided [Examples](./examples/) + ## How to run Required files: @@ -92,7 +96,7 @@ Optional: ### Docker -`docker run --rm -v ./:/app/config ghcr.io/raydak-labs/configarr:work` +`docker run --rm -v ./:/app/config ghcr.io/raydak-labs/configarr:latest` ### Docker-compose @@ -100,12 +104,8 @@ Optional: services: configarr: - image: ghcr.io/raydak-labs/configarr:work - build: . - environment: - - PUID=1000 - - PGID=1000 - - TZ=Etc/UTC + image: ghcr.io/raydak-labs/configarr:latest + volumes: - ./config:/app/config # Contains the config.yml and secrets.yml - ./dockerrepos:/app/repos # Cache repositories @@ -133,7 +133,7 @@ spec: spec: containers: - name: configarr - image: ghcr.io/raydak-labs/configarr:work + image: ghcr.io/raydak-labs/configarr:latest imagePullPolicy: Always envFrom: - configMapRef: diff --git a/examples/full/.gitignore b/examples/full/.gitignore new file mode 100644 index 0000000..dc67370 --- /dev/null +++ b/examples/full/.gitignore @@ -0,0 +1,2 @@ +!config/*.yml +dockerrepos/ diff --git a/examples/full/README.md b/examples/full/README.md new file mode 100644 index 0000000..f6a7308 --- /dev/null +++ b/examples/full/README.md @@ -0,0 +1,16 @@ +# Configarr - Full example + +This example contains every feature provided by configarr. + +1. Start arr containers with `docker-compose up -d` + - Create network for containers + - Creates sonarr instance + - Creates radarr instance + - API keys are provided with the `xml` configs +2. Run configarr with `docker-compose -f docker-compose.jobs.yml run --rm configarr` + +URLs: +- sonarr: http://localhost:6500 +- radarr: http://localhost:6501 + +Cleanup: `docker-compose down -v` diff --git a/examples/full/cfs/custom-size-bigger-40gb.json b/examples/full/cfs/custom-size-bigger-40gb.json new file mode 100644 index 0000000..aedadd0 --- /dev/null +++ b/examples/full/cfs/custom-size-bigger-40gb.json @@ -0,0 +1,22 @@ +{ + "trash_id": "custom-size-more-40gb", + "trash_scores": { + "default": -10000 + }, + "trash_description": "Size: Block sizes over 40GB", + "custom_inf": "Does not work because SizeSpecification is not supported by recyclarr", + "name": "Size: Block More 40GB", + "includeCustomFormatWhenRenaming": false, + "specifications": [ + { + "name": "Size", + "implementation": "SizeSpecification", + "negate": false, + "required": true, + "fields": { + "min": 1, + "max": 9 + } + } + ] +} diff --git a/examples/full/config/config.yml b/examples/full/config/config.yml new file mode 100644 index 0000000..f4f3b8f --- /dev/null +++ b/examples/full/config/config.yml @@ -0,0 +1,67 @@ +#trashGuideUrl: https://github.com/BlackDark/fork-TRASH-Guides +#recyclarrConfigUrl: https://github.com/BlackDark/fork-recyclarr-configs +localCustomFormatsPath: /app/cfs +localConfigTemplatesPath: /app/templates + +sonarr: + instance1: + # Set the URL/API Key to your actual instance + base_url: http://sonarr:8989 + #base_url: https://sonarr.oci.eduard-marbach.de/ + api_key: !secret SONARR_API_KEY + + quality_definition: + type: series + + include: + #### Custom + - template: sonarr-cf + - template: sonarr-quality + + custom_formats: + # Movie Versions + - trash_ids: + - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced + quality_profiles: + - name: ExampleProfile + # score: 0 # Uncomment this line to disable prioritised IMAX Enhanced releases + +radarr: + instance1: + # Set the URL/API Key to your actual instance + base_url: http://radarr:7878 + #base_url: https://sonarr.oci.eduard-marbach.de/ + api_key: !secret RADARR_API_KEY + + quality_definition: + type: movies + + include: + # Comment out any of the following includes to disable them + #- template: radarr-quality-definition-movie + #- template: radarr-quality-profile-hd-bluray-web + #- template: radarr-custom-formats-hd-bluray-web + + # - template: radarr-quality-profile-uhd-bluray-web + # - template: radarr-custom-formats-uhd-bluray-web + + # - template: radarr-quality-profile-remux-web-1080p + # - template: radarr-custom-formats-remux-web-1080p + + # - template: radarr-quality-profile-remux-web-2160p + # - template: radarr-custom-formats-remux-web-2160p + + # - template: radarr-quality-profile-anime + # - template: radarr-custom-formats-anime + + #### Custom + - template: radarr-cf + - template: radarr-quality + + custom_formats: + # Movie Versions + - trash_ids: + - 9f6cbff8cfe4ebbc1bde14c7b7bec0de # IMAX Enhanced + quality_profiles: + - name: ExampleProfile + # score: 0 # Uncomment this line to disable prioritised IMAX Enhanced releases diff --git a/examples/full/config/secrets.yml b/examples/full/config/secrets.yml new file mode 100644 index 0000000..1b5859e --- /dev/null +++ b/examples/full/config/secrets.yml @@ -0,0 +1,2 @@ +SONARR_API_KEY: 5e792b7e0fe14f58b8e92bf0902d4a44 +RADARR_API_KEY: 0daa3a2b940f4e08bac991e9a30e9e12 diff --git a/examples/full/docker-compose.jobs.yml b/examples/full/docker-compose.jobs.yml new file mode 100644 index 0000000..0576a6b --- /dev/null +++ b/examples/full/docker-compose.jobs.yml @@ -0,0 +1,15 @@ +services: + configarr: + image: ghcr.io/raydak-labs/configarr:latest + networks: + - configarr-full + volumes: + - ./config:/app/config + - ./dockerrepos:/app/repos + - ./cfs:/app/cfs + - ./templates:/app/templates + +networks: + configarr-full: + name: configarr-full + external: true diff --git a/examples/full/docker-compose.yml b/examples/full/docker-compose.yml new file mode 100644 index 0000000..96afab1 --- /dev/null +++ b/examples/full/docker-compose.yml @@ -0,0 +1,38 @@ +services: + sonarr: + image: lscr.io/linuxserver/sonarr:4.0.2 + networks: + - configarr-full + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - sonarr:/config + - ${PWD}/sonarr.xml:/config/config.xml:rw + ports: + - 6500:8989 + restart: unless-stopped + + radarr: + image: lscr.io/linuxserver/radarr:5.3.6 + networks: + - configarr-full + environment: + - PUID=1000 + - PGID=1000 + - TZ=Etc/UTC + volumes: + - radarr:/config + - ${PWD}/radarr.xml:/config/config.xml:rw + ports: + - 6501:7878 + restart: unless-stopped + +networks: + configarr-full: + name: configarr-full + +volumes: + sonarr: + radarr: diff --git a/examples/full/radarr.xml b/examples/full/radarr.xml new file mode 100644 index 0000000..2c2cb84 --- /dev/null +++ b/examples/full/radarr.xml @@ -0,0 +1,17 @@ + + * + 7878 + 9898 + False + True + 0daa3a2b940f4e08bac991e9a30e9e12 + Basic + DisabledForLocalAddresses + master + info + + + + Radarr + Docker + \ No newline at end of file diff --git a/examples/full/sonarr.xml b/examples/full/sonarr.xml new file mode 100644 index 0000000..ae2bce3 --- /dev/null +++ b/examples/full/sonarr.xml @@ -0,0 +1,17 @@ + + * + 8989 + 9898 + False + True + 5e792b7e0fe14f58b8e92bf0902d4a44 + Basic + DisabledForLocalAddresses + main + info + + + + Sonarr + Docker + \ No newline at end of file diff --git a/examples/full/templates/radarr-cf.yml b/examples/full/templates/radarr-cf.yml new file mode 100644 index 0000000..dfbc32e --- /dev/null +++ b/examples/full/templates/radarr-cf.yml @@ -0,0 +1,42 @@ +custom_formats: + - trash_ids: + # Can be copied from recyclarr + + # HQ Release Groups + - 3a3ff47579026e76d6504ebea39390de # Remux Tier 01 + - 9f98181fe5a3fbeb0cc29340da2a468a # Remux Tier 02 + - 8baaf0b3142bf4d94c42a724f034e27a # Remux Tier 03 + - c20f169ef63c5f40c2def54abaf4438e # WEB Tier 01 + - 403816d65392c79236dcb6dd591aeda4 # WEB Tier 02 + - af94e0fe497124d1f9ce732069ec8c3b # WEB Tier 03 + quality_profiles: + - name: ExampleProfile + + - trash_ids: + # Streaming Services + - b3b3a6ac74ecbd56bcdbefa4799fb9df # AMZN + - 40e9380490e748672c2522eaaeb692f7 # ATVP + - f6ff65b3f4b464a79dcc75950fe20382 # CRAV + - 84272245b2988854bfb76a16e60baea5 # DSNP + - 917d1f2c845b2b466036b0cc2d7c72a3 # FOD + - 509e5f41146e278f9eab1ddaceb34515 # HBO + - 5763d1b0ce84aff3b21038eea8e9b8ad # HMAX + - 526d445d4c16214309f0fd2b3be18a89 # Hulu + - 6185878161f1e2eef9cd0641a0d09eae # iP + - 6a061313d22e51e0f25b7cd4dc065233 # MAX + - 170b1d363bd8516fbf3a3eb05d4faff6 # NF + - fbca986396c5e695ef7b2def3c755d01 # OViD + - bf7e73dd1d85b12cc527dc619761c840 # Pathe + - c9fd353f8f5f1baf56dc601c4cb29920 # PCOK + - e36a0ba1bc902b26ee40818a1d59b8bd # PMTP + - c2863d2a50c9acad1fb50e53ece60817 # STAN + - f1b0bae9bc222dab32c1b38b5a7a1088 # TVer + - 279bda7434fd9075786de274e6c3c202 # U-NEXT + quality_profiles: + - name: ExampleProfile + + - trash_ids: + - custom-size-more-40gb # custom CF + quality_profiles: + - name: ExampleProfile + score: -10000 diff --git a/examples/full/templates/radarr-quality.yml b/examples/full/templates/radarr-quality.yml new file mode 100644 index 0000000..aedc0a6 --- /dev/null +++ b/examples/full/templates/radarr-quality.yml @@ -0,0 +1,21 @@ +quality_profiles: + - name: ExampleProfile + reset_unmatched_scores: + enabled: true + upgrade: + allowed: true + until_quality: WEB 2160p + until_score: 1000 + min_format_score: 0 + quality_sort: top + qualities: + - name: Remux-2160p + - name: WEB 2160p + qualities: + - WEBDL-2160p + - WEBRip-2160p + - name: Remux-1080p + - name: WEB 1080p + qualities: + - WEBDL-1080p + - WEBRip-1080p diff --git a/examples/full/templates/sonarr-cf.yml b/examples/full/templates/sonarr-cf.yml new file mode 100644 index 0000000..7dfdfe3 --- /dev/null +++ b/examples/full/templates/sonarr-cf.yml @@ -0,0 +1,17 @@ +custom_formats: + - trash_ids: + # Can be copied from recyclarr + + # HQ Source Groups + - e6258996055b9fbab7e9cb2f75819294 # WEB Tier 01 + - 58790d4e2fdcd9733aa7ae68ba2bb503 # WEB Tier 02 + - d84935abd3f8556dcd51d4f27e22d0a6 # WEB Tier 03 + - d0c516558625b04b363fa6c5c2c7cfd4 # WEB Scene + quality_profiles: + - name: ExampleProfile + + - trash_ids: + - custom-size-more-40gb # custom language + quality_profiles: + - name: ExampleProfile + score: -10000 diff --git a/examples/full/templates/sonarr-quality.yml b/examples/full/templates/sonarr-quality.yml new file mode 100644 index 0000000..5cb78f7 --- /dev/null +++ b/examples/full/templates/sonarr-quality.yml @@ -0,0 +1,19 @@ +quality_profiles: + - name: ExampleProfile + reset_unmatched_scores: + enabled: true + upgrade: + allowed: true + until_quality: WEB 2160p + until_score: 1000 + min_format_score: 0 + quality_sort: top + qualities: + - name: WEB 2160p + qualities: + - WEBDL-2160p + - WEBRip-2160p + - name: WEB 1080p + qualities: + - WEBDL-1080p + - WEBRip-1080p