{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:recommended"
  ],
  "gitIgnoredAuthors": [
    "41898282+github-actions[bot]@users.noreply.github.com",
    "85266337+pooneyy@users.noreply.github.com"
  ],
  "prBodyColumns": [
    "Package",
    "Update",
    "Change",
    "Pending"
  ],
  "rebaseWhen": "never",
  "packageRules": [
    {
      "matchUpdateTypes": ["major", "pin", "pinDigest", "digest", "lockFileMaintenance", "rollback", "bump", "replacement"],
      "addLabels": ["{{ updateType }}"]
    },
    {
      "matchManagers": [
        "docker-compose"
      ],
      "automerge": true
    },
    {
      "matchPackageNames": [
        "*.aliyuncs.com/**",
        "*.gitlab.cn/**",
        "*.myhuaweicloud.com/**",
        "*.tencentyun.com/**"
        ],
      "enabled": false
    },
    {
      "matchPackageNames": [
        "altran1502/immich**",
        "ghcr.io/immich-app/immich**"
      ],
      "groupName": "immich"
    },
    {
      "matchPackageNames": ["anheyu/anheyu-backend", "anheyu/pro"],
      "groupName": "Anheyu Blog"
    },
    {
      "matchPackageNames": ["budtmo/docker-android"],
      "matchCurrentVersion": "emulator_9.0_*",
      "allowedVersions": "/^emulator_9.0_*/"
    },
    {
      "matchPackageNames": ["budtmo/docker-android"],
      "matchCurrentVersion": "emulator_10.0_*",
      "allowedVersions": "/^emulator_10.0_*/"
    },
    {
      "matchPackageNames": ["budtmo/docker-android"],
      "matchCurrentVersion": "emulator_11.0_*",
      "allowedVersions": "/^emulator_11.0_*/"
    },
    {
      "matchPackageNames": ["budtmo/docker-android"],
      "matchCurrentVersion": "emulator_12.0_*",
      "allowedVersions": "/^emulator_12.0_*/"
    },
    {
      "matchPackageNames": ["budtmo/docker-android"],
      "matchCurrentVersion": "emulator_13.0_*",
      "allowedVersions": "/^emulator_13.0_*/"
    },
    {
      "matchPackageNames": ["budtmo/docker-android"],
      "matchCurrentVersion": "emulator_14.0_*",
      "allowedVersions": "/^emulator_14.0_*/"
    },
    {
      "matchPackageNames": ["chaitin/safeline**"],
      "groupName": "SafeLine"
    },
    {
      "matchPackageNames": ["davidsarkany/geekbench"],
      "enabled": false
    },
    {
      "matchPackageNames": ["duan2001/npc", "duan2001/nps"],
      "groupName": "NPC & NPS by duan2001"
    },
    {
      "matchPackageNames": ["elasticsearch"],
      "matchCurrentVersion": "/^v8.*/",
      "allowedVersions": "/^v8.*/"
    },
    {
      "matchPackageNames": ["emby/embyserver**"],
      "groupName": "Emby Server"
    },
    {
      "matchPackageNames": ["gitlab/gitlab**"],
      "groupName": "GitLab"
    },
    {
      "matchPackageNames": ["ghcr.io/pooneyy/php", "php"],
      "matchCurrentVersion": "/^(7.4[^\\s]*)/",
      "allowedVersions": "/^(7.4[^\\s]*)/"
    },
    {
      "matchPackageNames": ["ghcr.io/pooneyy/php"],
      "matchCurrentVersion": "/^(8.1[^\\s]*)/",
      "allowedVersions": "/^(8.1[^\\s]*)/"
    },
    {
      "matchPackageNames": ["ghcr.io/pooneyy/php"],
      "matchCurrentVersion": "/^(8.2[^\\s]*)/",
      "allowedVersions": "/^(8.2[^\\s]*)/"
    },
    {
      "matchPackageNames": ["ghcr.io/pooneyy/php"],
      "matchCurrentVersion": "/^(8.3[^\\s]*)/",
      "allowedVersions": "/^(8.3[^\\s]*)/"
    },
    {
      "matchPackageNames": ["ghcr.io/pooneyy/php"],
      "matchCurrentVersion": "/^(8.4[^\\s]*)/",
      "allowedVersions": "/^(8.4[^\\s]*)/"
    },
    {
      "matchPackageNames": ["ghcr.io/pooneyy/php"],
      "matchCurrentVersion": "/^(8.5[^\\s]*)/",
      "allowedVersions": "/^(8.5[^\\s]*)/"
    },
    {
      "matchPackageNames": ["tdengine/tsdb**"],
      "groupName": "TDengine"
    },
    {
      "matchPackageNames": ["henrygd/beszel**"],
      "groupName": "beszel"
    },
    {
      "matchPackageNames": ["jxxghp/moviepilot**"],
      "groupName": "MoviePilot"
    },
    {
      "matchPackageNames": ["kasmweb/**"],
      "groupName": "Kasm Workspaces"
    },
    {
      "matchPackageNames": ["kibana"],
      "matchCurrentVersion": "/^8.*/",
      "allowedVersions": "/^8.*/"
    },
    {
      "matchPackageNames": ["langgenius/dify-web", "langgenius/dify-api"],
      "groupName": "Dify"
    },
    {
      "matchPackageNames": ["lobehub/lobe-chat-database", "lobehub/lobe-chat"],
      "groupName": "Lobe Chat"
    },
    {
      "matchPackageNames": ["linuxserver/calibre-web"],
      "ignoreUnstable": false,
      "versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)-ls(?<build>\\d+)$"
    },
    {
      "matchPackageNames": ["linuxserver/qbittorrent"],
      "matchCurrentVersion": "<=20",
      "allowedVersions": "<20"
    },
    {
      "matchPackageNames": ["linuxserver/**"],
      "allowedVersions": "<2021"
    },
    {
      "matchPackageNames": ["louislam/uptime-kuma"],
      "matchCurrentVersion": "/^1.*/",
      "allowedVersions": "<2"
    },
    {
      "matchPackageNames": ["photoprism/photoprism"],
      "matchCurrentVersion": "/^\\d{6}$/",
      "allowedVersions": "/^\\d{6}$/"
    },
    {
      "matchPackageNames": ["pingcap/**"],
      "groupName": "PingCAP"
    },
    {
      "matchPackageNames": ["prom/prometheus"],
      "matchCurrentVersion": "v2.21.0",
      "matchFileNames": [
        "apps/seaweedfs/**/docker-compose.yml"
      ],
      "enabled": false
    },
    {
      "matchPackageNames": ["qyg2297248353/bili-fetcher**"],
      "groupName": "Bilibili History Fetcher"
    },
    {
      "matchPackageNames": ["snowdreamtech/frpc", "snowdreamtech/frps"],
      "groupName": "Frp Cilent & Server"
    },
    {
      "matchPackageNames": ["syncthing/syncthing", "syncthing/discosrv", "syncthing/relaysrv"],
      "groupName": "Syncthing"
    },
    {
      "matchPackageNames": ["wushuo894/ani-rss"],
      "matchCurrentVersion": "/^v1.*/",
      "allowedVersions": "<2"
    },
    {
      "matchPackageNames": ["xhofe/alist**"],
      "matchCurrentVersion": "/^v3.40.*/",
      "enabled": false
    },
    {
      "matchPackageNames": ["yisier1/npc", "yisier1/nps"],
      "allowedVersions": "<0.27",
      "groupName": "NPC & NPS by yisier1"
    },
    {
      "matchPackageNames": ["zabbix/**"],
      "groupName": "Zabbix"
    },
    {
      "matchPackageNames":[
        "mysql**",
        "node**",
        "postgres**",
        "redis**"
      ],
      "enabled": false
    },
    {
      "matchFileNames": [
        "apps/mariadb/11.8.*/*.yml"
      ],
      "allowedVersions": "/^11.8.*/"
    },
    {
      "matchFileNames": [
        "apps/movie-pilot/1.*.*/*.yml"
      ],
      "allowedVersions": "<2"
    },
    {
      "matchFileNames": [
        "apps/mysql/5.5.*/*.yml"
      ],
      "allowedVersions": "/^5.5.*/"
    },
    {
      "matchFileNames": [
        "apps/mysql/5.6.*/*.yml"
      ],
      "allowedVersions": "/^5.6.*/"
    },
    {
      "matchFileNames": [
        "apps/mysql/5.7.*/*.yml"
      ],
      "allowedVersions": "/^5.7.*/"
    },
    {
      "matchFileNames": [
        "apps/mysql/8.0.*/*.yml"
      ],
      "allowedVersions": "/^8.0.*/"
    },
    {
      "matchFileNames": [
        "apps/mysql/8.4.*/*.yml"
      ],
      "allowedVersions": "/^8.4.*/"
    },
    {
      "matchFileNames": [
        "apps/postgresql-postgis/16-*/*.yml"
      ],
      "allowedVersions": "/^16-*/"
    },
    {
      "matchFileNames": [
        "apps/postgresql-postgis/17-*/*.yml"
      ],
      "allowedVersions": "/^17-*/"
    },
    {
      "matchFileNames": [
        "apps/safeline/8.*.*/*.yml"
      ],
      "allowedVersions": "/^8.*.*/"
    },
    {
      "matchFileNames": [
        "apps/reader/2.7.*/*.yml"
      ],
      "allowedVersions": "/^2.7.*/"
    },
    {
      "matchFileNames": [
        "apps/syncthing*/1.*/*.yml"
      ],
      "allowedVersions": "/^1.*/"
    }
  ],
  "customManagers": [
    {
      "description": "处理 shell 脚本中的镜像",
      "customType": "regex",
      "managerFilePatterns": ["/(^|/).+\\.sh$/"],
      "matchStrings": [
        // 调试正则表达式: https://regexr.com/8jlns
        "(?:# renovate)(?:\\n+)?([\\S]+=)(?<depName>[\\S]+):(?<currentValue>[\\S]+)"
      ],
      "datasourceTemplate": "{{#if datasource}}{{{datasource}}}{{else}}docker{{/if}}"
    }
  ],
  "prCreation": "immediate"
}
