Files

103 lines
2.5 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:base"],
"timezone": "America/Los_Angeles",
"schedule": ["after 2am and before 6am every weekday"],
"labels": ["renovate"],
"assignees": ["admin"],
"reviewers": ["admin"],
"prConcurrentLimit": 5,
"prHourlyLimit": 2,
"branchConcurrentLimit": 10,
"commitMessagePrefix": "chore(deps):",
"semanticCommits": "enabled",
"packageRules": [
{
"description": "Auto-merge patch updates for low-risk app stacks",
"matchFileNames": [
"mealie/**",
"vaultwarden/**",
"maintenance/**",
"meshcentral/**"
],
"matchUpdateTypes": ["patch"],
"automerge": true,
"automergeType": "pr",
"automergeStrategy": "merge"
},
{
"description": "Auto-merge minor+patch for media stack (Plex/Radarr/Sonarr update frequently)",
"matchFileNames": ["media/**"],
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"automergeType": "pr",
"automergeStrategy": "merge"
},
{
"description": "NEVER auto-merge bootstrap/critical stacks - manual review required",
"matchFileNames": [
"traefik.yaml",
"traefik.env",
"auth.yaml",
"auth.env",
"postgresql.yaml",
"woodpecker.yaml",
"git.yaml"
],
"automerge": false,
"labels": ["renovate", "high-risk"],
"reviewers": ["admin"]
},
{
"description": "Never auto-merge major version bumps for anything",
"matchUpdateTypes": ["major"],
"automerge": false,
"labels": ["renovate", "major-update"]
},
{
"description": "Group all immich updates together (server+microservices must stay in sync)",
"matchFileNames": ["immich/**"],
"groupName": "immich",
"automerge": false,
"labels": ["renovate", "immich"]
},
{
"description": "Group all AI stack updates together",
"matchFileNames": ["ai.yaml"],
"groupName": "ai-stack",
"automerge": false,
"labels": ["renovate", "ai"]
},
{
"description": "Pin digest updates silently (SHA pinning) - auto-merge",
"matchUpdateTypes": ["digest"],
"automerge": true,
"automergeType": "pr"
}
],
"docker-compose": {
"fileMatch": [
"(^|/)docker-compose\\.ya?ml$",
"(^|/)[a-z0-9-]+\\.ya?ml$"
]
},
"woodpecker": {
"enabled": false
},
"ignorePaths": [
"deploy/**",
"secrets/**",
".woodpecker/**",
"*.env",
"*.env.example"
]
}