{"id":24443799,"url":"https://github.com/heavybullets8/custom-formats","last_synced_at":"2025-10-24T02:23:27.727Z","repository":{"id":271169224,"uuid":"911722171","full_name":"Heavybullets8/custom-formats","owner":"Heavybullets8","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-10T01:30:53.000Z","size":461,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-10T02:46:55.429Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Heavybullets8.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-03T17:30:42.000Z","updated_at":"2025-03-10T01:30:56.000Z","dependencies_parsed_at":"2025-01-22T02:26:09.460Z","dependency_job_id":"55729900-38cb-4f62-8234-0bb8035bca31","html_url":"https://github.com/Heavybullets8/custom-formats","commit_stats":null,"previous_names":["heavybullets8/custom-formats"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fcustom-formats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fcustom-formats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fcustom-formats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fcustom-formats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Heavybullets8","download_url":"https://codeload.github.com/Heavybullets8/custom-formats/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243515564,"owners_count":20303258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-20T22:17:38.904Z","updated_at":"2025-10-24T02:23:27.637Z","avatar_url":"https://github.com/Heavybullets8.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Slimmed Down TRaSH-Guides for Recyclarr\n\nThis repository is a **slimmed-down version** of the excellent [TRaSH-Guides](https://github.com/TRaSH-Guides/Guides) repository, specifically tailored for use with **Recyclarr** and my [**Talos Kubernetes cluster**](https://github.com/Heavybullets8/heavy-ops).\n\n## **Purpose**\n\n- **Automated Synchronization**: Syncs with the upstream repository [TRaSH-Guides](https://github.com/TRaSH-Guides/Guides) once per day via a GitHub Action.\n- **Custom Formats Retention**: Retains my custom formats to ensure compatibility with my specific setup.\n- **Public Repository**: Unfortunately **public** since Recyclarr does not support private repositories at this time.\n\n## **Usage**\n\n### **Forking the Repository**\n\nIf you wish to use this repository for your own setup, you can **fork** it:\n\n1. Click the **Fork** button at the top right of this page to create your own copy of the repository.\n2. Clone your forked repository to your local machine.\n\n### **Configuring `config.yaml`**\n\nThe `config.yaml` file is the core configuration file that defines which paths and files are synchronized from the upstream repository. Here's how it's structured and how you can customize it:\n\n```yaml\nradarr:\n  custom_formats:\n    path: \"docs/json/radarr/cf\"\n    exclude:\n      - \"custom-format1.json\"\n      - \"custom-format2.json\"\n  qualities:\n    path: \"docs/json/radarr/quality-size\"\n  naming:\n    path: \"docs/json/radarr/naming\"\n    exclude:\n      - \"custom-naming-file-example-1.json\"\n      - \"custom-naming-file-example-2.json\"\n  quality_profiles:\n    path: \"docs/json/radarr/quality-profiles\"\n  custom_format_groups:\n    path: \"docs/json/radarr/cf-groups\"\n    exclude:\n      - \"custom-format-group-1.json\"\n\nsonarr:\n  custom_formats:\n    path: \"docs/json/sonarr/cf\"\n    exclude:\n      - \"custom-format1.json\"\n      - \"custom-format2.json\"\n  qualities:\n    path: \"docs/json/sonarr/quality-size\"\n  naming:\n    path: \"docs/json/sonarr/naming\"\n    exclude:\n      - \"custom-naming-file-example-1.json\"\n      - \"custom-naming-file-example-2.json\"\n  quality_profiles:\n    path: \"docs/json/sonarr/quality-profiles\"\n  custom_format_groups:\n    path: \"docs/json/sonarr/cf-groups\"\n    exclude:\n      - \"custom-format-group-1.json\"\n\nadditional_sync:\n  - \"docs/Radarr/Radarr-collection-of-custom-formats.md\"\n  - \"docs/Sonarr/sonarr-collection-of-custom-formats.md\"\n  - \"metadata.json\"\n```\n\n#### **Key Sections**\n\n- **`radarr` and `sonarr`**: These sections define the paths for various configurations and custom formats for Radarr and Sonarr. Each subkey (e.g., `custom_formats`, `qualities`, etc.) contains:\n\n  - **`path`**: The directory path where the files for that subkey are located.\n  - **`exclude` (optional)**: A list of filenames to **exclude** from synchronization. This prevents your custom files from being overwritten during the sync process.\n\n- **`additional_sync`**: Specifies additional files to synchronize from the upstream repository. By default, it includes files required by Recyclarr to verify the repository.\n\n#### **Customizing Your Configuration**\n\n##### **Adding Custom Files**\n\nTo retain your custom formats or configurations:\n\n1. **Place Your Custom Files**: Put your custom JSON files in the appropriate directories as specified by the `path` under each subkey.\n\n   - For Radarr custom formats: `docs/json/radarr/cf/`\n   - For Sonarr custom formats: `docs/json/sonarr/cf/`\n   - For other subkeys, use the paths specified in the `config.yaml`.\n\n2. **Specify Files to Exclude**: Add the filenames of your custom files to the `exclude` list under the relevant subkey in the `config.yaml`. This ensures they are **excluded** during the synchronization process and not overwritten.\n\n##### **Example: Adding a Custom Format to Radarr**\n\nIf you have a custom format file for Radarr called `my-custom-format.json`, follow these steps:\n\n1. **Place the File**:\n\n   - Put `my-custom-format.json` in the directory specified by the `path` for `custom_formats`:\n\n     ```\n     docs/json/radarr/cf/my-custom-format.json\n     ```\n\n2. **Update `config.yaml`**:\n\n   ```yaml\n   radarr:\n     custom_formats:\n       path: \"docs/json/radarr/cf\"\n       exclude:\n         - \"my-custom-format.json\"\n     # ... other subkeys ...\n   ```\n\n##### **Example: Excluding Custom Naming Files in Sonarr**\n\nIf you have custom naming files for Sonarr:\n\n1. **Place the Files**:\n\n   - Put your custom naming files in `docs/json/sonarr/naming/`.\n\n2. **Update `config.yaml`**:\n\n   ```yaml\n   sonarr:\n     naming:\n       path: \"docs/json/sonarr/naming\"\n       exclude:\n         - \"my-custom-naming.json\"\n     # ... other subkeys ...\n   ```\n\n### **Running the Synchronization**\n\nThe repository is set up to automatically synchronize with the upstream TRaSH-Guides repository once per day using GitHub Actions. However, if you want to trigger the synchronization manually:\n\n1. Go to the **Actions** tab in your repository on GitHub.\n2. Select the **\"Sync Custom Formats from Upstream\"** workflow.\n3. Click on **\"Run workflow\"** and select the branch you want to run it on.\n\n### **Notes**\n\n- **Directory Structure**: Ensure that any new files you add are placed in the correct directories as specified in the `path` values in the `config.yaml` file.\n- **Custom Exclusions**: The `exclude` lists use filenames, not full paths. The script will exclude these files from synchronization in their respective directories.\n- **Upstream Changes**: If the upstream repository changes its directory structure, the GitHub Action is designed to handle such changes by updating the paths and moving files accordingly. Since the `exclude` lists are associated with subkeys and use filenames, your custom files remain protected even if paths change.\n- **Additional Files**: You can add more files to the `additional_sync` list if you need to synchronize specific files from the upstream repository.\n\n## **Credits**\n\nAll credit for the guides and original content goes to the [TRaSH-Guides](https://github.com/TRaSH-Guides/Guides) repository. This repository is simply a tailored version meant to suit my personal needs.\n\n## **Disclaimer**\n\nThis repository is intended for **personal use**. If you choose to fork and modify it, please ensure you comply with the licensing terms of the original [TRaSH-Guides](https://github.com/TRaSH-Guides/Guides) repository.\n\n## **Contributing**\n\nContributions are welcome if they align with the purpose of this repository. However, please note that this is a personal project, and changes may not be merged if they do not fit my specific use case.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheavybullets8%2Fcustom-formats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheavybullets8%2Fcustom-formats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheavybullets8%2Fcustom-formats/lists"}