{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", ":disableDependencyDashboard", "security:minimumReleaseAgeNpm", "docker:pinDigests" ], "timezone": "America/New_York", "schedule": ["* 0-4 * * 6"], "lockFileMaintenance": { "enabled": true, "schedule": ["* 0-4 * * 6"], "semanticCommitType": "build", "semanticCommitScope": "deps" }, "configMigration": true, "semanticCommits": "enabled", "semanticCommitType": "chore", "semanticCommitScope": "cliparr", "labels": ["dependencies"], "customManagers": [ { "customType": "regex", "description": "Track pinned container images in deployment documentation.", "managerFilePatterns": ["/^apps/www/src/content/docs/.+\\.mdx$/"], "matchStrings": [ "image:[ \\t]+(?[^\\s:@]+):(?[^\\s@]+)@(?sha256:[a-f0-9]{64})" ], "datasourceTemplate": "docker", "versioningTemplate": "docker" } ], "packageRules": [ { "matchManagers": ["custom.regex"], "matchDatasources": ["docker"], "groupName": "Documentation container images", "semanticCommitType": "docs" }, { "matchManagers": ["npm"], "groupName": "npm dependencies" }, { "matchManagers": ["docker-compose", "dockerfile"], "groupName": "Docker images", "semanticCommitType": "build", "description": "Provider images are development and capture fixtures." }, { "description": "Production base and build image updates must be included in the next app release.", "matchManagers": ["dockerfile"], "matchFileNames": ["docker/Dockerfile"], "groupName": "Application container images", "semanticCommitType": "fix" }, { "matchManagers": ["github-actions"], "groupName": "GitHub Actions", "semanticCommitType": "ci" }, { "description": "Local image names are build outputs, not registry dependencies.", "matchDatasources": ["docker"], "matchPackageNames": ["cliparr-dev", "cliparr-www-capture"], "enabled": false }, { "description": "Plex release tags have four numeric components and a build hash.", "matchDatasources": ["docker"], "matchPackageNames": ["plexinc/pms-docker"], "versioning": "regex:^(?\\d+)\\.(?\\d+)\\.(?\\d+)\\.(?\\d+)-[a-f0-9]+$" }, { "description": "Keep Node LTS runtime and typings updates within the selected major.", "matchPackageNames": ["node", "@types/node"], "allowedVersions": ">=26.0.0 <27.0.0" }, { "description": "Group the runtime, source requirements, typings, and container bases.", "matchPackageNames": [ "node", "@types/node", "gcr.io/distroless/nodejs26-debian13" ], "groupName": "Node.js LTS", "groupSlug": "nodejs-lts", "semanticCommitType": "fix", "rangeStrategy": "bump", "separateMinorPatch": false }, { "description": "Docker tags carry a compatibility suffix, so constrain the Node major with a regex instead of a SemVer range.", "matchDatasources": ["docker"], "matchPackageNames": ["node"], "allowedVersions": "/^26\\./" } ] }