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