From a04a3aa338d14d55c74c8ca06a627c496461cda7 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Wed, 25 Jun 2025 06:33:41 +0000 Subject: [PATCH 01/96] Processed apps directory via GitHub Actions --- appstore/ammds-ol8/1.6.15/.env | 45 +++++++ appstore/ammds-ol8/1.6.15/data.yml | 118 ++++++++++++++++++ appstore/ammds-ol8/1.6.15/docker-compose.yml | 33 +++++ .../1.6.15}/envs/default.env | 0 .../1.6.15}/envs/global.env | 0 .../1.6.15}/scripts/init.sh | 0 .../1.6.15}/scripts/uninstall.sh | 0 .../1.6.15}/scripts/upgrade.sh | 0 appstore/ammds-ol8/README.md | 77 ++++++++++++ appstore/ammds-ol8/data.yml | 14 +++ appstore/ammds-ol8/logo.png | Bin 0 -> 122527 bytes appstore/casdoor/{1.946.0 => 1.947.0}/.env | 0 .../config/init_data.json | 0 .../casdoor/{1.946.0 => 1.947.0}/data.yml | 0 .../{1.946.0 => 1.947.0}/docker-compose.yml | 2 +- .../{1.946.0 => 1.947.0}/envs/casdoor.env | 0 .../1.947.0}/envs/default.env | 0 .../1.947.0}/envs/global.env | 0 .../{1.946.0 => 1.947.0}/scripts/init.sh | 0 .../1.947.0}/scripts/uninstall.sh | 0 .../{1.946.0 => 1.947.0}/scripts/upgrade.sh | 0 appstore/ghost/{5.126.0 => 5.127.1}/.env | 0 appstore/ghost/{5.126.0 => 5.127.1}/data.yml | 0 .../{5.126.0 => 5.127.1}/docker-compose.yml | 2 +- .../1.0.0 => ghost/5.127.1}/envs/default.env | 0 .../1.0.0 => ghost/5.127.1}/envs/global.env | 0 .../1.0.0 => ghost/5.127.1}/scripts/init.sh | 0 .../5.127.1}/scripts/uninstall.sh | 0 .../5.127.1}/scripts/upgrade.sh | 0 appstore/mdc-ng/{1.0.0 => 1.3.0}/.env | 0 appstore/mdc-ng/{1.0.0 => 1.3.0}/data.yml | 0 .../{1.0.0 => 1.3.0}/docker-compose.yml | 2 +- .../1.3.0}/envs/default.env | 0 .../1.3.0}/envs/global.env | 0 .../1.3.0}/scripts/init.sh | 0 .../1.3.0}/scripts/uninstall.sh | 0 .../1.3.0}/scripts/upgrade.sh | 0 appstore/nodepassdash/2.0.2/.env | 9 ++ appstore/nodepassdash/2.0.2/data.yml | 33 +++++ .../nodepassdash/2.0.2/docker-compose.yml | 22 ++++ .../2.0.2}/envs/default.env | 0 .../2.0.2}/envs/global.env | 0 appstore/nodepassdash/2.0.2/scripts/init.sh | 17 +++ .../2.0.2}/scripts/uninstall.sh | 0 .../nodepassdash/2.0.2/scripts/upgrade.sh | 17 +++ appstore/nodepassdash/README.md | 41 ++++++ appstore/nodepassdash/data.yml | 14 +++ appstore/nodepassdash/logo.png | Bin 0 -> 16486 bytes appstore/nodepassdash/logo.svg | 12 ++ .../rsshub/{2025-06-24 => 2025-06-25}/.env | 0 .../{2025-06-24 => 2025-06-25}/data.yml | 0 .../docker-compose.yml | 2 +- appstore/rsshub/2025-06-25/envs/default.env | 2 + appstore/rsshub/2025-06-25/envs/global.env | 2 + appstore/rsshub/2025-06-25/scripts/init.sh | 17 +++ .../rsshub/2025-06-25/scripts/uninstall.sh | 10 ++ appstore/rsshub/2025-06-25/scripts/upgrade.sh | 17 +++ .../{13.1.2 => 13.1.5}/.env | 0 .../{13.1.2 => 13.1.5}/conf/webdav.yaml | 0 .../{13.1.2 => 13.1.5}/data.yml | 0 .../{13.1.2 => 13.1.5}/docker-compose.yml | 2 +- .../13.1.5/envs/default.env | 2 + .../super-productivity/13.1.5/envs/global.env | 2 + .../{13.1.2 => 13.1.5}/scripts/init.sh | 0 .../13.1.5/scripts/uninstall.sh | 10 ++ .../{13.1.2 => 13.1.5}/scripts/upgrade.sh | 0 dockge/ammds-ol8/.env | 45 +++++++ dockge/ammds-ol8/docker-compose.yml | 33 +++++ dockge/ammds-ol8/envs/default.env | 2 + dockge/ammds-ol8/envs/global.env | 2 + dockge/casdoor/docker-compose.yml | 2 +- dockge/ghost/docker-compose.yml | 2 +- dockge/mdc-ng/docker-compose.yml | 2 +- dockge/nodepassdash/.env | 9 ++ dockge/nodepassdash/docker-compose.yml | 22 ++++ dockge/nodepassdash/envs/default.env | 2 + dockge/nodepassdash/envs/global.env | 2 + dockge/rsshub/docker-compose.yml | 2 +- dockge/super-productivity/docker-compose.yml | 2 +- 79 files changed, 641 insertions(+), 10 deletions(-) create mode 100644 appstore/ammds-ol8/1.6.15/.env create mode 100644 appstore/ammds-ol8/1.6.15/data.yml create mode 100644 appstore/ammds-ol8/1.6.15/docker-compose.yml rename appstore/{casdoor/1.946.0 => ammds-ol8/1.6.15}/envs/default.env (100%) rename appstore/{casdoor/1.946.0 => ammds-ol8/1.6.15}/envs/global.env (100%) rename appstore/{ghost/5.126.0 => ammds-ol8/1.6.15}/scripts/init.sh (100%) rename appstore/{casdoor/1.946.0 => ammds-ol8/1.6.15}/scripts/uninstall.sh (100%) rename appstore/{ghost/5.126.0 => ammds-ol8/1.6.15}/scripts/upgrade.sh (100%) create mode 100644 appstore/ammds-ol8/README.md create mode 100644 appstore/ammds-ol8/data.yml create mode 100644 appstore/ammds-ol8/logo.png rename appstore/casdoor/{1.946.0 => 1.947.0}/.env (100%) rename appstore/casdoor/{1.946.0 => 1.947.0}/config/init_data.json (100%) rename appstore/casdoor/{1.946.0 => 1.947.0}/data.yml (100%) rename appstore/casdoor/{1.946.0 => 1.947.0}/docker-compose.yml (93%) rename appstore/casdoor/{1.946.0 => 1.947.0}/envs/casdoor.env (100%) rename appstore/{ghost/5.126.0 => casdoor/1.947.0}/envs/default.env (100%) rename appstore/{ghost/5.126.0 => casdoor/1.947.0}/envs/global.env (100%) rename appstore/casdoor/{1.946.0 => 1.947.0}/scripts/init.sh (100%) rename appstore/{ghost/5.126.0 => casdoor/1.947.0}/scripts/uninstall.sh (100%) rename appstore/casdoor/{1.946.0 => 1.947.0}/scripts/upgrade.sh (100%) rename appstore/ghost/{5.126.0 => 5.127.1}/.env (100%) rename appstore/ghost/{5.126.0 => 5.127.1}/data.yml (100%) rename appstore/ghost/{5.126.0 => 5.127.1}/docker-compose.yml (95%) rename appstore/{mdc-ng/1.0.0 => ghost/5.127.1}/envs/default.env (100%) rename appstore/{mdc-ng/1.0.0 => ghost/5.127.1}/envs/global.env (100%) rename appstore/{mdc-ng/1.0.0 => ghost/5.127.1}/scripts/init.sh (100%) rename appstore/{mdc-ng/1.0.0 => ghost/5.127.1}/scripts/uninstall.sh (100%) rename appstore/{mdc-ng/1.0.0 => ghost/5.127.1}/scripts/upgrade.sh (100%) rename appstore/mdc-ng/{1.0.0 => 1.3.0}/.env (100%) rename appstore/mdc-ng/{1.0.0 => 1.3.0}/data.yml (100%) rename appstore/mdc-ng/{1.0.0 => 1.3.0}/docker-compose.yml (96%) rename appstore/{rsshub/2025-06-24 => mdc-ng/1.3.0}/envs/default.env (100%) rename appstore/{rsshub/2025-06-24 => mdc-ng/1.3.0}/envs/global.env (100%) rename appstore/{rsshub/2025-06-24 => mdc-ng/1.3.0}/scripts/init.sh (100%) rename appstore/{rsshub/2025-06-24 => mdc-ng/1.3.0}/scripts/uninstall.sh (100%) rename appstore/{rsshub/2025-06-24 => mdc-ng/1.3.0}/scripts/upgrade.sh (100%) create mode 100644 appstore/nodepassdash/2.0.2/.env create mode 100644 appstore/nodepassdash/2.0.2/data.yml create mode 100644 appstore/nodepassdash/2.0.2/docker-compose.yml rename appstore/{super-productivity/13.1.2 => nodepassdash/2.0.2}/envs/default.env (100%) rename appstore/{super-productivity/13.1.2 => nodepassdash/2.0.2}/envs/global.env (100%) create mode 100644 appstore/nodepassdash/2.0.2/scripts/init.sh rename appstore/{super-productivity/13.1.2 => nodepassdash/2.0.2}/scripts/uninstall.sh (100%) create mode 100644 appstore/nodepassdash/2.0.2/scripts/upgrade.sh create mode 100644 appstore/nodepassdash/README.md create mode 100644 appstore/nodepassdash/data.yml create mode 100644 appstore/nodepassdash/logo.png create mode 100644 appstore/nodepassdash/logo.svg rename appstore/rsshub/{2025-06-24 => 2025-06-25}/.env (100%) rename appstore/rsshub/{2025-06-24 => 2025-06-25}/data.yml (100%) rename appstore/rsshub/{2025-06-24 => 2025-06-25}/docker-compose.yml (97%) create mode 100644 appstore/rsshub/2025-06-25/envs/default.env create mode 100644 appstore/rsshub/2025-06-25/envs/global.env create mode 100644 appstore/rsshub/2025-06-25/scripts/init.sh create mode 100644 appstore/rsshub/2025-06-25/scripts/uninstall.sh create mode 100644 appstore/rsshub/2025-06-25/scripts/upgrade.sh rename appstore/super-productivity/{13.1.2 => 13.1.5}/.env (100%) rename appstore/super-productivity/{13.1.2 => 13.1.5}/conf/webdav.yaml (100%) rename appstore/super-productivity/{13.1.2 => 13.1.5}/data.yml (100%) rename appstore/super-productivity/{13.1.2 => 13.1.5}/docker-compose.yml (93%) create mode 100644 appstore/super-productivity/13.1.5/envs/default.env create mode 100644 appstore/super-productivity/13.1.5/envs/global.env rename appstore/super-productivity/{13.1.2 => 13.1.5}/scripts/init.sh (100%) create mode 100644 appstore/super-productivity/13.1.5/scripts/uninstall.sh rename appstore/super-productivity/{13.1.2 => 13.1.5}/scripts/upgrade.sh (100%) create mode 100644 dockge/ammds-ol8/.env create mode 100644 dockge/ammds-ol8/docker-compose.yml create mode 100644 dockge/ammds-ol8/envs/default.env create mode 100644 dockge/ammds-ol8/envs/global.env create mode 100644 dockge/nodepassdash/.env create mode 100644 dockge/nodepassdash/docker-compose.yml create mode 100644 dockge/nodepassdash/envs/default.env create mode 100644 dockge/nodepassdash/envs/global.env diff --git a/appstore/ammds-ol8/1.6.15/.env b/appstore/ammds-ol8/1.6.15/.env new file mode 100644 index 000000000..8a28c6046 --- /dev/null +++ b/appstore/ammds-ol8/1.6.15/.env @@ -0,0 +1,45 @@ +# 网络模式 [必填] +NETWORK_MODE=1panel-network + +# 数据持久化路径 [必填] +AMMDS_ROOT_PATH=/home/ammds + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# API 端口 [必填] +PANEL_APP_PORT_API=9523 + +# MetaTube URL +AMMDS_METATUBE_URL= + +# MetaTube 密钥 +AMMDS_METATUBE_TOKEN= + +# Prowlarr URL +AMMDS_PROWLARR_URL= + +# Prowlarr 密钥 +AMMDS_PROWLARR_TOKEN= + +# IYUU 密钥 +AMMDS_IYUU_TOKEN= + +# qBittorrent URL +AMMDS_QBITTORRENT_URL= + +# qBittorrent 用户名 +AMMDS_QBITTORRENT_USERNAME= + +# qBittorrent 密码 +AMMDS_QBITTORRENT_PASSWORD= + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/appstore/ammds-ol8/1.6.15/data.yml b/appstore/ammds-ol8/1.6.15/data.yml new file mode 100644 index 000000000..dddda8115 --- /dev/null +++ b/appstore/ammds-ol8/1.6.15/data.yml @@ -0,0 +1,118 @@ +additionalProperties: + formFields: + - default: "1panel-network" + edit: true + envKey: NETWORK_MODE + labelZh: 网络模式 + labelEn: Network mode + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" + - default: "/home/ammds" + edit: true + envKey: AMMDS_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: 9523 + edit: true + envKey: PANEL_APP_PORT_API + labelZh: API 端口 + labelEn: API port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: AMMDS_METATUBE_URL + labelZh: MetaTube URL + labelEn: MetaTube URL + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_METATUBE_TOKEN + labelZh: MetaTube 密钥 + labelEn: MetaTube token + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_PROWLARR_URL + labelZh: Prowlarr URL + labelEn: Prowlarr URL + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_PROWLARR_TOKEN + labelZh: Prowlarr 密钥 + labelEn: Prowlarr token + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_IYUU_TOKEN + labelZh: IYUU 密钥 + labelEn: IYUU token + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_QBITTORRENT_URL + labelZh: qBittorrent URL + labelEn: qBittorrent URL + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_QBITTORRENT_USERNAME + labelZh: qBittorrent 用户名 + labelEn: qBittorrent Username + required: false + type: text + - default: "" + edit: true + envKey: AMMDS_QBITTORRENT_PASSWORD + labelZh: qBittorrent 密码 + labelEn: qBittorrent Password + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_1 + labelEn: Custom mount directory 1 + labelZh: 自定义挂载目录 1 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_2 + labelEn: Custom mount directory 2 + labelZh: 自定义挂载目录 2 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_3 + labelEn: Custom mount directory 3 + labelZh: 自定义挂载目录 3 + required: false + type: text diff --git a/appstore/ammds-ol8/1.6.15/docker-compose.yml b/appstore/ammds-ol8/1.6.15/docker-compose.yml new file mode 100644 index 000000000..c2e8fba01 --- /dev/null +++ b/appstore/ammds-ol8/1.6.15/docker-compose.yml @@ -0,0 +1,33 @@ +networks: + 1panel-network: + external: true +services: + ammds: + container_name: ammds-ol8 + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} + - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} + image: qyg2297248353/ammds:v1.6.15-ol8 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE:-host} + ports: + - ${PANEL_APP_PORT_HTTP:-8080}:${PANEL_APP_PORT_HTTP:-8080} + restart: always + stdin_open: true + tty: true + ulimits: + nofile: + hard: 524288 + soft: 524288 + volumes: + - ${AMMDS_ROOT_PATH}/data:/ammds/data + - ${AMMDS_ROOT_PATH}/db:/ammds/db + - ${AMMDS_ROOT_PATH}/download:/ammds/download + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/appstore/casdoor/1.946.0/envs/default.env b/appstore/ammds-ol8/1.6.15/envs/default.env similarity index 100% rename from appstore/casdoor/1.946.0/envs/default.env rename to appstore/ammds-ol8/1.6.15/envs/default.env diff --git a/appstore/casdoor/1.946.0/envs/global.env b/appstore/ammds-ol8/1.6.15/envs/global.env similarity index 100% rename from appstore/casdoor/1.946.0/envs/global.env rename to appstore/ammds-ol8/1.6.15/envs/global.env diff --git a/appstore/ghost/5.126.0/scripts/init.sh b/appstore/ammds-ol8/1.6.15/scripts/init.sh similarity index 100% rename from appstore/ghost/5.126.0/scripts/init.sh rename to appstore/ammds-ol8/1.6.15/scripts/init.sh diff --git a/appstore/casdoor/1.946.0/scripts/uninstall.sh b/appstore/ammds-ol8/1.6.15/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/1.946.0/scripts/uninstall.sh rename to appstore/ammds-ol8/1.6.15/scripts/uninstall.sh diff --git a/appstore/ghost/5.126.0/scripts/upgrade.sh b/appstore/ammds-ol8/1.6.15/scripts/upgrade.sh similarity index 100% rename from appstore/ghost/5.126.0/scripts/upgrade.sh rename to appstore/ammds-ol8/1.6.15/scripts/upgrade.sh diff --git a/appstore/ammds-ol8/README.md b/appstore/ammds-ol8/README.md new file mode 100644 index 000000000..9332d96f9 --- /dev/null +++ b/appstore/ammds-ol8/README.md @@ -0,0 +1,77 @@ +# AMMDS (兼容版) + +个人影视数据管理平台 + +![AMMDS](https://file.lifebus.top/imgs/ammds_cover.png) + +AMMDS(Adult Movie MetaData Scraper)是一款私人专属数据管理平台,专注于帮助用户轻松管理和整理个人影视库。通过智能刮削元数据、演员识别、多源数据匹配等功能,打造专属的家庭影院体验。 + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +
+
+ ⚠️ +
+ 温馨提示
+ 该软件为离线产品,数据来源由使用者手动录入。 + 请勿在国内宣传该产品,如有需要请使用简称:AMMDS +
+
+
+ +
+
+ ⚠️ +
+ 插件提示
+ 集成插件需要网络功能 + 如开启任一集成插件,将视为您已同意接入网络连接 +
+
+
+ +## 🎬 主要特性 + +### 影视管理 + +- 支持多种视频格式,轻松管理个人影视库。 +- 自动刮削影片信息,提供封面、简介、评分等元数据。 + +### 👤 演员识别 + +- 自动识别影视作品中的演员信息。 +- 提供详细的演员资料和作品列表,方便查找和浏览。 + +### 📄 元数据获取 + +- 自动从互联网获取影视作品的元数据。 +- 确保影视库信息全面丰富。 + +### 📤 影视分享 + +- 支持影视库分享功能,轻松共享你的影视收藏。 +- 适用于家庭影院和私人影视社群。 + +### 🔌 插件集成 + +- 提供丰富的插件支持,扩展更多功能。 +- 可轻松集成到现有的媒体服务器或播放器中。 + +### 🌐 多源刮削 + +- 支持多个数据源(如 TMDB、豆瓣等)获取影视信息。 +- 确保数据的全面性和准确性。 + +### 🤖 智能匹配 + +- 通过智能算法自动匹配本地文件与在线元数据。 +- 降低手动操作成本,提高整理效率。 + +### 🖥️ 跨平台支持 + +- 兼容 **Windows、macOS、Linux** 等操作系统。 +- 随时随地管理你的影视库。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/ammds-ol8/data.yml b/appstore/ammds-ol8/data.yml new file mode 100644 index 000000000..cc35a8969 --- /dev/null +++ b/appstore/ammds-ol8/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: ammds-ol8 + name: AMMDS (兼容版) + tags: + - WebSite + - Local + shortDescZh: 个人影视数据管理平台 + shortDescEn: Personal movie and TV data management platform + type: website + crossVersionUpdate: true + limit: 0 + website: https://ammds.lifebus.top/ + github: https://github.com/QYG2297248353/AMMDS-Docker/ + document: https://ammds.lifebus.top/ diff --git a/appstore/ammds-ol8/logo.png b/appstore/ammds-ol8/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0b9a18985073b2f9ea23df79d90d49bdd05ad2 GIT binary patch literal 122527 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⩔l8tSeZ|3gvdcsamBUV)EJ-io!=FMIp2$8>` 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μ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 .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/super-productivity/13.1.2/scripts/uninstall.sh b/appstore/nodepassdash/2.0.2/scripts/uninstall.sh similarity index 100% rename from appstore/super-productivity/13.1.2/scripts/uninstall.sh rename to appstore/nodepassdash/2.0.2/scripts/uninstall.sh diff --git a/appstore/nodepassdash/2.0.2/scripts/upgrade.sh b/appstore/nodepassdash/2.0.2/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/nodepassdash/2.0.2/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/nodepassdash/README.md b/appstore/nodepassdash/README.md new file mode 100644 index 000000000..7d91e87f3 --- /dev/null +++ b/appstore/nodepassdash/README.md @@ -0,0 +1,41 @@ +# NodePassDash + +NodePassDash是一个现代化的 NodePass 管理界面,基于 Go 后端 + Next.js 14、HeroUI 和 TypeScript 构建。提供实时隧道监控、流量统计和端点管理功能。 + +![NodePassDash](https://file.lifebus.top/imgs/nodepassdash_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 初始化 + +通过日志获取 + +## 特性 + +🚀 高性能 Go 后端: 完全重构的 Go 后端,性能提升 300%+,内存占用降低 60% + +🎯 实时监控: 通过 Server-Sent Events (SSE) 实现实时隧道状态更新 + +📊 流量统计: 可视化显示隧道流量数据和性能指标 + +🎨 现代UI: 基于 HeroUI 的响应式设计,支持深色/浅色主题 + +📱 移动适配: 完整的移动端响应式布局,支持各种设备访问 + +🐳 容器化: 开箱即用的 Docker 部署方案 + +🔧 命令行工具: 支持密码重置和自定义端口等管理功能 + +## 快捷操作 + +以下命令行均在容器中执行 + +### 密码重置 + +```shell +./nodepassdash --reset-pwd +``` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/nodepassdash/data.yml b/appstore/nodepassdash/data.yml new file mode 100644 index 000000000..4ad377a81 --- /dev/null +++ b/appstore/nodepassdash/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: nodepassdash + name: NodePassDash + tags: + - WebSite + - Local + shortDescZh: 现代化的 NodePass 管理界面 + shortDescEn: NodePass Dashboard + type: website + crossVersionUpdate: true + limit: 0 + website: https://github.com/NodePassProject/NodePassDash/ + github: https://github.com/NodePassProject/NodePassDash/ + document: https://github.com/NodePassProject/NodePassDash/ diff --git a/appstore/nodepassdash/logo.png b/appstore/nodepassdash/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c0a9a7c04fdc4370ee92857bf02a468107b92e GIT binary patch literal 16486 zcmdUWhdb79`1WJ(m7P@-5+RZ;D`#p~O=J7nA=N{L6UFUV4=N-A-(u9L`IV*)i;V?5bvZhdIddMGU zM!XXEraS@vWAQe1I8LE(){s9m4PH6!cv0Bb*xq-Cmxu2umt*@Vr%s((ckt-p<8ChA z`__3K+kfq+_Hqhk1;xxr-^MTX$LCYNd;<%NV=_7`FJGoV-)d-PV4%3tC`y&);La4A z*cF2G#(XyOG_1^$)_nX%p)BTCmvL7GPc36s2;*DPZpfmrsqxm!Q7(4D$AxQlm#aK& z8BEofPGuX>wmdoAq&50dOD!s+lDUlLJ`Fc}CD*1C6i13Vt+!G=XGBEAOL>t>G0HH- zlFpRgn^NgSStmT#r^d+V?LaA@8{)bdo34*{sea)OUQId6;Qc^daeFH5J=&f?iXo+x zZ~tv0BO?Jx-bzV|3Qg+T=X&zyG+LAyuHZF(-iMO$LGecVF^1q_%1^1gB^ z2ZJIbB8Hm!C{whTx3@aoSE!BtMZ?XJsK~=(rT?u*fB$d!Aw>b3N~v+@E053f81V4$ zIMCTqUQo(zk17spG5nRFOkNa?iil`TiJ?*YV-_@apY~@clT>$gYKF9=WQNR(no!HV z<1-T4cY^80d*(N6)8ggf5&pR@c!l;!mv{XPBlIg6%X-KIl3Zz2X>Pt))DzdMo2Ria z$7Jev3SQb9|7(c3lvOQ>@psnWOEj6`{%-yK_->^ zXi{m|lJKzj^)xmN-W!7GKXJ)BNlHrYI8M_lGBdhn=-Y<~?cNT>kgZLmy~m6|RSn zH~4kPMqOd3w9;hZ;fdvM>y+JgdW90!Dfw0ZHbZ>1q>3{Q=FIZ{IX4+?yPB3p z&B|J}N?KY{LqqtgqEr3nr>A`S>p4C>KF&nhUhHn>=jT`X_AURw^MufX0>$~ie|rZ9 znG_WjdlzXX{g(?U#YSaiXS=+=w>Kgxs`^IILgbq_HldC!A3usH?7F|{&+i{?MQ$cG zcXz!tHH&QAjuRr=zA_@ev-#S_BG)?B^Woucqg~IG226_atwY@vdUL;jL>KRSk>aUm zWTS+~UmhAd@G@0{_xt;TaLd~&-^;J3rnWvib1Go0is?XmR;0u9RwJ&$;K-Mr(?35a zDZ4SMd3LN2W1x(Ul(e{hD)kw9clVkvpJZM&t@Qf1*SELz|9I40KU%T4PHZ6Z$;ls4 zrzgKwH8hxLvc}r>95FSLPP~5o;^X6k8II5Va}}H@9fdA*v~+aJ2isS<@7rhAu(H@s zl!iBXyS4Q)|KB5#{SBA4n5?-H98Af#FQPqn?p(W7guH-BrI9qE_nh?BlmqtyXjZIT zNmEr-H8XJ4DJzrPK_0V;9r*gyb!MzrNXfafrf&WHp;yRJ+5Y~SZg`%sHakOe&JU#j23f0vbBf(aMG@CpyqKCQIxK6H(tyvmwx%17fAp#_Yf!qzA)@AtVYe$ss9s{Q za1ZvX_$%Pz;?l1C@@QLzv3;p`x-YxrRy@>7SxoP&D88%l<;!@gWOZk!@R{kK#x)l> zvNO34E@Ml|5n8`~eQS=DRI2uAYt1NGCnu-c+S;4$O;@mls$}v}F4gB*b~=?)E~lo( zMDog*H>_x1MGcOOl2ua^xVU^nUqa<#;iE?l>4xFkE6xUz;a2k~S@C=s7;wS1$#d;r6aMkYQlW$MEa>dlOI3 zd|y7>T&D_Ms;CC7h=>SzY$YDM@~%@w+CW}Ikz2#qpV5jf7z{fG!+Hk+ghi|HWw&Kx zVW~>fIg{naeUKItye!d#v&z2w#& z=A<0T>C>lkc0G`Lbwf{4%$PUV=1vHXQOAdg=`)gnGb}6RDt~@{>QHX%{d>gWRRS+R zc|2wJqoWDbn;P04MhtE=y!_4|A0BDvQ4Md1$#G7llWy*J_5$QVG+S>TKox|cAJX~ z7B<0ZM?RREw5C2h@{xR4M?lGn=EEZ|MKS&37%oGJ6`ye|r+${lBd_kwkB<#_FD@V` zQ+h^5VqRQTtZ8oEiX@ZkLvLY2*|>3|_Tv0xyRvHLmaFUJoiYqiLinq{7gVeh(^ny( zLJk1yN-ZrBU0vN$@7@puW!|30>n(5Sa-2DHhHPO22}*T!b?2ehbOf{)33)uI58-sV z{q^hK{{GOI81`Y=+%I3hUO+VY`TLujtZb(zLEH4=1)G!!HJ+NjYqb2&x))b-nAOSo zK$6Yed3RUo*}qTlg===)Vz;)oo?&;+kR(yctgWLn-nsvVS;O}02VdVR3W$t~kizet zH#Zw^-_Fe`p(`(D%%7rqFoceYv+`YHMGG%K13Bq^{rzoOX1sY$VlSGSSeUrPjXpm) zLGl1+(7x4j7b+_^1gBJH{Mn#D0_&Z}i z3yX?ksRmhQ2nafNclQOw3mEbUe=pSQGdF>#6pKYjX?4kyuP(HpqeK((wj4>vG(`R&(T!?W*Qm}n&#;< zfBs0x%d;c%l7TK~>!3y5>P0zMKl5AuRhmvTV$tyS>s}-j3Pnpx%kT7QolgM)0X^Tp z=QYJ9@7%Xb9Y{q$D;eDWYO= zL1cJ%nCnqlnKorp)0Ne|Jv|gJFE5)r)(p0JJB_o=6J}-~P~@FC%(rf>ySMjgVbJ2) zk?snKqN1Y4rlvLRht)MTtGl};PJDl7oVW9C>wieWC~{3VO7Ph5?HjJ+eRakQ$;naA zp6M`hiN|cyouyA$YnMoM8@JxEqv-Uc$H=G0ym+3exw*l~lP6;xYpSYfP^FB#y_Hfn z9KP`G?(R(2x+rOLi(A#S?;<)n?DHK;7!SY8uR_k-TFey`6jU}=&4xNm`S!lR>q=lN z*`m!a5*4!DC={}xme)1S8VV1XP(}6q{M5-S08E(`QfW8Y?#2m;PgdD4mzt24He{;(O=H)vGdrNkcqkT=uI^{`?fFdEy(Xw|$viGLKLGSl$)1 z82Bd7j%%q<8D`1te(0%>gFn9TXSDyrgTw7U3nqsS$<0j-hxYV1*VfmYH>3v@28VsF z2$FDXpc-FOJEH1yG+t#ZnDdef$06BY}#VCr2XUWVV?%tl7Tc zTO;TcaBc}Y?YzVwFS~9XC(dg?VMzvmMb zcK1yUzizjRIsz=g%*tAgLztauuOLtu>`>y7ZgNSyv9a+o)wK{Y!7ijk;gzvGU(NQd zsd@ka1;|ury*sn7=5=4u(7jK5S?=zBR3F8^HY?M9wLoEVAkeLl*2#S1<_g)U5PTh9 zO*q$nmbkj-FJ9DKUTHX1C+GyYmkVe&_4Bg`o8Y>5s_O~+N)J_+YI?F&nirbn?F%XC z>FFscEz)u^SQ+-^s?5=XiiuR$Wl-N)V{sB)2?hmaGa2eM+|^b zrvINGkI?R{6syUan3z!V9ojxW@j|iPDxZ<9gZ=F6fS^UHx|QaI&X?D<1QC~sRDE|o zq^6ov-GMS5QMS%B*E)J@!j_XLrfgyEyXn@g2~-0cd0@CYtVRAr zb@l!Gs$~<;*ET+X4v5=^&rN;3=C$ht&F4}dx`K*@C&qinx4v7saigHlncqhK{-|!s zC>E8Af4djS;g)yib$EPi^}Bm}*NPc_Di8dlwEvapu#l1Q`or(!Mb*7GXSASIx%t@lcMAD?9$RB1 zN4m;{Z(Cl!Le-yA9BjEU`20v%;ej^Eygf;^HhAX*vKpBuFv>P7KF6%hxs$KA>G@P8 z8K?)&sXp}TUME)LS{QusOM^sEJa91rZeAh9CTtr;uFN=Ez|5o&eU6m+sh^^*uC7^b z2kJXZ_WR6?xnO%J!KJ0@t7K%hG_=N`u)FWyzons&8Sn1-WYy-AY-t^hg$LY=2M`+h z{L~J!bEXlg`r3RAu<#Ya4nUHo=S-3ML(fi0u`0>JV2=1}*IsaWD~oFSMhM=GEk!)) z`lbu14=Hg96rLlQ8_CS9p*0o1K=MWxu=dpajL)ZMXYlZ^$YICCJDBY&8KW*<1U7fj zKDp}RXjNa^uy2`n^U~|l(Q$Zve0;o}r}6o?j(x!VK%KX|Gu?G{9|O%04{W)q$%?fN z)6V0oSFHlr)W+A&eCqCd>NlR@OJ98K>bkvG@Bq7edt#|K0aED3hgZ}!DC%9Qce)v^ zsH3x2GvsSgFo*At4;uiyk??6`vDdEQe3byTuNKpv z#5d;dd0dR|fBxzfNyf^~m6Sc@0S=m+4v{EbuJbeFId%o&?|n9IN|3V!_7`XC*c8CK zTv}0)3sI8eP$G>EyEZSQ$sOs5TU?w|Pfzb9Amr!N7Kidnu>-u-@SG$jCHbOGQ z|JOI4wD;@)3(`x`dGY4)!B_1(`39(oq~|~R<3n#pksIE=8aTbRWdAnO=ab;_$u~fx zWJ%f63l#GBj&@!Do{`dqzJ)a0uef$UoEiU{CI9nWB6nt@HvPI7X*fz_pRcd0CcVNEo$w15GF){C7ckGKKH(wH05Uc4! zUdji26w)}B<;(6Lf@y0MTXVgd%gR%wSj4NO#fSxaiMc24O)f$hpU+}QaG^%q6l0M1HJ{z&l^jo#qXXO!mC8UZ}p zbNy6TEY*cnO`BYsHAb5^XZQ}cw_D|KA3Jtz3=4kDvi*E@O-4Oy1Xm5hO&Ou7a7N-(uk~X-I#4dyBp(&X>=h6-`yXQ-%1x7l{c=_1ptJ6H~z7 zU+>Fgx46xuI=n_lQJZUu@RJHY;0_feNl!l-&}ZH952pwB&V3BsY%gtPdXJ=4vxAI1~&WZfDs5pSm0H1q$^cnW-*~2X?9C`Hf6El+{IZs-ZGn365kx*!Ww1;JF*k>neNWsQ} zW%nO&L?jk@_Zkcf?YwJ|ynd$tlAihmef?OR)6y|ZOk($bFBpITUqij1@p z6%(twWa6?Bw8B2b$Mg6#JNN_z1;@3+K7&`e4PMh=YX4SHthSOHHrNigriadim)ulX zwaUoM)YLCYOIO!%xT7f3Z{3C?3kwU+v1*Hh`^!9{Uqo8n}mCBmycTl5yomPtq~DxErZthoKwR*~^N3`anA+F==`e@|uyxzXgAIy$Bm z`~Nz$dc}%O^PzJyJ2N+P>_ew%e)Q;1-V$&g`s35nf-QG$-9^V>9uQD=Y<6N_wq1c^ z-)YvT8xFP`X`CEMO78y4^{FDr>FuZ#SjN@s*H1)tPEJh3qeop+US8g(A<=DMU=R-m zHEH&?8G{Q=-gZk%>I5P`D(JxEBc$qKox3U9Zogi0{Oe0Aq?uZkynQ8)9@&{+U8j(i znRBhAq+~q+)M`b=7WUDZpg%x7e4q};-NuG?KJh&`kXKMH_hxVf2(Q`s$(A}5y6vK( zqG@w%bWNDz8_;OAdS$a8$NL+i$kH3K zyX<@S7k}H%JI<2A(HJW=^YiKG_FERhZSwBP_Lc7IX=rFV%1)~+%ujB+r;z7@Lc$D6 z6OD57!xj{67len$$L`ES@A4zTq^^*YV+FwAZ`$Xap`G27N{4 zF08e?cM}Pn(4(EdHO|ial|Fu)d?e`S&!0&e$ECpvjej^?kbI=V{TaSp0Pw?4-}skku=$!>v#mi2P8}%yLOcnReZ}b<$`4BIB))mSzN$tpp+DR{WP+ zhlMT4h@O#AH&ud@ojsmvXnZ*_@xr>jPkI0nq`U1pi}w+FJhS2`RFH9$4L4A&IZhSj zZB93Glrs&y~f))a5>*~@$BDVYFaMxdw@Jeh@UcP?Uk$3sRzehSl0ie?Z zW+ygV7`qGMGt?V5BmhlelcVrSSUlkZ@GG0?iw;|OiWavPQ}okQ zBwVu1kG9!fw0y_U+Gk5!Bn5+Ayyh!G+OaOZM-Lv*#D z%%s>~Z+?spNV>_fV#jSu!c1Jba%HSZ=0=ilvbp3AH=4Mw32SyRb_Y(2QN?u*jfHTy zC!t}@cYOB2y}+r&V=Gj!C6ekRQ|#ly;3ijK3#OojS((A`Fk>SlGz4UU97OLaDy+qs z1LZ~-X;AP2YZe!J&!4A%#dXc$ zlV9KMKRl z-|6n6lRtL7$#>X+uQs)?i2wK7jG(EZHad{FNhcOmI)EO} z4g7ZDg8`GQQgF9(;~&F@SeE7p67o*VjqH%Uqi!JEma8B6pr)K!|ZSdT8pm&*G zT2d)m?}MDYiTo?1D-mb!MeN%QjtL25 z?ANb>zcuavmqrW(?}Ex(Ay)HE+ka7MFuZ9Q`G8AhFb$fToeT5cAZ<^Mc418#4zWDETyeLGg3WehWM+;NWx1#FTq#g;#eyfY^>)5G_dh33oodLj z%Cz`BXXAURORtO&E9yqZ(4Dsu>Ya$HpgDmUM0lUzr3^c zYGbQH5ScTxvo7eF!^%56Ad-P$S3dZVhK}(jiU4`O)571H2Z!Hp28(?|&w|A8TMgeK z?p+T(BQf`WluhHgN3Z~Fwy}wiyrSdm<`z0O<_!(ydDfqmHG9hZcu>^7%q!gyKx*$t zYe-0QP~e5&;an?T0nT~W+HCs@-3jz(a)6$DX;PBVeGu8;zN^p@W%qOI)Y3}(;HVLu z{?Pk-7b7B=Lkrx&l5IfJ*q`OQZ6nyhvhjKm>25AzODjJ4-4EGu6omB7YC|o~lH$P@ z>~wcu1>)`ETy_$qdTiA@*#g_kvy+3Qr}pR+6kfM@_1XNdYz;k&E2zzqsPziF9~z-% z#HOSintJb4>b>%3*R#V@?*mgyN>twEJA|UxB?maUYYQqm29%ahfviGjo8U?l=a3C= zL*wO@2>vO#PY?Rz26C6TXB1g&TR1$8|ONrGb>92}B#12qEz z1IIyhB@evmhT?lP(MpLzj-8d2m8?^FnZs|B`pKdBF~UG5|IjhS!oDzfaOh2r%frAcCK5Dz;Z92P_cZ+^IK{k{2FmmS;UxQl|DhVD5&i*l*Ckd7vZv@}K~ zpUO`2?zm;4{9X6ivuERoHW!4r$7e-hI|~bTw69?x4O0dlsukcF0=DWbL2$ zu0aE-?9*3k(9HGSR};-=%F4Y}c-9hw5}LMo<=e&=FLvxKaJ)-TPcKWcc`!RSCkJ3@ z1Ii~YDG+Q)R6#+3->ch4pbqW;<=i~a8`uM4-W&(4_L9Df8nX95^TuwQqn}FC!RwhG z>@3dqliqLy3D5@T|Hh04j*69lqGSHd%uK{!Kmc@ntCJ%gE60Ay1lm{1r6(v312oDu zH8pV^Z>Xy~D7lfcZ()8mM9;<8;h|@;b&;#_c>mb_yU6P1Ha2e-zc?1ThFRa;wP8Hq z&<7ll_-ALPb+tD`L9&84Dw&pd^KQ`M!gHL(m$MILbnGju(Hh0$gsi=H?_Qt8tLmdb zs-zE#=aJeh`}_BA(#(JXGdD9c8JcO08m4p9+w{_sOOm$BeP)xKSYM}mbam;@L=La&Q-LK z5Gb%iT}Eq>^?I08%<;G1^I4#xsCjk8KrXS8H`hV)wKd@?BO@bICEg{? z4<};}@i;&5O-};GfgffQeAu|2E(_ds-FW{0bF-+27C({h+~1P z>%3}GtJY|l)NdhOxfBe?73BwV<<2lxer^GQ`aj_t+_5z?-|`B;-l<|tIKh(g@)nwm z{5Js;!A>$sN=aEg^FJ}HE}*#Rhh9Jgy+GxxGp{SnwMtA9jhviV=oFHowt&K}TAt*~ z$Vn@8b;Xg5^wH`Q_6riW%UDlUnQpZaSSqCx-)vwyGi$ghL+B$E-OC_fRvKRLwzR$+ z9nGe@FyjWqIJw}$9~~K4)mImt?PkA9By8iYOsF&p~tR2RT-Sd1qy|y2;t(1f%6Fee%TIq)2xDS9c?s$%Jh( z+$648h15aY$0Syfj8i3crbBCUMGuD6;$-WHuuRjAL{>L%xETb=-Q`uPhPvO_id~P6 z0`0IyPIKkGMkC@q{d4bs{AG8*B**Br9W+c#OfkzhutH#|1{13BC`TXQ;^nN%35Y+^ ziSiDTVl^3HDOX8Jg$l~$Y=RLF$&`gCa%i*LeHu6M%h~vqmirP#yWjp9BupQjGg7WJ zB3Rlj-p~g?Gvxt5c04>HLUsxS%don;JBdE3m=_#kg+PWs;C|bjxFcM=j~bH|oD8bT#-1jg~ESSM>DCyt;LfnoQBv zKwV#IUDAp6vLw+I$^xNul=?`a{R&6*gGcZp8`NMp!N}QNvJz2^HGKNcL+OABGc?j! z0<<1-`?d^x7NKw?5CZ~ss+ycz^g$SFhRXg||A{~Ll^1-xy*C{=Ad9Aw^g>HXRgw*Z z?kBp<45w-9e1qBnJnj$)NrChUCT*(JU=9ctt^X`qiJ_r%fG62* zmlIf-nJ+{0SyI-Q^rR&}R?3OdE*+u|*{`_J`%fH#Mg!NH!#pK!Rrw-&P5*v%C{v}3 zzT+C2ns7s{{rct0Dlz@nGoSzc!qjMdobB?ealuVBV^3R%!i6@Bc(uR=qPtuB_2*B{ ze{I#k@bH>{YEa(~mAb(nKNQ5y zo-d?3(l04}r()KBrf>$}5b_?;ioi}06%J#*4{HJzR9;+*h*Pz+>vYcsn=RL?sOujZ zYP21RArcL!<;g=`uHMIw_g|HWJoCGAKOSTK%>P#pk!=l$UIpWeA$&R*mL(`Puuxf8 z!o2P2w7GT#>%AY><$rAizG(jUV`2C@MQK}#u{ zYTp7`t**J51NHDK)rAM*$#$5~R6$>AUhn|y8KdR2z6cKgm_wZ;{H!8_K^M{+-)?sFWP`n4sR2Z>(vcCmk*-&|o4nDuXY(eMNrDD37 zSRkY)sQIR!K7Atk5v1VvcXw}Gw`h{f%g1*fWbT%R?a$z_oS+fdj8dBc`(yRH#BiG% z_y@M#KZ8qmW|L+}?&GIVrBqdIhG*leTR~XJ@Aiun*MYJLs>3HXMroPvM3N)^~AZ*JWzD zX2G-H%Xi&Buo7fP0ZMVg{)1^fnU{3?t~`}?&XkRk6svBBm@Ni7uIZL7anuY};Hrq| zXhV3rvNCh(fn|93_*RM0RfbNlm9SWJ0#Yk06fota}0%E$pDR`Z#lt-(^xys%K# z0u3vO8E&|>^;-SJ>Snl(S?XhiF+2W|A3us9bte`?76xzq0>P#3g<^%gnBg9@14_rf zm@ZiePEWYQl(nUSn|L0&()Jmk6wiS<%bzn_o0gUa&w9^Yhb#?XK6`i&;3QZnW^943 zl8}8U1{b?yq`wRgN50Lo+dUB80Wz>+eu8bAPMpVE&_p0hu2NTK7=*FH&AK5qH5EDm zDZ?8eHDC~ME1V>p4#IzxSZL!4%&quIof~MCLZCpuGiSCeK?9Yc*SEQDSzebDtMP>L zb@3k}iM1lV=Ap#o2MBv3BYJd-z;|+m!OdT=+SOqCvfYwCiFlQrgEzt)PL8&Y4@)2SfW&lX9TTGNm9s$Nz1}B)P=%5Xa1Fk0tr-1P=JAkJ zGceH8_WrX5<~`LM8bRN;1?2qT!^I7QSvE0IR6?(NYSR%bZ$ z`N;-&l|x_(6H!xBgY+xTX1^MOhWAK^GCV+=5;j&|RoE?nl49iPDGv@rhHy@Vj{sfk z48p+s#EAszq#jZ7K+t)1my1CaY4;hDK&Myq=#dF(59DQ~eb4!9`HE1sa1JiONxx(W zJb5yaYLsOzE-pR;X~So3>R^np3L|2H1OSL|8T&~tk$H9u9(6-(4Yg-SdpsAU zP$l%Jpa)#qv&?cewpzMJ!f(9(93XNZXuaAc=bTU$pg0(TJI49DEwj{!0awerhvMiz zyc)!(nP!v~G#X-$$Z>oI1D9kpxzdpV8$Fwj|I{YpI_Jxjv%4qypL1f#g$pD6`YWV2 z!lMQ3$|>HE2Z@%TtgK9i%7~j9n+uP8R3i}VpLxt0>_p0GZ|2w!;3nC9$9nY1`qE(|lHB&ma zzJ4>7=NoasGedHh?>12P>7!qAfrXm#Vr9a{a0~&}*u~doRFj(-w5fVQ;cPwJMaoXid+W}C!9R|V<5iZmi#KJaf}|RA?}|TBB_IdBqydH2TTA>V=cDrEe1!f zLW~l}4bRezfGiUz*Fg0kW@7(|8In3nS2*-b{6_xWc<|}1W+1L8(DX}pCUC?Fj4cqC zAwN&?L3e8;$U5Djj3bg%$o>8jXeH;E;Q_f+e{z3UUkW=4OylS=N}-!rzii{^%S{EDE+-Zel$0H=eI^Idw*%B zDBJYMZPRs`UB*v`QP&Y|L)Ei`8^+12RLNXW*d5Q#Y{WJ%U5_B|AOby{mdl9y&Z;(k z-QMMB<=yak=#e=|pmvo3Fo%U)&(4pVEL}7}9wDhq>F6i*vbk@0xSRE}hD)z@37I1M zs54o(uefd*4pL)Rvm_t#sUZ{r@PxRVb`YvE}{C^1((kstE=&F@Py|Tx@`p-e^jMIg*#JYo34|*B6aCZPv&Pnu3n09QT5r;Tv$z0Fx|-M)Ezd#R zL^%}2t%10KE$*(^>tr)mS4nd34msD{WL5$gYUtx5#q#-yE%A_EAZytoH#S<}Z1C{& zhars9LH)J+P_$*cu!eo;sqBm0SzcUij6qFXR(xjqD7mkQqkszu4;`lW;>uOo?+=Il z7XME32nii{7s%U2hvMe4@#v>YXo5WA;#8o}Bu_o?s|UKuG#J^1f^`GuZldr?e-z~5 zkHK9l$%6+E5+)x$;6kVl^AJ-RpE<$;(gurw_MefG1Ks61;HR8ZZyLFiYm-qJCkOaq zkQGMo+YvlPDg{nL>G45M&m%{ykT-ylaV?1hfHu6MLJx)mKsGj9q8?tPm-J^9z*W~+ ziX+2TBcoNp3>N>N{#_{$Y^h0)nItq7GkBY5GA#YGkimP$zkfbH$kvnP%Zj#TZJaCH z3afvwnmuHI>3iwDo%_*JZVYClcxJuk#vNiBhTumE!CNStY~d>1*r_0LV!{kykWxFuf zQ8T%feB_q&mCp=4;Y@4Y19hp=YO9QaEXH+`ewd0}@Bn zgKznLp)tLrM^$30TuWL1Qs}=&w2EBP2^=$Pp|fNhlMdEaIggnYyPu{o(y0Htt4-s~ z5F9Jbj;FYD)Klz#W$F3tqM@ri<+r_Blm!FkzewvWAN+XRAGS+Q=YOrzp_!+zeCziZ zgOPtHMhP8{kM%0A=7X5USSY$_Z_RNs#r%GXe>(T2xwofS=d5HXs*Gct;;LHs&ENMr zlsFptbnXE*zO(f6Ip&luCMCW-S}C}w{ZWUaM@fn_5$KeS>ErV*FQ&{;S~9=8&*L? jySlh~6e)J>f#ZuzN|fjB5#G4Ki~r1wEsgFOIEVZnEzj&J literal 0 HcmV?d00001 diff --git a/appstore/nodepassdash/logo.svg b/appstore/nodepassdash/logo.svg new file mode 100644 index 000000000..af2372bf8 --- /dev/null +++ b/appstore/nodepassdash/logo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/appstore/rsshub/2025-06-24/.env b/appstore/rsshub/2025-06-25/.env similarity index 100% rename from appstore/rsshub/2025-06-24/.env rename to appstore/rsshub/2025-06-25/.env diff --git a/appstore/rsshub/2025-06-24/data.yml b/appstore/rsshub/2025-06-25/data.yml similarity index 100% rename from appstore/rsshub/2025-06-24/data.yml rename to appstore/rsshub/2025-06-25/data.yml diff --git a/appstore/rsshub/2025-06-24/docker-compose.yml b/appstore/rsshub/2025-06-25/docker-compose.yml similarity index 97% rename from appstore/rsshub/2025-06-24/docker-compose.yml rename to appstore/rsshub/2025-06-25/docker-compose.yml index 750c7ddc4..7acceca0d 100644 --- a/appstore/rsshub/2025-06-24/docker-compose.yml +++ b/appstore/rsshub/2025-06-25/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-06-24 + image: diygod/rsshub:2025-06-25 labels: createdBy: Apps networks: diff --git a/appstore/rsshub/2025-06-25/envs/default.env b/appstore/rsshub/2025-06-25/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/rsshub/2025-06-25/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/rsshub/2025-06-25/envs/global.env b/appstore/rsshub/2025-06-25/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/rsshub/2025-06-25/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/rsshub/2025-06-25/scripts/init.sh b/appstore/rsshub/2025-06-25/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rsshub/2025-06-25/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/rsshub/2025-06-25/scripts/uninstall.sh b/appstore/rsshub/2025-06-25/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/rsshub/2025-06-25/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/rsshub/2025-06-25/scripts/upgrade.sh b/appstore/rsshub/2025-06-25/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rsshub/2025-06-25/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/super-productivity/13.1.2/.env b/appstore/super-productivity/13.1.5/.env similarity index 100% rename from appstore/super-productivity/13.1.2/.env rename to appstore/super-productivity/13.1.5/.env diff --git a/appstore/super-productivity/13.1.2/conf/webdav.yaml b/appstore/super-productivity/13.1.5/conf/webdav.yaml similarity index 100% rename from appstore/super-productivity/13.1.2/conf/webdav.yaml rename to appstore/super-productivity/13.1.5/conf/webdav.yaml diff --git a/appstore/super-productivity/13.1.2/data.yml b/appstore/super-productivity/13.1.5/data.yml similarity index 100% rename from appstore/super-productivity/13.1.2/data.yml rename to appstore/super-productivity/13.1.5/data.yml diff --git a/appstore/super-productivity/13.1.2/docker-compose.yml b/appstore/super-productivity/13.1.5/docker-compose.yml similarity index 93% rename from appstore/super-productivity/13.1.2/docker-compose.yml rename to appstore/super-productivity/13.1.5/docker-compose.yml index 8685ed11b..d6933b541 100644 --- a/appstore/super-productivity/13.1.2/docker-compose.yml +++ b/appstore/super-productivity/13.1.5/docker-compose.yml @@ -21,7 +21,7 @@ services: environment: - TZ=Asia/Shanghai - WEBDAV_BACKEND=http://sp-webdav - image: johannesjo/super-productivity:v13.1.2 + image: johannesjo/super-productivity:v13.1.5 labels: createdBy: Apps networks: diff --git a/appstore/super-productivity/13.1.5/envs/default.env b/appstore/super-productivity/13.1.5/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/super-productivity/13.1.5/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/super-productivity/13.1.5/envs/global.env b/appstore/super-productivity/13.1.5/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/super-productivity/13.1.5/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/super-productivity/13.1.2/scripts/init.sh b/appstore/super-productivity/13.1.5/scripts/init.sh similarity index 100% rename from appstore/super-productivity/13.1.2/scripts/init.sh rename to appstore/super-productivity/13.1.5/scripts/init.sh diff --git a/appstore/super-productivity/13.1.5/scripts/uninstall.sh b/appstore/super-productivity/13.1.5/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/super-productivity/13.1.5/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/super-productivity/13.1.2/scripts/upgrade.sh b/appstore/super-productivity/13.1.5/scripts/upgrade.sh similarity index 100% rename from appstore/super-productivity/13.1.2/scripts/upgrade.sh rename to appstore/super-productivity/13.1.5/scripts/upgrade.sh diff --git a/dockge/ammds-ol8/.env b/dockge/ammds-ol8/.env new file mode 100644 index 000000000..8a28c6046 --- /dev/null +++ b/dockge/ammds-ol8/.env @@ -0,0 +1,45 @@ +# 网络模式 [必填] +NETWORK_MODE=1panel-network + +# 数据持久化路径 [必填] +AMMDS_ROOT_PATH=/home/ammds + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# API 端口 [必填] +PANEL_APP_PORT_API=9523 + +# MetaTube URL +AMMDS_METATUBE_URL= + +# MetaTube 密钥 +AMMDS_METATUBE_TOKEN= + +# Prowlarr URL +AMMDS_PROWLARR_URL= + +# Prowlarr 密钥 +AMMDS_PROWLARR_TOKEN= + +# IYUU 密钥 +AMMDS_IYUU_TOKEN= + +# qBittorrent URL +AMMDS_QBITTORRENT_URL= + +# qBittorrent 用户名 +AMMDS_QBITTORRENT_USERNAME= + +# qBittorrent 密码 +AMMDS_QBITTORRENT_PASSWORD= + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/dockge/ammds-ol8/docker-compose.yml b/dockge/ammds-ol8/docker-compose.yml new file mode 100644 index 000000000..c2e8fba01 --- /dev/null +++ b/dockge/ammds-ol8/docker-compose.yml @@ -0,0 +1,33 @@ +networks: + 1panel-network: + external: true +services: + ammds: + container_name: ammds-ol8 + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} + - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} + image: qyg2297248353/ammds:v1.6.15-ol8 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE:-host} + ports: + - ${PANEL_APP_PORT_HTTP:-8080}:${PANEL_APP_PORT_HTTP:-8080} + restart: always + stdin_open: true + tty: true + ulimits: + nofile: + hard: 524288 + soft: 524288 + volumes: + - ${AMMDS_ROOT_PATH}/data:/ammds/data + - ${AMMDS_ROOT_PATH}/db:/ammds/db + - ${AMMDS_ROOT_PATH}/download:/ammds/download + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/ammds-ol8/envs/default.env b/dockge/ammds-ol8/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/ammds-ol8/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/ammds-ol8/envs/global.env b/dockge/ammds-ol8/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/ammds-ol8/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index 02d583e37..efc586b36 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.946.0 + image: casbin/casdoor:v1.947.0 labels: createdBy: Apps networks: diff --git a/dockge/ghost/docker-compose.yml b/dockge/ghost/docker-compose.yml index ea5cc3463..f904986b7 100644 --- a/dockge/ghost/docker-compose.yml +++ b/dockge/ghost/docker-compose.yml @@ -14,7 +14,7 @@ services: - database__client=mysql - mail__options__service=Email - mail__options__secure=true - image: ghost:5.126.0 + image: ghost:5.127.1 labels: createdBy: Apps networks: diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 4ccc4b97e..55dceab4e 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.0.0 + image: mdcng/mdc:1.3.0 labels: createdBy: Apps networks: diff --git a/dockge/nodepassdash/.env b/dockge/nodepassdash/.env new file mode 100644 index 000000000..a1eba4f62 --- /dev/null +++ b/dockge/nodepassdash/.env @@ -0,0 +1,9 @@ +# 网络模式 [必填] +NETWORK_MODE=host + +# 数据持久化路径 [必填] +NODEPASSDASH_ROOT_PATH=/home/nodepassdash + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3000 + diff --git a/dockge/nodepassdash/docker-compose.yml b/dockge/nodepassdash/docker-compose.yml new file mode 100644 index 000000000..4e5c96cbd --- /dev/null +++ b/dockge/nodepassdash/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + nodepassdash: + container_name: nodepassdash + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - PORT=${PANEL_APP_PORT_HTTP} + image: ghcr.io/nodepassproject/nodepassdash:2.0.2 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE} + ports: + - ${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} + restart: always + volumes: + - ${NODEPASSDASH_ROOT_PATH}/logs:/app/logs + - ${NODEPASSDASH_ROOT_PATH}/public:/app/public diff --git a/dockge/nodepassdash/envs/default.env b/dockge/nodepassdash/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/nodepassdash/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/nodepassdash/envs/global.env b/dockge/nodepassdash/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/nodepassdash/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/rsshub/docker-compose.yml b/dockge/rsshub/docker-compose.yml index 750c7ddc4..7acceca0d 100644 --- a/dockge/rsshub/docker-compose.yml +++ b/dockge/rsshub/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-06-24 + image: diygod/rsshub:2025-06-25 labels: createdBy: Apps networks: diff --git a/dockge/super-productivity/docker-compose.yml b/dockge/super-productivity/docker-compose.yml index 8685ed11b..d6933b541 100644 --- a/dockge/super-productivity/docker-compose.yml +++ b/dockge/super-productivity/docker-compose.yml @@ -21,7 +21,7 @@ services: environment: - TZ=Asia/Shanghai - WEBDAV_BACKEND=http://sp-webdav - image: johannesjo/super-productivity:v13.1.2 + image: johannesjo/super-productivity:v13.1.5 labels: createdBy: Apps networks: From e33bd5d941716335792b138b0fde3cd7bd5a7e50 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 06:35:47 +0000 Subject: [PATCH 02/96] Update mdcng/mdc Docker tag to v1.3.1 --- apps/mdc-ng/1.3.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.3.0/docker-compose.yml b/apps/mdc-ng/1.3.0/docker-compose.yml index 0345a59dd..c02e2bd06 100644 --- a/apps/mdc-ng/1.3.0/docker-compose.yml +++ b/apps/mdc-ng/1.3.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.3.0 + image: mdcng/mdc:1.3.1 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 2c01d429dacadc31e149f159019b46921ba2596f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 06:35:57 +0000 Subject: [PATCH 03/96] Update app version [skip ci] --- apps/mdc-ng/{1.3.0 => 1.3.1}/data.yml | 0 apps/mdc-ng/{1.3.0 => 1.3.1}/docker-compose.yml | 0 apps/mdc-ng/{1.3.0 => 1.3.1}/envs/default.env | 0 apps/mdc-ng/{1.3.0 => 1.3.1}/envs/global.env | 0 apps/mdc-ng/{1.3.0 => 1.3.1}/scripts/init.sh | 0 apps/mdc-ng/{1.3.0 => 1.3.1}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.3.0 => 1.3.1}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.3.0 => 1.3.1}/data.yml (100%) rename apps/mdc-ng/{1.3.0 => 1.3.1}/docker-compose.yml (100%) rename apps/mdc-ng/{1.3.0 => 1.3.1}/envs/default.env (100%) rename apps/mdc-ng/{1.3.0 => 1.3.1}/envs/global.env (100%) rename apps/mdc-ng/{1.3.0 => 1.3.1}/scripts/init.sh (100%) rename apps/mdc-ng/{1.3.0 => 1.3.1}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.3.0 => 1.3.1}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.3.0/data.yml b/apps/mdc-ng/1.3.1/data.yml similarity index 100% rename from apps/mdc-ng/1.3.0/data.yml rename to apps/mdc-ng/1.3.1/data.yml diff --git a/apps/mdc-ng/1.3.0/docker-compose.yml b/apps/mdc-ng/1.3.1/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.3.0/docker-compose.yml rename to apps/mdc-ng/1.3.1/docker-compose.yml diff --git a/apps/mdc-ng/1.3.0/envs/default.env b/apps/mdc-ng/1.3.1/envs/default.env similarity index 100% rename from apps/mdc-ng/1.3.0/envs/default.env rename to apps/mdc-ng/1.3.1/envs/default.env diff --git a/apps/mdc-ng/1.3.0/envs/global.env b/apps/mdc-ng/1.3.1/envs/global.env similarity index 100% rename from apps/mdc-ng/1.3.0/envs/global.env rename to apps/mdc-ng/1.3.1/envs/global.env diff --git a/apps/mdc-ng/1.3.0/scripts/init.sh b/apps/mdc-ng/1.3.1/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.3.0/scripts/init.sh rename to apps/mdc-ng/1.3.1/scripts/init.sh diff --git a/apps/mdc-ng/1.3.0/scripts/uninstall.sh b/apps/mdc-ng/1.3.1/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.3.0/scripts/uninstall.sh rename to apps/mdc-ng/1.3.1/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.3.0/scripts/upgrade.sh b/apps/mdc-ng/1.3.1/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.3.0/scripts/upgrade.sh rename to apps/mdc-ng/1.3.1/scripts/upgrade.sh From 0ccc03977fe51433d6baa5998097a7e2b641d92d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 09:37:15 +0000 Subject: [PATCH 04/96] Update ghcr.io/nodepassproject/nodepassdash Docker tag to v2.0.3 --- apps/nodepassdash/2.0.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/nodepassdash/2.0.2/docker-compose.yml b/apps/nodepassdash/2.0.2/docker-compose.yml index 7c8f507a0..702504baa 100644 --- a/apps/nodepassdash/2.0.2/docker-compose.yml +++ b/apps/nodepassdash/2.0.2/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: nodepassdash: - image: ghcr.io/nodepassproject/nodepassdash:2.0.2 + image: ghcr.io/nodepassproject/nodepassdash:2.0.3 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 7cc523ebb4bec6d5dfda7f378f4a68325ed6e523 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 09:37:22 +0000 Subject: [PATCH 05/96] Update nacos/nacos-server Docker tag to v3.0.2 --- apps/nacos-derby/3.0.1/docker-compose.yml | 2 +- apps/nacos/3.0.1/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/nacos-derby/3.0.1/docker-compose.yml b/apps/nacos-derby/3.0.1/docker-compose.yml index 3bcd68c05..eac457c1a 100644 --- a/apps/nacos-derby/3.0.1/docker-compose.yml +++ b/apps/nacos-derby/3.0.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: nacos: - image: nacos/nacos-server:v3.0.1 + image: nacos/nacos-server:v3.0.2 container_name: ${CONTAINER_NAME} restart: always labels: diff --git a/apps/nacos/3.0.1/docker-compose.yml b/apps/nacos/3.0.1/docker-compose.yml index 5cbd6af95..704fcd7d7 100644 --- a/apps/nacos/3.0.1/docker-compose.yml +++ b/apps/nacos/3.0.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: nacos: - image: nacos/nacos-server:v3.0.1 + image: nacos/nacos-server:v3.0.2 container_name: ${CONTAINER_NAME} restart: always labels: From 5c17aafdbcea0004f7e7b15b383e89f6e2584239 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 09:37:26 +0000 Subject: [PATCH 06/96] Update app version [skip ci] --- apps/nodepassdash/{2.0.2 => 2.0.3}/data.yml | 0 apps/nodepassdash/{2.0.2 => 2.0.3}/docker-compose.yml | 0 apps/nodepassdash/{2.0.2 => 2.0.3}/envs/default.env | 0 apps/nodepassdash/{2.0.2 => 2.0.3}/envs/global.env | 0 apps/nodepassdash/{2.0.2 => 2.0.3}/scripts/init.sh | 0 apps/nodepassdash/{2.0.2 => 2.0.3}/scripts/uninstall.sh | 0 apps/nodepassdash/{2.0.2 => 2.0.3}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/nodepassdash/{2.0.2 => 2.0.3}/data.yml (100%) rename apps/nodepassdash/{2.0.2 => 2.0.3}/docker-compose.yml (100%) rename apps/nodepassdash/{2.0.2 => 2.0.3}/envs/default.env (100%) rename apps/nodepassdash/{2.0.2 => 2.0.3}/envs/global.env (100%) rename apps/nodepassdash/{2.0.2 => 2.0.3}/scripts/init.sh (100%) rename apps/nodepassdash/{2.0.2 => 2.0.3}/scripts/uninstall.sh (100%) rename apps/nodepassdash/{2.0.2 => 2.0.3}/scripts/upgrade.sh (100%) diff --git a/apps/nodepassdash/2.0.2/data.yml b/apps/nodepassdash/2.0.3/data.yml similarity index 100% rename from apps/nodepassdash/2.0.2/data.yml rename to apps/nodepassdash/2.0.3/data.yml diff --git a/apps/nodepassdash/2.0.2/docker-compose.yml b/apps/nodepassdash/2.0.3/docker-compose.yml similarity index 100% rename from apps/nodepassdash/2.0.2/docker-compose.yml rename to apps/nodepassdash/2.0.3/docker-compose.yml diff --git a/apps/nodepassdash/2.0.2/envs/default.env b/apps/nodepassdash/2.0.3/envs/default.env similarity index 100% rename from apps/nodepassdash/2.0.2/envs/default.env rename to apps/nodepassdash/2.0.3/envs/default.env diff --git a/apps/nodepassdash/2.0.2/envs/global.env b/apps/nodepassdash/2.0.3/envs/global.env similarity index 100% rename from apps/nodepassdash/2.0.2/envs/global.env rename to apps/nodepassdash/2.0.3/envs/global.env diff --git a/apps/nodepassdash/2.0.2/scripts/init.sh b/apps/nodepassdash/2.0.3/scripts/init.sh similarity index 100% rename from apps/nodepassdash/2.0.2/scripts/init.sh rename to apps/nodepassdash/2.0.3/scripts/init.sh diff --git a/apps/nodepassdash/2.0.2/scripts/uninstall.sh b/apps/nodepassdash/2.0.3/scripts/uninstall.sh similarity index 100% rename from apps/nodepassdash/2.0.2/scripts/uninstall.sh rename to apps/nodepassdash/2.0.3/scripts/uninstall.sh diff --git a/apps/nodepassdash/2.0.2/scripts/upgrade.sh b/apps/nodepassdash/2.0.3/scripts/upgrade.sh similarity index 100% rename from apps/nodepassdash/2.0.2/scripts/upgrade.sh rename to apps/nodepassdash/2.0.3/scripts/upgrade.sh From ce62e185240b634beff2fb7cf228876245ca45f5 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 09:37:32 +0000 Subject: [PATCH 07/96] Update app version [skip ci] --- apps/nacos-derby/{3.0.1 => 3.0.2}/data.yml | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/docker-compose.yml | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/envs/default.env | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/envs/global.env | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/init/mysql-schema.sql | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/scripts/init.sh | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/scripts/uninstall.sh | 0 apps/nacos-derby/{3.0.1 => 3.0.2}/scripts/upgrade.sh | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename apps/nacos-derby/{3.0.1 => 3.0.2}/data.yml (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/docker-compose.yml (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/envs/default.env (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/envs/global.env (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/init/mysql-schema.sql (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/scripts/init.sh (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/scripts/uninstall.sh (100%) rename apps/nacos-derby/{3.0.1 => 3.0.2}/scripts/upgrade.sh (100%) diff --git a/apps/nacos-derby/3.0.1/data.yml b/apps/nacos-derby/3.0.2/data.yml similarity index 100% rename from apps/nacos-derby/3.0.1/data.yml rename to apps/nacos-derby/3.0.2/data.yml diff --git a/apps/nacos-derby/3.0.1/docker-compose.yml b/apps/nacos-derby/3.0.2/docker-compose.yml similarity index 100% rename from apps/nacos-derby/3.0.1/docker-compose.yml rename to apps/nacos-derby/3.0.2/docker-compose.yml diff --git a/apps/nacos-derby/3.0.1/envs/default.env b/apps/nacos-derby/3.0.2/envs/default.env similarity index 100% rename from apps/nacos-derby/3.0.1/envs/default.env rename to apps/nacos-derby/3.0.2/envs/default.env diff --git a/apps/nacos-derby/3.0.1/envs/global.env b/apps/nacos-derby/3.0.2/envs/global.env similarity index 100% rename from apps/nacos-derby/3.0.1/envs/global.env rename to apps/nacos-derby/3.0.2/envs/global.env diff --git a/apps/nacos-derby/3.0.1/init/mysql-schema.sql b/apps/nacos-derby/3.0.2/init/mysql-schema.sql similarity index 100% rename from apps/nacos-derby/3.0.1/init/mysql-schema.sql rename to apps/nacos-derby/3.0.2/init/mysql-schema.sql diff --git a/apps/nacos-derby/3.0.1/scripts/init.sh b/apps/nacos-derby/3.0.2/scripts/init.sh similarity index 100% rename from apps/nacos-derby/3.0.1/scripts/init.sh rename to apps/nacos-derby/3.0.2/scripts/init.sh diff --git a/apps/nacos-derby/3.0.1/scripts/uninstall.sh b/apps/nacos-derby/3.0.2/scripts/uninstall.sh similarity index 100% rename from apps/nacos-derby/3.0.1/scripts/uninstall.sh rename to apps/nacos-derby/3.0.2/scripts/uninstall.sh diff --git a/apps/nacos-derby/3.0.1/scripts/upgrade.sh b/apps/nacos-derby/3.0.2/scripts/upgrade.sh similarity index 100% rename from apps/nacos-derby/3.0.1/scripts/upgrade.sh rename to apps/nacos-derby/3.0.2/scripts/upgrade.sh From 8048b1c1fe898e845d5d5612cc75dcda53e2d289 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 09:37:33 +0000 Subject: [PATCH 08/96] Update app version [skip ci] --- apps/nacos/{3.0.1 => 3.0.2}/data.yml | 0 apps/nacos/{3.0.1 => 3.0.2}/docker-compose.yml | 0 apps/nacos/{3.0.1 => 3.0.2}/envs/default.env | 0 apps/nacos/{3.0.1 => 3.0.2}/envs/global.env | 0 apps/nacos/{3.0.1 => 3.0.2}/init/mysql-schema.sql | 0 apps/nacos/{3.0.1 => 3.0.2}/scripts/init.sh | 0 apps/nacos/{3.0.1 => 3.0.2}/scripts/uninstall.sh | 0 apps/nacos/{3.0.1 => 3.0.2}/scripts/upgrade.sh | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename apps/nacos/{3.0.1 => 3.0.2}/data.yml (100%) rename apps/nacos/{3.0.1 => 3.0.2}/docker-compose.yml (100%) rename apps/nacos/{3.0.1 => 3.0.2}/envs/default.env (100%) rename apps/nacos/{3.0.1 => 3.0.2}/envs/global.env (100%) rename apps/nacos/{3.0.1 => 3.0.2}/init/mysql-schema.sql (100%) rename apps/nacos/{3.0.1 => 3.0.2}/scripts/init.sh (100%) rename apps/nacos/{3.0.1 => 3.0.2}/scripts/uninstall.sh (100%) rename apps/nacos/{3.0.1 => 3.0.2}/scripts/upgrade.sh (100%) diff --git a/apps/nacos/3.0.1/data.yml b/apps/nacos/3.0.2/data.yml similarity index 100% rename from apps/nacos/3.0.1/data.yml rename to apps/nacos/3.0.2/data.yml diff --git a/apps/nacos/3.0.1/docker-compose.yml b/apps/nacos/3.0.2/docker-compose.yml similarity index 100% rename from apps/nacos/3.0.1/docker-compose.yml rename to apps/nacos/3.0.2/docker-compose.yml diff --git a/apps/nacos/3.0.1/envs/default.env b/apps/nacos/3.0.2/envs/default.env similarity index 100% rename from apps/nacos/3.0.1/envs/default.env rename to apps/nacos/3.0.2/envs/default.env diff --git a/apps/nacos/3.0.1/envs/global.env b/apps/nacos/3.0.2/envs/global.env similarity index 100% rename from apps/nacos/3.0.1/envs/global.env rename to apps/nacos/3.0.2/envs/global.env diff --git a/apps/nacos/3.0.1/init/mysql-schema.sql b/apps/nacos/3.0.2/init/mysql-schema.sql similarity index 100% rename from apps/nacos/3.0.1/init/mysql-schema.sql rename to apps/nacos/3.0.2/init/mysql-schema.sql diff --git a/apps/nacos/3.0.1/scripts/init.sh b/apps/nacos/3.0.2/scripts/init.sh similarity index 100% rename from apps/nacos/3.0.1/scripts/init.sh rename to apps/nacos/3.0.2/scripts/init.sh diff --git a/apps/nacos/3.0.1/scripts/uninstall.sh b/apps/nacos/3.0.2/scripts/uninstall.sh similarity index 100% rename from apps/nacos/3.0.1/scripts/uninstall.sh rename to apps/nacos/3.0.2/scripts/uninstall.sh diff --git a/apps/nacos/3.0.1/scripts/upgrade.sh b/apps/nacos/3.0.2/scripts/upgrade.sh similarity index 100% rename from apps/nacos/3.0.1/scripts/upgrade.sh rename to apps/nacos/3.0.2/scripts/upgrade.sh From ca295f4b382263dbf0fe33c64191dd72b81d6466 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 10:03:27 +0000 Subject: [PATCH 09/96] Update qyg2297248353/ammds Docker tag to v1.6.15 --- apps/ammds/1.6.14/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ammds/1.6.14/docker-compose.yml b/apps/ammds/1.6.14/docker-compose.yml index a871d766a..bd2b9fbbd 100644 --- a/apps/ammds/1.6.14/docker-compose.yml +++ b/apps/ammds/1.6.14/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ammds: - image: qyg2297248353/ammds:v1.6.14 + image: qyg2297248353/ammds:v1.6.15 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 288de8260c05c3a34e981440403270365e039628 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 10:03:36 +0000 Subject: [PATCH 10/96] Update app version [skip ci] --- apps/ammds/{1.6.14 => 1.6.15}/data.yml | 0 apps/ammds/{1.6.14 => 1.6.15}/docker-compose.yml | 0 apps/ammds/{1.6.14 => 1.6.15}/envs/default.env | 0 apps/ammds/{1.6.14 => 1.6.15}/envs/global.env | 0 apps/ammds/{1.6.14 => 1.6.15}/scripts/init.sh | 0 apps/ammds/{1.6.14 => 1.6.15}/scripts/uninstall.sh | 0 apps/ammds/{1.6.14 => 1.6.15}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ammds/{1.6.14 => 1.6.15}/data.yml (100%) rename apps/ammds/{1.6.14 => 1.6.15}/docker-compose.yml (100%) rename apps/ammds/{1.6.14 => 1.6.15}/envs/default.env (100%) rename apps/ammds/{1.6.14 => 1.6.15}/envs/global.env (100%) rename apps/ammds/{1.6.14 => 1.6.15}/scripts/init.sh (100%) rename apps/ammds/{1.6.14 => 1.6.15}/scripts/uninstall.sh (100%) rename apps/ammds/{1.6.14 => 1.6.15}/scripts/upgrade.sh (100%) diff --git a/apps/ammds/1.6.14/data.yml b/apps/ammds/1.6.15/data.yml similarity index 100% rename from apps/ammds/1.6.14/data.yml rename to apps/ammds/1.6.15/data.yml diff --git a/apps/ammds/1.6.14/docker-compose.yml b/apps/ammds/1.6.15/docker-compose.yml similarity index 100% rename from apps/ammds/1.6.14/docker-compose.yml rename to apps/ammds/1.6.15/docker-compose.yml diff --git a/apps/ammds/1.6.14/envs/default.env b/apps/ammds/1.6.15/envs/default.env similarity index 100% rename from apps/ammds/1.6.14/envs/default.env rename to apps/ammds/1.6.15/envs/default.env diff --git a/apps/ammds/1.6.14/envs/global.env b/apps/ammds/1.6.15/envs/global.env similarity index 100% rename from apps/ammds/1.6.14/envs/global.env rename to apps/ammds/1.6.15/envs/global.env diff --git a/apps/ammds/1.6.14/scripts/init.sh b/apps/ammds/1.6.15/scripts/init.sh similarity index 100% rename from apps/ammds/1.6.14/scripts/init.sh rename to apps/ammds/1.6.15/scripts/init.sh diff --git a/apps/ammds/1.6.14/scripts/uninstall.sh b/apps/ammds/1.6.15/scripts/uninstall.sh similarity index 100% rename from apps/ammds/1.6.14/scripts/uninstall.sh rename to apps/ammds/1.6.15/scripts/uninstall.sh diff --git a/apps/ammds/1.6.14/scripts/upgrade.sh b/apps/ammds/1.6.15/scripts/upgrade.sh similarity index 100% rename from apps/ammds/1.6.14/scripts/upgrade.sh rename to apps/ammds/1.6.15/scripts/upgrade.sh From 3f794181571e8c33a720835ac77082e009b11c09 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Wed, 25 Jun 2025 12:48:22 +0000 Subject: [PATCH 11/96] Processed apps directory via GitHub Actions --- appstore/ammds/{1.6.14 => 1.6.15}/.env | 0 appstore/ammds/{1.6.14 => 1.6.15}/data.yml | 0 appstore/ammds/{1.6.14 => 1.6.15}/docker-compose.yml | 2 +- appstore/ammds/{1.6.14 => 1.6.15}/envs/default.env | 0 appstore/ammds/{1.6.14 => 1.6.15}/envs/global.env | 0 appstore/ammds/{1.6.14 => 1.6.15}/scripts/init.sh | 0 appstore/ammds/{1.6.14 => 1.6.15}/scripts/uninstall.sh | 0 appstore/ammds/{1.6.14 => 1.6.15}/scripts/upgrade.sh | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/.env | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/data.yml | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.3.0 => 1.3.1}/envs/default.env | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/envs/global.env | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/scripts/init.sh | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.3.0 => 1.3.1}/scripts/upgrade.sh | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/.env | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/data.yml | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/docker-compose.yml | 2 +- appstore/nacos-derby/{3.0.1 => 3.0.2}/envs/default.env | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/envs/global.env | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/init/mysql-schema.sql | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/scripts/init.sh | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/scripts/uninstall.sh | 0 appstore/nacos-derby/{3.0.1 => 3.0.2}/scripts/upgrade.sh | 0 appstore/nacos/{3.0.1 => 3.0.2}/.env | 0 appstore/nacos/{3.0.1 => 3.0.2}/data.yml | 0 {dockge/nacos_3_0_1 => appstore/nacos/3.0.2}/docker-compose.yml | 2 +- appstore/nacos/{3.0.1 => 3.0.2}/envs/default.env | 0 appstore/nacos/{3.0.1 => 3.0.2}/envs/global.env | 0 appstore/nacos/{3.0.1 => 3.0.2}/init/mysql-schema.sql | 0 appstore/nacos/{3.0.1 => 3.0.2}/scripts/init.sh | 0 appstore/nacos/{3.0.1 => 3.0.2}/scripts/uninstall.sh | 0 appstore/nacos/{3.0.1 => 3.0.2}/scripts/upgrade.sh | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/.env | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/data.yml | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/docker-compose.yml | 2 +- appstore/nodepassdash/{2.0.2 => 2.0.3}/envs/default.env | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/envs/global.env | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/scripts/init.sh | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/scripts/uninstall.sh | 0 appstore/nodepassdash/{2.0.2 => 2.0.3}/scripts/upgrade.sh | 0 dockge/ammds/docker-compose.yml | 2 +- dockge/mdc-ng/docker-compose.yml | 2 +- dockge/nacos-derby/docker-compose.yml | 2 +- dockge/{nacos_3_0_1 => nacos_3_0_2}/.env | 0 {appstore/nacos/3.0.1 => dockge/nacos_3_0_2}/docker-compose.yml | 2 +- dockge/{nacos_3_0_1 => nacos_3_0_2}/envs/default.env | 0 dockge/{nacos_3_0_1 => nacos_3_0_2}/envs/global.env | 0 dockge/{nacos_3_0_1 => nacos_3_0_2}/init/mysql-schema.sql | 0 dockge/nodepassdash/docker-compose.yml | 2 +- 51 files changed, 10 insertions(+), 10 deletions(-) rename appstore/ammds/{1.6.14 => 1.6.15}/.env (100%) rename appstore/ammds/{1.6.14 => 1.6.15}/data.yml (100%) rename appstore/ammds/{1.6.14 => 1.6.15}/docker-compose.yml (96%) rename appstore/ammds/{1.6.14 => 1.6.15}/envs/default.env (100%) rename appstore/ammds/{1.6.14 => 1.6.15}/envs/global.env (100%) rename appstore/ammds/{1.6.14 => 1.6.15}/scripts/init.sh (100%) rename appstore/ammds/{1.6.14 => 1.6.15}/scripts/uninstall.sh (100%) rename appstore/ammds/{1.6.14 => 1.6.15}/scripts/upgrade.sh (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/.env (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/data.yml (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/envs/default.env (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/envs/global.env (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.3.0 => 1.3.1}/scripts/upgrade.sh (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/.env (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/data.yml (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/docker-compose.yml (94%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/envs/default.env (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/envs/global.env (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/init/mysql-schema.sql (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/scripts/init.sh (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/scripts/uninstall.sh (100%) rename appstore/nacos-derby/{3.0.1 => 3.0.2}/scripts/upgrade.sh (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/.env (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/data.yml (100%) rename {dockge/nacos_3_0_1 => appstore/nacos/3.0.2}/docker-compose.yml (95%) rename appstore/nacos/{3.0.1 => 3.0.2}/envs/default.env (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/envs/global.env (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/init/mysql-schema.sql (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/scripts/init.sh (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/scripts/uninstall.sh (100%) rename appstore/nacos/{3.0.1 => 3.0.2}/scripts/upgrade.sh (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/.env (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/data.yml (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/docker-compose.yml (90%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/envs/default.env (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/envs/global.env (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/scripts/init.sh (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/scripts/uninstall.sh (100%) rename appstore/nodepassdash/{2.0.2 => 2.0.3}/scripts/upgrade.sh (100%) rename dockge/{nacos_3_0_1 => nacos_3_0_2}/.env (100%) rename {appstore/nacos/3.0.1 => dockge/nacos_3_0_2}/docker-compose.yml (95%) rename dockge/{nacos_3_0_1 => nacos_3_0_2}/envs/default.env (100%) rename dockge/{nacos_3_0_1 => nacos_3_0_2}/envs/global.env (100%) rename dockge/{nacos_3_0_1 => nacos_3_0_2}/init/mysql-schema.sql (100%) diff --git a/appstore/ammds/1.6.14/.env b/appstore/ammds/1.6.15/.env similarity index 100% rename from appstore/ammds/1.6.14/.env rename to appstore/ammds/1.6.15/.env diff --git a/appstore/ammds/1.6.14/data.yml b/appstore/ammds/1.6.15/data.yml similarity index 100% rename from appstore/ammds/1.6.14/data.yml rename to appstore/ammds/1.6.15/data.yml diff --git a/appstore/ammds/1.6.14/docker-compose.yml b/appstore/ammds/1.6.15/docker-compose.yml similarity index 96% rename from appstore/ammds/1.6.14/docker-compose.yml rename to appstore/ammds/1.6.15/docker-compose.yml index 2d8b94a1a..1e9e450b8 100644 --- a/appstore/ammds/1.6.14/docker-compose.yml +++ b/appstore/ammds/1.6.15/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.14 + image: qyg2297248353/ammds:v1.6.15 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/ammds/1.6.14/envs/default.env b/appstore/ammds/1.6.15/envs/default.env similarity index 100% rename from appstore/ammds/1.6.14/envs/default.env rename to appstore/ammds/1.6.15/envs/default.env diff --git a/appstore/ammds/1.6.14/envs/global.env b/appstore/ammds/1.6.15/envs/global.env similarity index 100% rename from appstore/ammds/1.6.14/envs/global.env rename to appstore/ammds/1.6.15/envs/global.env diff --git a/appstore/ammds/1.6.14/scripts/init.sh b/appstore/ammds/1.6.15/scripts/init.sh similarity index 100% rename from appstore/ammds/1.6.14/scripts/init.sh rename to appstore/ammds/1.6.15/scripts/init.sh diff --git a/appstore/ammds/1.6.14/scripts/uninstall.sh b/appstore/ammds/1.6.15/scripts/uninstall.sh similarity index 100% rename from appstore/ammds/1.6.14/scripts/uninstall.sh rename to appstore/ammds/1.6.15/scripts/uninstall.sh diff --git a/appstore/ammds/1.6.14/scripts/upgrade.sh b/appstore/ammds/1.6.15/scripts/upgrade.sh similarity index 100% rename from appstore/ammds/1.6.14/scripts/upgrade.sh rename to appstore/ammds/1.6.15/scripts/upgrade.sh diff --git a/appstore/mdc-ng/1.3.0/.env b/appstore/mdc-ng/1.3.1/.env similarity index 100% rename from appstore/mdc-ng/1.3.0/.env rename to appstore/mdc-ng/1.3.1/.env diff --git a/appstore/mdc-ng/1.3.0/data.yml b/appstore/mdc-ng/1.3.1/data.yml similarity index 100% rename from appstore/mdc-ng/1.3.0/data.yml rename to appstore/mdc-ng/1.3.1/data.yml diff --git a/appstore/mdc-ng/1.3.0/docker-compose.yml b/appstore/mdc-ng/1.3.1/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.3.0/docker-compose.yml rename to appstore/mdc-ng/1.3.1/docker-compose.yml index 55dceab4e..419b5f06d 100644 --- a/appstore/mdc-ng/1.3.0/docker-compose.yml +++ b/appstore/mdc-ng/1.3.1/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.3.0 + image: mdcng/mdc:1.3.1 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.3.0/envs/default.env b/appstore/mdc-ng/1.3.1/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.3.0/envs/default.env rename to appstore/mdc-ng/1.3.1/envs/default.env diff --git a/appstore/mdc-ng/1.3.0/envs/global.env b/appstore/mdc-ng/1.3.1/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.3.0/envs/global.env rename to appstore/mdc-ng/1.3.1/envs/global.env diff --git a/appstore/mdc-ng/1.3.0/scripts/init.sh b/appstore/mdc-ng/1.3.1/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.3.0/scripts/init.sh rename to appstore/mdc-ng/1.3.1/scripts/init.sh diff --git a/appstore/mdc-ng/1.3.0/scripts/uninstall.sh b/appstore/mdc-ng/1.3.1/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.3.0/scripts/uninstall.sh rename to appstore/mdc-ng/1.3.1/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.3.0/scripts/upgrade.sh b/appstore/mdc-ng/1.3.1/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.3.0/scripts/upgrade.sh rename to appstore/mdc-ng/1.3.1/scripts/upgrade.sh diff --git a/appstore/nacos-derby/3.0.1/.env b/appstore/nacos-derby/3.0.2/.env similarity index 100% rename from appstore/nacos-derby/3.0.1/.env rename to appstore/nacos-derby/3.0.2/.env diff --git a/appstore/nacos-derby/3.0.1/data.yml b/appstore/nacos-derby/3.0.2/data.yml similarity index 100% rename from appstore/nacos-derby/3.0.1/data.yml rename to appstore/nacos-derby/3.0.2/data.yml diff --git a/appstore/nacos-derby/3.0.1/docker-compose.yml b/appstore/nacos-derby/3.0.2/docker-compose.yml similarity index 94% rename from appstore/nacos-derby/3.0.1/docker-compose.yml rename to appstore/nacos-derby/3.0.2/docker-compose.yml index 36baffdcf..b4360ceb1 100644 --- a/appstore/nacos-derby/3.0.1/docker-compose.yml +++ b/appstore/nacos-derby/3.0.2/docker-compose.yml @@ -12,7 +12,7 @@ services: - NACOS_CONSOLE_PORT=${PANEL_APP_PORT_HTTP:-8080} - NACOS_SERVER_PORT=${PANEL_APP_PORT_API:-8848} - NACOS_AUTH_ENABLE=true - image: nacos/nacos-server:v3.0.1 + image: nacos/nacos-server:v3.0.2 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/nacos-derby/3.0.1/envs/default.env b/appstore/nacos-derby/3.0.2/envs/default.env similarity index 100% rename from appstore/nacos-derby/3.0.1/envs/default.env rename to appstore/nacos-derby/3.0.2/envs/default.env diff --git a/appstore/nacos-derby/3.0.1/envs/global.env b/appstore/nacos-derby/3.0.2/envs/global.env similarity index 100% rename from appstore/nacos-derby/3.0.1/envs/global.env rename to appstore/nacos-derby/3.0.2/envs/global.env diff --git a/appstore/nacos-derby/3.0.1/init/mysql-schema.sql b/appstore/nacos-derby/3.0.2/init/mysql-schema.sql similarity index 100% rename from appstore/nacos-derby/3.0.1/init/mysql-schema.sql rename to appstore/nacos-derby/3.0.2/init/mysql-schema.sql diff --git a/appstore/nacos-derby/3.0.1/scripts/init.sh b/appstore/nacos-derby/3.0.2/scripts/init.sh similarity index 100% rename from appstore/nacos-derby/3.0.1/scripts/init.sh rename to appstore/nacos-derby/3.0.2/scripts/init.sh diff --git a/appstore/nacos-derby/3.0.1/scripts/uninstall.sh b/appstore/nacos-derby/3.0.2/scripts/uninstall.sh similarity index 100% rename from appstore/nacos-derby/3.0.1/scripts/uninstall.sh rename to appstore/nacos-derby/3.0.2/scripts/uninstall.sh diff --git a/appstore/nacos-derby/3.0.1/scripts/upgrade.sh b/appstore/nacos-derby/3.0.2/scripts/upgrade.sh similarity index 100% rename from appstore/nacos-derby/3.0.1/scripts/upgrade.sh rename to appstore/nacos-derby/3.0.2/scripts/upgrade.sh diff --git a/appstore/nacos/3.0.1/.env b/appstore/nacos/3.0.2/.env similarity index 100% rename from appstore/nacos/3.0.1/.env rename to appstore/nacos/3.0.2/.env diff --git a/appstore/nacos/3.0.1/data.yml b/appstore/nacos/3.0.2/data.yml similarity index 100% rename from appstore/nacos/3.0.1/data.yml rename to appstore/nacos/3.0.2/data.yml diff --git a/dockge/nacos_3_0_1/docker-compose.yml b/appstore/nacos/3.0.2/docker-compose.yml similarity index 95% rename from dockge/nacos_3_0_1/docker-compose.yml rename to appstore/nacos/3.0.2/docker-compose.yml index c256c4cbb..76ef8b9fd 100644 --- a/dockge/nacos_3_0_1/docker-compose.yml +++ b/appstore/nacos/3.0.2/docker-compose.yml @@ -13,7 +13,7 @@ services: - NACOS_SERVER_PORT=${PANEL_APP_PORT_API:-8848} - NACOS_AUTH_ENABLE=true - SPRING_DATASOURCE_PLATFORM=mysql - image: nacos/nacos-server:v3.0.1 + image: nacos/nacos-server:v3.0.2 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/nacos/3.0.1/envs/default.env b/appstore/nacos/3.0.2/envs/default.env similarity index 100% rename from appstore/nacos/3.0.1/envs/default.env rename to appstore/nacos/3.0.2/envs/default.env diff --git a/appstore/nacos/3.0.1/envs/global.env b/appstore/nacos/3.0.2/envs/global.env similarity index 100% rename from appstore/nacos/3.0.1/envs/global.env rename to appstore/nacos/3.0.2/envs/global.env diff --git a/appstore/nacos/3.0.1/init/mysql-schema.sql b/appstore/nacos/3.0.2/init/mysql-schema.sql similarity index 100% rename from appstore/nacos/3.0.1/init/mysql-schema.sql rename to appstore/nacos/3.0.2/init/mysql-schema.sql diff --git a/appstore/nacos/3.0.1/scripts/init.sh b/appstore/nacos/3.0.2/scripts/init.sh similarity index 100% rename from appstore/nacos/3.0.1/scripts/init.sh rename to appstore/nacos/3.0.2/scripts/init.sh diff --git a/appstore/nacos/3.0.1/scripts/uninstall.sh b/appstore/nacos/3.0.2/scripts/uninstall.sh similarity index 100% rename from appstore/nacos/3.0.1/scripts/uninstall.sh rename to appstore/nacos/3.0.2/scripts/uninstall.sh diff --git a/appstore/nacos/3.0.1/scripts/upgrade.sh b/appstore/nacos/3.0.2/scripts/upgrade.sh similarity index 100% rename from appstore/nacos/3.0.1/scripts/upgrade.sh rename to appstore/nacos/3.0.2/scripts/upgrade.sh diff --git a/appstore/nodepassdash/2.0.2/.env b/appstore/nodepassdash/2.0.3/.env similarity index 100% rename from appstore/nodepassdash/2.0.2/.env rename to appstore/nodepassdash/2.0.3/.env diff --git a/appstore/nodepassdash/2.0.2/data.yml b/appstore/nodepassdash/2.0.3/data.yml similarity index 100% rename from appstore/nodepassdash/2.0.2/data.yml rename to appstore/nodepassdash/2.0.3/data.yml diff --git a/appstore/nodepassdash/2.0.2/docker-compose.yml b/appstore/nodepassdash/2.0.3/docker-compose.yml similarity index 90% rename from appstore/nodepassdash/2.0.2/docker-compose.yml rename to appstore/nodepassdash/2.0.3/docker-compose.yml index 4e5c96cbd..6ee3077a7 100644 --- a/appstore/nodepassdash/2.0.2/docker-compose.yml +++ b/appstore/nodepassdash/2.0.3/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.0.2 + image: ghcr.io/nodepassproject/nodepassdash:2.0.3 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/nodepassdash/2.0.2/envs/default.env b/appstore/nodepassdash/2.0.3/envs/default.env similarity index 100% rename from appstore/nodepassdash/2.0.2/envs/default.env rename to appstore/nodepassdash/2.0.3/envs/default.env diff --git a/appstore/nodepassdash/2.0.2/envs/global.env b/appstore/nodepassdash/2.0.3/envs/global.env similarity index 100% rename from appstore/nodepassdash/2.0.2/envs/global.env rename to appstore/nodepassdash/2.0.3/envs/global.env diff --git a/appstore/nodepassdash/2.0.2/scripts/init.sh b/appstore/nodepassdash/2.0.3/scripts/init.sh similarity index 100% rename from appstore/nodepassdash/2.0.2/scripts/init.sh rename to appstore/nodepassdash/2.0.3/scripts/init.sh diff --git a/appstore/nodepassdash/2.0.2/scripts/uninstall.sh b/appstore/nodepassdash/2.0.3/scripts/uninstall.sh similarity index 100% rename from appstore/nodepassdash/2.0.2/scripts/uninstall.sh rename to appstore/nodepassdash/2.0.3/scripts/uninstall.sh diff --git a/appstore/nodepassdash/2.0.2/scripts/upgrade.sh b/appstore/nodepassdash/2.0.3/scripts/upgrade.sh similarity index 100% rename from appstore/nodepassdash/2.0.2/scripts/upgrade.sh rename to appstore/nodepassdash/2.0.3/scripts/upgrade.sh diff --git a/dockge/ammds/docker-compose.yml b/dockge/ammds/docker-compose.yml index 2d8b94a1a..1e9e450b8 100644 --- a/dockge/ammds/docker-compose.yml +++ b/dockge/ammds/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.14 + image: qyg2297248353/ammds:v1.6.15 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 55dceab4e..419b5f06d 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.3.0 + image: mdcng/mdc:1.3.1 labels: createdBy: Apps networks: diff --git a/dockge/nacos-derby/docker-compose.yml b/dockge/nacos-derby/docker-compose.yml index 36baffdcf..b4360ceb1 100644 --- a/dockge/nacos-derby/docker-compose.yml +++ b/dockge/nacos-derby/docker-compose.yml @@ -12,7 +12,7 @@ services: - NACOS_CONSOLE_PORT=${PANEL_APP_PORT_HTTP:-8080} - NACOS_SERVER_PORT=${PANEL_APP_PORT_API:-8848} - NACOS_AUTH_ENABLE=true - image: nacos/nacos-server:v3.0.1 + image: nacos/nacos-server:v3.0.2 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/nacos_3_0_1/.env b/dockge/nacos_3_0_2/.env similarity index 100% rename from dockge/nacos_3_0_1/.env rename to dockge/nacos_3_0_2/.env diff --git a/appstore/nacos/3.0.1/docker-compose.yml b/dockge/nacos_3_0_2/docker-compose.yml similarity index 95% rename from appstore/nacos/3.0.1/docker-compose.yml rename to dockge/nacos_3_0_2/docker-compose.yml index c256c4cbb..76ef8b9fd 100644 --- a/appstore/nacos/3.0.1/docker-compose.yml +++ b/dockge/nacos_3_0_2/docker-compose.yml @@ -13,7 +13,7 @@ services: - NACOS_SERVER_PORT=${PANEL_APP_PORT_API:-8848} - NACOS_AUTH_ENABLE=true - SPRING_DATASOURCE_PLATFORM=mysql - image: nacos/nacos-server:v3.0.1 + image: nacos/nacos-server:v3.0.2 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/nacos_3_0_1/envs/default.env b/dockge/nacos_3_0_2/envs/default.env similarity index 100% rename from dockge/nacos_3_0_1/envs/default.env rename to dockge/nacos_3_0_2/envs/default.env diff --git a/dockge/nacos_3_0_1/envs/global.env b/dockge/nacos_3_0_2/envs/global.env similarity index 100% rename from dockge/nacos_3_0_1/envs/global.env rename to dockge/nacos_3_0_2/envs/global.env diff --git a/dockge/nacos_3_0_1/init/mysql-schema.sql b/dockge/nacos_3_0_2/init/mysql-schema.sql similarity index 100% rename from dockge/nacos_3_0_1/init/mysql-schema.sql rename to dockge/nacos_3_0_2/init/mysql-schema.sql diff --git a/dockge/nodepassdash/docker-compose.yml b/dockge/nodepassdash/docker-compose.yml index 4e5c96cbd..6ee3077a7 100644 --- a/dockge/nodepassdash/docker-compose.yml +++ b/dockge/nodepassdash/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.0.2 + image: ghcr.io/nodepassproject/nodepassdash:2.0.3 labels: createdBy: Apps network_mode: ${NETWORK_MODE} From a20436c84afcb029afa7b836090bda57be79d019 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:49:35 +0000 Subject: [PATCH 12/96] Update n8nio/n8n Docker tag to v1.100.1 --- apps/n8n/1.100.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/n8n/1.100.0/docker-compose.yml b/apps/n8n/1.100.0/docker-compose.yml index 979c1bb96..c3aa10724 100644 --- a/apps/n8n/1.100.0/docker-compose.yml +++ b/apps/n8n/1.100.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: n8n: - image: n8nio/n8n:1.100.0 + image: n8nio/n8n:1.100.1 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From c41d8a65bffbc41c64d9a57218cbb486db4f774c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 12:49:41 +0000 Subject: [PATCH 13/96] Update qyg2297248353/ammds Docker tag to v1.6.16 --- apps/ammds-ol8/1.6.15/docker-compose.yml | 2 +- apps/ammds/1.6.15/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/ammds-ol8/1.6.15/docker-compose.yml b/apps/ammds-ol8/1.6.15/docker-compose.yml index d1c9f986a..31bb98a75 100644 --- a/apps/ammds-ol8/1.6.15/docker-compose.yml +++ b/apps/ammds-ol8/1.6.15/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ammds: - image: qyg2297248353/ammds:v1.6.15-ol8 + image: qyg2297248353/ammds:v1.6.16-ol8 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" diff --git a/apps/ammds/1.6.15/docker-compose.yml b/apps/ammds/1.6.15/docker-compose.yml index bd2b9fbbd..31bfaff99 100644 --- a/apps/ammds/1.6.15/docker-compose.yml +++ b/apps/ammds/1.6.15/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ammds: - image: qyg2297248353/ammds:v1.6.15 + image: qyg2297248353/ammds:v1.6.16 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From a9b5195e092a3e4b0525c7d0718c097599f0a085 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 12:49:45 +0000 Subject: [PATCH 14/96] Update app version [skip ci] --- apps/n8n/{1.100.0 => 1.100.1}/data.yml | 0 apps/n8n/{1.100.0 => 1.100.1}/docker-compose.yml | 0 apps/n8n/{1.100.0 => 1.100.1}/envs/default.env | 0 apps/n8n/{1.100.0 => 1.100.1}/envs/global.env | 0 apps/n8n/{1.100.0 => 1.100.1}/scripts/init.sh | 0 apps/n8n/{1.100.0 => 1.100.1}/scripts/uninstall.sh | 0 apps/n8n/{1.100.0 => 1.100.1}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/n8n/{1.100.0 => 1.100.1}/data.yml (100%) rename apps/n8n/{1.100.0 => 1.100.1}/docker-compose.yml (100%) rename apps/n8n/{1.100.0 => 1.100.1}/envs/default.env (100%) rename apps/n8n/{1.100.0 => 1.100.1}/envs/global.env (100%) rename apps/n8n/{1.100.0 => 1.100.1}/scripts/init.sh (100%) rename apps/n8n/{1.100.0 => 1.100.1}/scripts/uninstall.sh (100%) rename apps/n8n/{1.100.0 => 1.100.1}/scripts/upgrade.sh (100%) diff --git a/apps/n8n/1.100.0/data.yml b/apps/n8n/1.100.1/data.yml similarity index 100% rename from apps/n8n/1.100.0/data.yml rename to apps/n8n/1.100.1/data.yml diff --git a/apps/n8n/1.100.0/docker-compose.yml b/apps/n8n/1.100.1/docker-compose.yml similarity index 100% rename from apps/n8n/1.100.0/docker-compose.yml rename to apps/n8n/1.100.1/docker-compose.yml diff --git a/apps/n8n/1.100.0/envs/default.env b/apps/n8n/1.100.1/envs/default.env similarity index 100% rename from apps/n8n/1.100.0/envs/default.env rename to apps/n8n/1.100.1/envs/default.env diff --git a/apps/n8n/1.100.0/envs/global.env b/apps/n8n/1.100.1/envs/global.env similarity index 100% rename from apps/n8n/1.100.0/envs/global.env rename to apps/n8n/1.100.1/envs/global.env diff --git a/apps/n8n/1.100.0/scripts/init.sh b/apps/n8n/1.100.1/scripts/init.sh similarity index 100% rename from apps/n8n/1.100.0/scripts/init.sh rename to apps/n8n/1.100.1/scripts/init.sh diff --git a/apps/n8n/1.100.0/scripts/uninstall.sh b/apps/n8n/1.100.1/scripts/uninstall.sh similarity index 100% rename from apps/n8n/1.100.0/scripts/uninstall.sh rename to apps/n8n/1.100.1/scripts/uninstall.sh diff --git a/apps/n8n/1.100.0/scripts/upgrade.sh b/apps/n8n/1.100.1/scripts/upgrade.sh similarity index 100% rename from apps/n8n/1.100.0/scripts/upgrade.sh rename to apps/n8n/1.100.1/scripts/upgrade.sh From a2a7f0bccf357ebae8dd6a3744f7dbc2befd61ad Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 12:49:50 +0000 Subject: [PATCH 15/96] Update app version [skip ci] --- apps/ammds-ol8/{1.6.15 => 1.6.16}/data.yml | 0 apps/ammds-ol8/{1.6.15 => 1.6.16}/docker-compose.yml | 0 apps/ammds-ol8/{1.6.15 => 1.6.16}/envs/default.env | 0 apps/ammds-ol8/{1.6.15 => 1.6.16}/envs/global.env | 0 apps/ammds-ol8/{1.6.15 => 1.6.16}/scripts/init.sh | 0 apps/ammds-ol8/{1.6.15 => 1.6.16}/scripts/uninstall.sh | 0 apps/ammds-ol8/{1.6.15 => 1.6.16}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/data.yml (100%) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/docker-compose.yml (100%) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/envs/default.env (100%) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/envs/global.env (100%) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/scripts/init.sh (100%) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/scripts/uninstall.sh (100%) rename apps/ammds-ol8/{1.6.15 => 1.6.16}/scripts/upgrade.sh (100%) diff --git a/apps/ammds-ol8/1.6.15/data.yml b/apps/ammds-ol8/1.6.16/data.yml similarity index 100% rename from apps/ammds-ol8/1.6.15/data.yml rename to apps/ammds-ol8/1.6.16/data.yml diff --git a/apps/ammds-ol8/1.6.15/docker-compose.yml b/apps/ammds-ol8/1.6.16/docker-compose.yml similarity index 100% rename from apps/ammds-ol8/1.6.15/docker-compose.yml rename to apps/ammds-ol8/1.6.16/docker-compose.yml diff --git a/apps/ammds-ol8/1.6.15/envs/default.env b/apps/ammds-ol8/1.6.16/envs/default.env similarity index 100% rename from apps/ammds-ol8/1.6.15/envs/default.env rename to apps/ammds-ol8/1.6.16/envs/default.env diff --git a/apps/ammds-ol8/1.6.15/envs/global.env b/apps/ammds-ol8/1.6.16/envs/global.env similarity index 100% rename from apps/ammds-ol8/1.6.15/envs/global.env rename to apps/ammds-ol8/1.6.16/envs/global.env diff --git a/apps/ammds-ol8/1.6.15/scripts/init.sh b/apps/ammds-ol8/1.6.16/scripts/init.sh similarity index 100% rename from apps/ammds-ol8/1.6.15/scripts/init.sh rename to apps/ammds-ol8/1.6.16/scripts/init.sh diff --git a/apps/ammds-ol8/1.6.15/scripts/uninstall.sh b/apps/ammds-ol8/1.6.16/scripts/uninstall.sh similarity index 100% rename from apps/ammds-ol8/1.6.15/scripts/uninstall.sh rename to apps/ammds-ol8/1.6.16/scripts/uninstall.sh diff --git a/apps/ammds-ol8/1.6.15/scripts/upgrade.sh b/apps/ammds-ol8/1.6.16/scripts/upgrade.sh similarity index 100% rename from apps/ammds-ol8/1.6.15/scripts/upgrade.sh rename to apps/ammds-ol8/1.6.16/scripts/upgrade.sh From 266daeadf9c375d7d9809c3c60a8ce5bddc4cefd Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 12:49:51 +0000 Subject: [PATCH 16/96] Update app version [skip ci] --- apps/ammds/{1.6.15 => 1.6.16}/data.yml | 0 apps/ammds/{1.6.15 => 1.6.16}/docker-compose.yml | 0 apps/ammds/{1.6.15 => 1.6.16}/envs/default.env | 0 apps/ammds/{1.6.15 => 1.6.16}/envs/global.env | 0 apps/ammds/{1.6.15 => 1.6.16}/scripts/init.sh | 0 apps/ammds/{1.6.15 => 1.6.16}/scripts/uninstall.sh | 0 apps/ammds/{1.6.15 => 1.6.16}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ammds/{1.6.15 => 1.6.16}/data.yml (100%) rename apps/ammds/{1.6.15 => 1.6.16}/docker-compose.yml (100%) rename apps/ammds/{1.6.15 => 1.6.16}/envs/default.env (100%) rename apps/ammds/{1.6.15 => 1.6.16}/envs/global.env (100%) rename apps/ammds/{1.6.15 => 1.6.16}/scripts/init.sh (100%) rename apps/ammds/{1.6.15 => 1.6.16}/scripts/uninstall.sh (100%) rename apps/ammds/{1.6.15 => 1.6.16}/scripts/upgrade.sh (100%) diff --git a/apps/ammds/1.6.15/data.yml b/apps/ammds/1.6.16/data.yml similarity index 100% rename from apps/ammds/1.6.15/data.yml rename to apps/ammds/1.6.16/data.yml diff --git a/apps/ammds/1.6.15/docker-compose.yml b/apps/ammds/1.6.16/docker-compose.yml similarity index 100% rename from apps/ammds/1.6.15/docker-compose.yml rename to apps/ammds/1.6.16/docker-compose.yml diff --git a/apps/ammds/1.6.15/envs/default.env b/apps/ammds/1.6.16/envs/default.env similarity index 100% rename from apps/ammds/1.6.15/envs/default.env rename to apps/ammds/1.6.16/envs/default.env diff --git a/apps/ammds/1.6.15/envs/global.env b/apps/ammds/1.6.16/envs/global.env similarity index 100% rename from apps/ammds/1.6.15/envs/global.env rename to apps/ammds/1.6.16/envs/global.env diff --git a/apps/ammds/1.6.15/scripts/init.sh b/apps/ammds/1.6.16/scripts/init.sh similarity index 100% rename from apps/ammds/1.6.15/scripts/init.sh rename to apps/ammds/1.6.16/scripts/init.sh diff --git a/apps/ammds/1.6.15/scripts/uninstall.sh b/apps/ammds/1.6.16/scripts/uninstall.sh similarity index 100% rename from apps/ammds/1.6.15/scripts/uninstall.sh rename to apps/ammds/1.6.16/scripts/uninstall.sh diff --git a/apps/ammds/1.6.15/scripts/upgrade.sh b/apps/ammds/1.6.16/scripts/upgrade.sh similarity index 100% rename from apps/ammds/1.6.15/scripts/upgrade.sh rename to apps/ammds/1.6.16/scripts/upgrade.sh From 10c23532449fd038c905b07eee3638d87cd8b2c3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 13:31:47 +0000 Subject: [PATCH 17/96] Update mdcng/mdc Docker tag to v1.4.0 --- apps/mdc-ng/1.3.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.3.1/docker-compose.yml b/apps/mdc-ng/1.3.1/docker-compose.yml index c02e2bd06..cbb72b656 100644 --- a/apps/mdc-ng/1.3.1/docker-compose.yml +++ b/apps/mdc-ng/1.3.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.3.1 + image: mdcng/mdc:1.4.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 718153b874f13685eacad10990eed2cce2386380 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 13:31:56 +0000 Subject: [PATCH 18/96] Update app version [skip ci] --- apps/mdc-ng/{1.3.1 => 1.4.0}/data.yml | 0 apps/mdc-ng/{1.3.1 => 1.4.0}/docker-compose.yml | 0 apps/mdc-ng/{1.3.1 => 1.4.0}/envs/default.env | 0 apps/mdc-ng/{1.3.1 => 1.4.0}/envs/global.env | 0 apps/mdc-ng/{1.3.1 => 1.4.0}/scripts/init.sh | 0 apps/mdc-ng/{1.3.1 => 1.4.0}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.3.1 => 1.4.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.3.1 => 1.4.0}/data.yml (100%) rename apps/mdc-ng/{1.3.1 => 1.4.0}/docker-compose.yml (100%) rename apps/mdc-ng/{1.3.1 => 1.4.0}/envs/default.env (100%) rename apps/mdc-ng/{1.3.1 => 1.4.0}/envs/global.env (100%) rename apps/mdc-ng/{1.3.1 => 1.4.0}/scripts/init.sh (100%) rename apps/mdc-ng/{1.3.1 => 1.4.0}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.3.1 => 1.4.0}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.3.1/data.yml b/apps/mdc-ng/1.4.0/data.yml similarity index 100% rename from apps/mdc-ng/1.3.1/data.yml rename to apps/mdc-ng/1.4.0/data.yml diff --git a/apps/mdc-ng/1.3.1/docker-compose.yml b/apps/mdc-ng/1.4.0/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.3.1/docker-compose.yml rename to apps/mdc-ng/1.4.0/docker-compose.yml diff --git a/apps/mdc-ng/1.3.1/envs/default.env b/apps/mdc-ng/1.4.0/envs/default.env similarity index 100% rename from apps/mdc-ng/1.3.1/envs/default.env rename to apps/mdc-ng/1.4.0/envs/default.env diff --git a/apps/mdc-ng/1.3.1/envs/global.env b/apps/mdc-ng/1.4.0/envs/global.env similarity index 100% rename from apps/mdc-ng/1.3.1/envs/global.env rename to apps/mdc-ng/1.4.0/envs/global.env diff --git a/apps/mdc-ng/1.3.1/scripts/init.sh b/apps/mdc-ng/1.4.0/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.3.1/scripts/init.sh rename to apps/mdc-ng/1.4.0/scripts/init.sh diff --git a/apps/mdc-ng/1.3.1/scripts/uninstall.sh b/apps/mdc-ng/1.4.0/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.3.1/scripts/uninstall.sh rename to apps/mdc-ng/1.4.0/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.3.1/scripts/upgrade.sh b/apps/mdc-ng/1.4.0/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.3.1/scripts/upgrade.sh rename to apps/mdc-ng/1.4.0/scripts/upgrade.sh From 7afb6f8762d1ed11c741a487cfea1546422e9852 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Wed, 25 Jun 2025 15:25:25 +0000 Subject: [PATCH 19/96] Processed apps directory via GitHub Actions --- appstore/ammds-ol8/{1.6.15 => 1.6.16}/.env | 0 appstore/ammds-ol8/{1.6.15 => 1.6.16}/data.yml | 0 appstore/ammds-ol8/{1.6.15 => 1.6.16}/docker-compose.yml | 2 +- appstore/ammds-ol8/{1.6.15 => 1.6.16}/envs/default.env | 0 appstore/ammds-ol8/{1.6.15 => 1.6.16}/envs/global.env | 0 appstore/ammds-ol8/{1.6.15 => 1.6.16}/scripts/init.sh | 0 appstore/ammds-ol8/{1.6.15 => 1.6.16}/scripts/uninstall.sh | 0 appstore/ammds-ol8/{1.6.15 => 1.6.16}/scripts/upgrade.sh | 0 appstore/ammds/{1.6.15 => 1.6.16}/.env | 0 appstore/ammds/{1.6.15 => 1.6.16}/data.yml | 0 appstore/ammds/{1.6.15 => 1.6.16}/docker-compose.yml | 2 +- appstore/ammds/{1.6.15 => 1.6.16}/envs/default.env | 0 appstore/ammds/{1.6.15 => 1.6.16}/envs/global.env | 0 appstore/ammds/{1.6.15 => 1.6.16}/scripts/init.sh | 0 appstore/ammds/{1.6.15 => 1.6.16}/scripts/uninstall.sh | 0 appstore/ammds/{1.6.15 => 1.6.16}/scripts/upgrade.sh | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/.env | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/data.yml | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.3.1 => 1.4.0}/envs/default.env | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/envs/global.env | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/scripts/init.sh | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.3.1 => 1.4.0}/scripts/upgrade.sh | 0 appstore/n8n/{1.100.0 => 1.100.1}/.env | 0 appstore/n8n/{1.100.0 => 1.100.1}/data.yml | 0 appstore/n8n/{1.100.0 => 1.100.1}/docker-compose.yml | 2 +- appstore/n8n/{1.100.0 => 1.100.1}/envs/default.env | 0 appstore/n8n/{1.100.0 => 1.100.1}/envs/global.env | 0 appstore/n8n/{1.100.0 => 1.100.1}/scripts/init.sh | 0 appstore/n8n/{1.100.0 => 1.100.1}/scripts/uninstall.sh | 0 appstore/n8n/{1.100.0 => 1.100.1}/scripts/upgrade.sh | 0 dockge/ammds-ol8/docker-compose.yml | 2 +- dockge/ammds/docker-compose.yml | 2 +- dockge/mdc-ng/docker-compose.yml | 2 +- dockge/n8n/docker-compose.yml | 2 +- 36 files changed, 8 insertions(+), 8 deletions(-) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/.env (100%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/data.yml (100%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/docker-compose.yml (95%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/envs/default.env (100%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/envs/global.env (100%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/scripts/init.sh (100%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/scripts/uninstall.sh (100%) rename appstore/ammds-ol8/{1.6.15 => 1.6.16}/scripts/upgrade.sh (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/.env (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/data.yml (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/docker-compose.yml (96%) rename appstore/ammds/{1.6.15 => 1.6.16}/envs/default.env (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/envs/global.env (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/scripts/init.sh (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/scripts/uninstall.sh (100%) rename appstore/ammds/{1.6.15 => 1.6.16}/scripts/upgrade.sh (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/.env (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/data.yml (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/envs/default.env (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/envs/global.env (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.3.1 => 1.4.0}/scripts/upgrade.sh (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/.env (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/data.yml (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/docker-compose.yml (94%) rename appstore/n8n/{1.100.0 => 1.100.1}/envs/default.env (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/envs/global.env (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/scripts/init.sh (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/scripts/uninstall.sh (100%) rename appstore/n8n/{1.100.0 => 1.100.1}/scripts/upgrade.sh (100%) diff --git a/appstore/ammds-ol8/1.6.15/.env b/appstore/ammds-ol8/1.6.16/.env similarity index 100% rename from appstore/ammds-ol8/1.6.15/.env rename to appstore/ammds-ol8/1.6.16/.env diff --git a/appstore/ammds-ol8/1.6.15/data.yml b/appstore/ammds-ol8/1.6.16/data.yml similarity index 100% rename from appstore/ammds-ol8/1.6.15/data.yml rename to appstore/ammds-ol8/1.6.16/data.yml diff --git a/appstore/ammds-ol8/1.6.15/docker-compose.yml b/appstore/ammds-ol8/1.6.16/docker-compose.yml similarity index 95% rename from appstore/ammds-ol8/1.6.15/docker-compose.yml rename to appstore/ammds-ol8/1.6.16/docker-compose.yml index c2e8fba01..d631c50b3 100644 --- a/appstore/ammds-ol8/1.6.15/docker-compose.yml +++ b/appstore/ammds-ol8/1.6.16/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.15-ol8 + image: qyg2297248353/ammds:v1.6.16-ol8 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/ammds-ol8/1.6.15/envs/default.env b/appstore/ammds-ol8/1.6.16/envs/default.env similarity index 100% rename from appstore/ammds-ol8/1.6.15/envs/default.env rename to appstore/ammds-ol8/1.6.16/envs/default.env diff --git a/appstore/ammds-ol8/1.6.15/envs/global.env b/appstore/ammds-ol8/1.6.16/envs/global.env similarity index 100% rename from appstore/ammds-ol8/1.6.15/envs/global.env rename to appstore/ammds-ol8/1.6.16/envs/global.env diff --git a/appstore/ammds-ol8/1.6.15/scripts/init.sh b/appstore/ammds-ol8/1.6.16/scripts/init.sh similarity index 100% rename from appstore/ammds-ol8/1.6.15/scripts/init.sh rename to appstore/ammds-ol8/1.6.16/scripts/init.sh diff --git a/appstore/ammds-ol8/1.6.15/scripts/uninstall.sh b/appstore/ammds-ol8/1.6.16/scripts/uninstall.sh similarity index 100% rename from appstore/ammds-ol8/1.6.15/scripts/uninstall.sh rename to appstore/ammds-ol8/1.6.16/scripts/uninstall.sh diff --git a/appstore/ammds-ol8/1.6.15/scripts/upgrade.sh b/appstore/ammds-ol8/1.6.16/scripts/upgrade.sh similarity index 100% rename from appstore/ammds-ol8/1.6.15/scripts/upgrade.sh rename to appstore/ammds-ol8/1.6.16/scripts/upgrade.sh diff --git a/appstore/ammds/1.6.15/.env b/appstore/ammds/1.6.16/.env similarity index 100% rename from appstore/ammds/1.6.15/.env rename to appstore/ammds/1.6.16/.env diff --git a/appstore/ammds/1.6.15/data.yml b/appstore/ammds/1.6.16/data.yml similarity index 100% rename from appstore/ammds/1.6.15/data.yml rename to appstore/ammds/1.6.16/data.yml diff --git a/appstore/ammds/1.6.15/docker-compose.yml b/appstore/ammds/1.6.16/docker-compose.yml similarity index 96% rename from appstore/ammds/1.6.15/docker-compose.yml rename to appstore/ammds/1.6.16/docker-compose.yml index 1e9e450b8..668738ab3 100644 --- a/appstore/ammds/1.6.15/docker-compose.yml +++ b/appstore/ammds/1.6.16/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.15 + image: qyg2297248353/ammds:v1.6.16 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/ammds/1.6.15/envs/default.env b/appstore/ammds/1.6.16/envs/default.env similarity index 100% rename from appstore/ammds/1.6.15/envs/default.env rename to appstore/ammds/1.6.16/envs/default.env diff --git a/appstore/ammds/1.6.15/envs/global.env b/appstore/ammds/1.6.16/envs/global.env similarity index 100% rename from appstore/ammds/1.6.15/envs/global.env rename to appstore/ammds/1.6.16/envs/global.env diff --git a/appstore/ammds/1.6.15/scripts/init.sh b/appstore/ammds/1.6.16/scripts/init.sh similarity index 100% rename from appstore/ammds/1.6.15/scripts/init.sh rename to appstore/ammds/1.6.16/scripts/init.sh diff --git a/appstore/ammds/1.6.15/scripts/uninstall.sh b/appstore/ammds/1.6.16/scripts/uninstall.sh similarity index 100% rename from appstore/ammds/1.6.15/scripts/uninstall.sh rename to appstore/ammds/1.6.16/scripts/uninstall.sh diff --git a/appstore/ammds/1.6.15/scripts/upgrade.sh b/appstore/ammds/1.6.16/scripts/upgrade.sh similarity index 100% rename from appstore/ammds/1.6.15/scripts/upgrade.sh rename to appstore/ammds/1.6.16/scripts/upgrade.sh diff --git a/appstore/mdc-ng/1.3.1/.env b/appstore/mdc-ng/1.4.0/.env similarity index 100% rename from appstore/mdc-ng/1.3.1/.env rename to appstore/mdc-ng/1.4.0/.env diff --git a/appstore/mdc-ng/1.3.1/data.yml b/appstore/mdc-ng/1.4.0/data.yml similarity index 100% rename from appstore/mdc-ng/1.3.1/data.yml rename to appstore/mdc-ng/1.4.0/data.yml diff --git a/appstore/mdc-ng/1.3.1/docker-compose.yml b/appstore/mdc-ng/1.4.0/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.3.1/docker-compose.yml rename to appstore/mdc-ng/1.4.0/docker-compose.yml index 419b5f06d..5941d156e 100644 --- a/appstore/mdc-ng/1.3.1/docker-compose.yml +++ b/appstore/mdc-ng/1.4.0/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.3.1 + image: mdcng/mdc:1.4.0 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.3.1/envs/default.env b/appstore/mdc-ng/1.4.0/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.3.1/envs/default.env rename to appstore/mdc-ng/1.4.0/envs/default.env diff --git a/appstore/mdc-ng/1.3.1/envs/global.env b/appstore/mdc-ng/1.4.0/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.3.1/envs/global.env rename to appstore/mdc-ng/1.4.0/envs/global.env diff --git a/appstore/mdc-ng/1.3.1/scripts/init.sh b/appstore/mdc-ng/1.4.0/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.3.1/scripts/init.sh rename to appstore/mdc-ng/1.4.0/scripts/init.sh diff --git a/appstore/mdc-ng/1.3.1/scripts/uninstall.sh b/appstore/mdc-ng/1.4.0/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.3.1/scripts/uninstall.sh rename to appstore/mdc-ng/1.4.0/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.3.1/scripts/upgrade.sh b/appstore/mdc-ng/1.4.0/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.3.1/scripts/upgrade.sh rename to appstore/mdc-ng/1.4.0/scripts/upgrade.sh diff --git a/appstore/n8n/1.100.0/.env b/appstore/n8n/1.100.1/.env similarity index 100% rename from appstore/n8n/1.100.0/.env rename to appstore/n8n/1.100.1/.env diff --git a/appstore/n8n/1.100.0/data.yml b/appstore/n8n/1.100.1/data.yml similarity index 100% rename from appstore/n8n/1.100.0/data.yml rename to appstore/n8n/1.100.1/data.yml diff --git a/appstore/n8n/1.100.0/docker-compose.yml b/appstore/n8n/1.100.1/docker-compose.yml similarity index 94% rename from appstore/n8n/1.100.0/docker-compose.yml rename to appstore/n8n/1.100.1/docker-compose.yml index acafe3446..82c9159d7 100644 --- a/appstore/n8n/1.100.0/docker-compose.yml +++ b/appstore/n8n/1.100.1/docker-compose.yml @@ -14,7 +14,7 @@ services: - N8N_PROTOCOL=http - N8N_DIAGNOSTICS_ENABLED=false - N8N_SECURE_COOKIE=false - image: n8nio/n8n:1.100.0 + image: n8nio/n8n:1.100.1 labels: createdBy: Apps networks: diff --git a/appstore/n8n/1.100.0/envs/default.env b/appstore/n8n/1.100.1/envs/default.env similarity index 100% rename from appstore/n8n/1.100.0/envs/default.env rename to appstore/n8n/1.100.1/envs/default.env diff --git a/appstore/n8n/1.100.0/envs/global.env b/appstore/n8n/1.100.1/envs/global.env similarity index 100% rename from appstore/n8n/1.100.0/envs/global.env rename to appstore/n8n/1.100.1/envs/global.env diff --git a/appstore/n8n/1.100.0/scripts/init.sh b/appstore/n8n/1.100.1/scripts/init.sh similarity index 100% rename from appstore/n8n/1.100.0/scripts/init.sh rename to appstore/n8n/1.100.1/scripts/init.sh diff --git a/appstore/n8n/1.100.0/scripts/uninstall.sh b/appstore/n8n/1.100.1/scripts/uninstall.sh similarity index 100% rename from appstore/n8n/1.100.0/scripts/uninstall.sh rename to appstore/n8n/1.100.1/scripts/uninstall.sh diff --git a/appstore/n8n/1.100.0/scripts/upgrade.sh b/appstore/n8n/1.100.1/scripts/upgrade.sh similarity index 100% rename from appstore/n8n/1.100.0/scripts/upgrade.sh rename to appstore/n8n/1.100.1/scripts/upgrade.sh diff --git a/dockge/ammds-ol8/docker-compose.yml b/dockge/ammds-ol8/docker-compose.yml index c2e8fba01..d631c50b3 100644 --- a/dockge/ammds-ol8/docker-compose.yml +++ b/dockge/ammds-ol8/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.15-ol8 + image: qyg2297248353/ammds:v1.6.16-ol8 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/ammds/docker-compose.yml b/dockge/ammds/docker-compose.yml index 1e9e450b8..668738ab3 100644 --- a/dockge/ammds/docker-compose.yml +++ b/dockge/ammds/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.15 + image: qyg2297248353/ammds:v1.6.16 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 419b5f06d..5941d156e 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.3.1 + image: mdcng/mdc:1.4.0 labels: createdBy: Apps networks: diff --git a/dockge/n8n/docker-compose.yml b/dockge/n8n/docker-compose.yml index acafe3446..82c9159d7 100644 --- a/dockge/n8n/docker-compose.yml +++ b/dockge/n8n/docker-compose.yml @@ -14,7 +14,7 @@ services: - N8N_PROTOCOL=http - N8N_DIAGNOSTICS_ENABLED=false - N8N_SECURE_COOKIE=false - image: n8nio/n8n:1.100.0 + image: n8nio/n8n:1.100.1 labels: createdBy: Apps networks: From d44f079ab1df3566b5bf2351f4c94bffebfdc057 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 22:08:03 +0000 Subject: [PATCH 20/96] Update ghost Docker tag to v5.127.2 --- apps/ghost/5.127.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ghost/5.127.1/docker-compose.yml b/apps/ghost/5.127.1/docker-compose.yml index 7455ce881..4a2302a87 100644 --- a/apps/ghost/5.127.1/docker-compose.yml +++ b/apps/ghost/5.127.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ghost: - image: ghost:5.127.1 + image: ghost:5.127.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From d1e6854b94bae0d3a1fb7f1afb215414136876ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Jun 2025 22:08:07 +0000 Subject: [PATCH 21/96] Update gitea/act_runner Docker tag to v0.2.12 --- apps/gitea-runner/0.2.11/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/gitea-runner/0.2.11/docker-compose.yml b/apps/gitea-runner/0.2.11/docker-compose.yml index dcd12c17f..4452a3d98 100644 --- a/apps/gitea-runner/0.2.11/docker-compose.yml +++ b/apps/gitea-runner/0.2.11/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: gitea: - image: gitea/act_runner:0.2.11 + image: gitea/act_runner:0.2.12 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 7309f81c7ec951df1468837eb61d0ce51a505dfd Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 22:08:13 +0000 Subject: [PATCH 22/96] Update app version [skip ci] --- apps/ghost/{5.127.1 => 5.127.2}/data.yml | 0 apps/ghost/{5.127.1 => 5.127.2}/docker-compose.yml | 0 apps/ghost/{5.127.1 => 5.127.2}/envs/default.env | 0 apps/ghost/{5.127.1 => 5.127.2}/envs/global.env | 0 apps/ghost/{5.127.1 => 5.127.2}/scripts/init.sh | 0 apps/ghost/{5.127.1 => 5.127.2}/scripts/uninstall.sh | 0 apps/ghost/{5.127.1 => 5.127.2}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ghost/{5.127.1 => 5.127.2}/data.yml (100%) rename apps/ghost/{5.127.1 => 5.127.2}/docker-compose.yml (100%) rename apps/ghost/{5.127.1 => 5.127.2}/envs/default.env (100%) rename apps/ghost/{5.127.1 => 5.127.2}/envs/global.env (100%) rename apps/ghost/{5.127.1 => 5.127.2}/scripts/init.sh (100%) rename apps/ghost/{5.127.1 => 5.127.2}/scripts/uninstall.sh (100%) rename apps/ghost/{5.127.1 => 5.127.2}/scripts/upgrade.sh (100%) diff --git a/apps/ghost/5.127.1/data.yml b/apps/ghost/5.127.2/data.yml similarity index 100% rename from apps/ghost/5.127.1/data.yml rename to apps/ghost/5.127.2/data.yml diff --git a/apps/ghost/5.127.1/docker-compose.yml b/apps/ghost/5.127.2/docker-compose.yml similarity index 100% rename from apps/ghost/5.127.1/docker-compose.yml rename to apps/ghost/5.127.2/docker-compose.yml diff --git a/apps/ghost/5.127.1/envs/default.env b/apps/ghost/5.127.2/envs/default.env similarity index 100% rename from apps/ghost/5.127.1/envs/default.env rename to apps/ghost/5.127.2/envs/default.env diff --git a/apps/ghost/5.127.1/envs/global.env b/apps/ghost/5.127.2/envs/global.env similarity index 100% rename from apps/ghost/5.127.1/envs/global.env rename to apps/ghost/5.127.2/envs/global.env diff --git a/apps/ghost/5.127.1/scripts/init.sh b/apps/ghost/5.127.2/scripts/init.sh similarity index 100% rename from apps/ghost/5.127.1/scripts/init.sh rename to apps/ghost/5.127.2/scripts/init.sh diff --git a/apps/ghost/5.127.1/scripts/uninstall.sh b/apps/ghost/5.127.2/scripts/uninstall.sh similarity index 100% rename from apps/ghost/5.127.1/scripts/uninstall.sh rename to apps/ghost/5.127.2/scripts/uninstall.sh diff --git a/apps/ghost/5.127.1/scripts/upgrade.sh b/apps/ghost/5.127.2/scripts/upgrade.sh similarity index 100% rename from apps/ghost/5.127.1/scripts/upgrade.sh rename to apps/ghost/5.127.2/scripts/upgrade.sh From 864497804f097c36b4411c5902b474ddc8433ce0 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Wed, 25 Jun 2025 22:08:16 +0000 Subject: [PATCH 23/96] Update app version [skip ci] --- apps/gitea-runner/{0.2.11 => 0.2.12}/data.yml | 0 apps/gitea-runner/{0.2.11 => 0.2.12}/docker-compose.yml | 0 apps/gitea-runner/{0.2.11 => 0.2.12}/envs/default.env | 0 apps/gitea-runner/{0.2.11 => 0.2.12}/envs/global.env | 0 apps/gitea-runner/{0.2.11 => 0.2.12}/scripts/init.sh | 0 apps/gitea-runner/{0.2.11 => 0.2.12}/scripts/uninstall.sh | 0 apps/gitea-runner/{0.2.11 => 0.2.12}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/gitea-runner/{0.2.11 => 0.2.12}/data.yml (100%) rename apps/gitea-runner/{0.2.11 => 0.2.12}/docker-compose.yml (100%) rename apps/gitea-runner/{0.2.11 => 0.2.12}/envs/default.env (100%) rename apps/gitea-runner/{0.2.11 => 0.2.12}/envs/global.env (100%) rename apps/gitea-runner/{0.2.11 => 0.2.12}/scripts/init.sh (100%) rename apps/gitea-runner/{0.2.11 => 0.2.12}/scripts/uninstall.sh (100%) rename apps/gitea-runner/{0.2.11 => 0.2.12}/scripts/upgrade.sh (100%) diff --git a/apps/gitea-runner/0.2.11/data.yml b/apps/gitea-runner/0.2.12/data.yml similarity index 100% rename from apps/gitea-runner/0.2.11/data.yml rename to apps/gitea-runner/0.2.12/data.yml diff --git a/apps/gitea-runner/0.2.11/docker-compose.yml b/apps/gitea-runner/0.2.12/docker-compose.yml similarity index 100% rename from apps/gitea-runner/0.2.11/docker-compose.yml rename to apps/gitea-runner/0.2.12/docker-compose.yml diff --git a/apps/gitea-runner/0.2.11/envs/default.env b/apps/gitea-runner/0.2.12/envs/default.env similarity index 100% rename from apps/gitea-runner/0.2.11/envs/default.env rename to apps/gitea-runner/0.2.12/envs/default.env diff --git a/apps/gitea-runner/0.2.11/envs/global.env b/apps/gitea-runner/0.2.12/envs/global.env similarity index 100% rename from apps/gitea-runner/0.2.11/envs/global.env rename to apps/gitea-runner/0.2.12/envs/global.env diff --git a/apps/gitea-runner/0.2.11/scripts/init.sh b/apps/gitea-runner/0.2.12/scripts/init.sh similarity index 100% rename from apps/gitea-runner/0.2.11/scripts/init.sh rename to apps/gitea-runner/0.2.12/scripts/init.sh diff --git a/apps/gitea-runner/0.2.11/scripts/uninstall.sh b/apps/gitea-runner/0.2.12/scripts/uninstall.sh similarity index 100% rename from apps/gitea-runner/0.2.11/scripts/uninstall.sh rename to apps/gitea-runner/0.2.12/scripts/uninstall.sh diff --git a/apps/gitea-runner/0.2.11/scripts/upgrade.sh b/apps/gitea-runner/0.2.12/scripts/upgrade.sh similarity index 100% rename from apps/gitea-runner/0.2.11/scripts/upgrade.sh rename to apps/gitea-runner/0.2.12/scripts/upgrade.sh From c936b332a761365e25f082d696354bfe74c1ee53 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 26 Jun 2025 01:51:07 +0000 Subject: [PATCH 24/96] Processed apps directory via GitHub Actions --- dockge/alist-aria2/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist-ffmpeg/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist/docker-compose.yml | 2 +- dockge/{alist_3_45_0 => alist_3_40_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/auto-lady/.env | 6 + dockge/auto-lady/docker-compose.yml | 6 +- dockge/auto-lady_1_4_5/.env | 15 + dockge/auto-lady_1_4_5/docker-compose.yml | 22 + .../envs/default.env | 0 .../envs/global.env | 0 dockge/bili-fetcher/docker-compose.yml | 4 +- .../.env | 0 .../config/categories.json | 0 .../config/config.yaml | 0 .../config/scheduler_config.yaml | 0 .../config/sql_statements_mysql.py | 0 .../config/sql_statements_sqlite.py | 0 .../config/template.html | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse/.env | 20 +- dockge/byte-muse/docker-compose.yml | 18 +- .../.env | 2 +- .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse_license/.env | 3 - dockge/byte-muse_license/docker-compose.yml | 14 - dockge/emby/docker-compose.yml | 2 +- dockge/{emby_4_8_11_0 => emby_4_9_1_1}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/homarr/.env | 3 - dockge/homarr/docker-compose.yml | 4 +- dockge/{homarr_0_15_10 => homarr_1_18_1}/.env | 3 + .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 .../docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-no-machine/docker-compose.yml | 27 +- .../.env | 0 .../docker-compose.yml | 27 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-server/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich/docker-compose.yml | 29 +- .../{immich_1_135_3 => immich_1_132_3}/.env | 0 .../docker-compose.yml | 29 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/postgresql/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/qbittorrent/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/redis/config/redis.conf | 759 +++++------------- dockge/redis/docker-compose.yml | 2 +- dockge/{redis_6_2_18 => redis_7_4_4}/.env | 0 .../config/redis.conf | 759 +++++++++++++----- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec/docker-compose.yml | 4 +- .../{stream-rec_dev => stream-rec_main}/.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami-mysql/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami/docker-compose.yml | 2 +- dockge/{umami_2_18_1 => umami_2_16_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma/.env | 6 + dockge/uptime-kuma/docker-compose.yml | 11 +- dockge/uptime-kuma_1_23_16/.env | 12 - dockge/uptime-kuma_2_0_0/.env | 6 + .../docker-compose.yml | 11 +- .../envs/default.env | 0 .../envs/global.env | 0 110 files changed, 932 insertions(+), 932 deletions(-) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/.env (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/docker-compose.yml (94%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/envs/default.env (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/envs/global.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/docker-compose.yml (93%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/envs/default.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/envs/global.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/docker-compose.yml (94%) rename dockge/{alist_3_45_0 => alist_3_40_0}/envs/default.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/envs/global.env (100%) create mode 100644 dockge/auto-lady_1_4_5/.env create mode 100644 dockge/auto-lady_1_4_5/docker-compose.yml rename dockge/{auto-lady_1_5_3 => auto-lady_1_4_5}/envs/default.env (100%) rename dockge/{auto-lady_1_5_3 => auto-lady_1_4_5}/envs/global.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/categories.json (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/config.yaml (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/scheduler_config.yaml (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/sql_statements_mysql.py (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/sql_statements_sqlite.py (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/template.html (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/docker-compose.yml (88%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/envs/default.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/envs/global.env (100%) rename dockge/{auto-lady_1_5_3 => byte-muse_1_11_8}/.env (91%) rename dockge/{auto-lady_1_5_3 => byte-muse_1_11_8}/docker-compose.yml (91%) rename dockge/{byte-muse_license => byte-muse_1_11_8}/envs/default.env (100%) rename dockge/{byte-muse_license => byte-muse_1_11_8}/envs/global.env (100%) delete mode 100644 dockge/byte-muse_license/.env delete mode 100644 dockge/byte-muse_license/docker-compose.yml rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/.env (100%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/docker-compose.yml (96%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/envs/default.env (100%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/envs/global.env (100%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/.env (52%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/docker-compose.yml (73%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/envs/default.env (100%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/envs/global.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/docker-compose.yml (87%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/envs/default.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/envs/global.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/docker-compose.yml (54%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/envs/default.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/envs/global.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/docker-compose.yml (89%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/envs/default.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/envs/global.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/docker-compose.yml (59%) rename dockge/{immich_1_135_3 => immich_1_132_3}/envs/default.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/envs/global.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/docker-compose.yml (87%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/envs/default.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/envs/global.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/docker-compose.yml (95%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/envs/default.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/envs/global.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/config/redis.conf (72%) rename dockge/{redis_6_2_18 => redis_7_4_4}/docker-compose.yml (94%) rename dockge/{redis_6_2_18 => redis_7_4_4}/envs/default.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/envs/global.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/docker-compose.yml (92%) rename dockge/{stream-rec_dev => stream-rec_main}/envs/default.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/envs/global.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/docker-compose.yml (91%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/envs/default.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/envs/global.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/docker-compose.yml (90%) rename dockge/{umami_2_18_1 => umami_2_16_0}/envs/default.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/envs/global.env (100%) delete mode 100644 dockge/uptime-kuma_1_23_16/.env create mode 100644 dockge/uptime-kuma_2_0_0/.env rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/docker-compose.yml (57%) rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/envs/default.env (100%) rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/envs/global.env (100%) diff --git a/dockge/alist-aria2/docker-compose.yml b/dockge/alist-aria2/docker-compose.yml index a6913980a..987544dc1 100644 --- a/dockge/alist-aria2/docker-compose.yml +++ b/dockge/alist-aria2/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist-aria2:v3.40.0 + image: xhofe/alist-aria2:v3.41.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_41_0/.env b/dockge/alist-aria2_3_40_0/.env similarity index 100% rename from dockge/alist-aria2_3_41_0/.env rename to dockge/alist-aria2_3_40_0/.env diff --git a/dockge/alist-aria2_3_41_0/docker-compose.yml b/dockge/alist-aria2_3_40_0/docker-compose.yml similarity index 94% rename from dockge/alist-aria2_3_41_0/docker-compose.yml rename to dockge/alist-aria2_3_40_0/docker-compose.yml index 987544dc1..a6913980a 100644 --- a/dockge/alist-aria2_3_41_0/docker-compose.yml +++ b/dockge/alist-aria2_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist-aria2:v3.41.0 + image: qyg2297248353/alist-aria2:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_41_0/envs/default.env b/dockge/alist-aria2_3_40_0/envs/default.env similarity index 100% rename from dockge/alist-aria2_3_41_0/envs/default.env rename to dockge/alist-aria2_3_40_0/envs/default.env diff --git a/dockge/alist-aria2_3_41_0/envs/global.env b/dockge/alist-aria2_3_40_0/envs/global.env similarity index 100% rename from dockge/alist-aria2_3_41_0/envs/global.env rename to dockge/alist-aria2_3_40_0/envs/global.env diff --git a/dockge/alist-ffmpeg/docker-compose.yml b/dockge/alist-ffmpeg/docker-compose.yml index 8da9f3b40..37149a612 100644 --- a/dockge/alist-ffmpeg/docker-compose.yml +++ b/dockge/alist-ffmpeg/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0-ffmpeg + image: xhofe/alist:v3.45.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_45_0/.env b/dockge/alist-ffmpeg_3_40_0/.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/.env rename to dockge/alist-ffmpeg_3_40_0/.env diff --git a/dockge/alist-ffmpeg_3_45_0/docker-compose.yml b/dockge/alist-ffmpeg_3_40_0/docker-compose.yml similarity index 93% rename from dockge/alist-ffmpeg_3_45_0/docker-compose.yml rename to dockge/alist-ffmpeg_3_40_0/docker-compose.yml index 37149a612..8da9f3b40 100644 --- a/dockge/alist-ffmpeg_3_45_0/docker-compose.yml +++ b/dockge/alist-ffmpeg_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0-ffmpeg + image: qyg2297248353/alist:v3.40.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_45_0/envs/default.env b/dockge/alist-ffmpeg_3_40_0/envs/default.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/envs/default.env rename to dockge/alist-ffmpeg_3_40_0/envs/default.env diff --git a/dockge/alist-ffmpeg_3_45_0/envs/global.env b/dockge/alist-ffmpeg_3_40_0/envs/global.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/envs/global.env rename to dockge/alist-ffmpeg_3_40_0/envs/global.env diff --git a/dockge/alist/docker-compose.yml b/dockge/alist/docker-compose.yml index a5363b529..baa8abfb1 100644 --- a/dockge/alist/docker-compose.yml +++ b/dockge/alist/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0 + image: xhofe/alist:v3.45.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_45_0/.env b/dockge/alist_3_40_0/.env similarity index 100% rename from dockge/alist_3_45_0/.env rename to dockge/alist_3_40_0/.env diff --git a/dockge/alist_3_45_0/docker-compose.yml b/dockge/alist_3_40_0/docker-compose.yml similarity index 94% rename from dockge/alist_3_45_0/docker-compose.yml rename to dockge/alist_3_40_0/docker-compose.yml index baa8abfb1..a5363b529 100644 --- a/dockge/alist_3_45_0/docker-compose.yml +++ b/dockge/alist_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0 + image: qyg2297248353/alist:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_45_0/envs/default.env b/dockge/alist_3_40_0/envs/default.env similarity index 100% rename from dockge/alist_3_45_0/envs/default.env rename to dockge/alist_3_40_0/envs/default.env diff --git a/dockge/alist_3_45_0/envs/global.env b/dockge/alist_3_40_0/envs/global.env similarity index 100% rename from dockge/alist_3_45_0/envs/global.env rename to dockge/alist_3_40_0/envs/global.env diff --git a/dockge/auto-lady/.env b/dockge/auto-lady/.env index a6f1eb1e9..3258da058 100644 --- a/dockge/auto-lady/.env +++ b/dockge/auto-lady/.env @@ -13,3 +13,9 @@ CUSTOM_MOUNT_DIRECTORY_2= # 自定义挂载目录 3 CUSTOM_MOUNT_DIRECTORY_3= +# 网络代理地址 +HTTP_PROXY= + +# 跳过代理地址 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local + diff --git a/dockge/auto-lady/docker-compose.yml b/dockge/auto-lady/docker-compose.yml index 40b13df53..d9c6c701e 100644 --- a/dockge/auto-lady/docker-compose.yml +++ b/dockge/auto-lady/docker-compose.yml @@ -7,7 +7,11 @@ services: env_file: - ./envs/global.env - .env - image: orekiiiiiiiiiiiii/auto-lady:1.4.5 + environment: + - HTTPS_PROXY=${HTTP_PROXY} + - HTTP_PROXY=${HTTP_PROXY:-} + - NO_PROXY=${NO_PROXY:-} + image: envyafish/byte-muse:1.5.3 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/.env b/dockge/auto-lady_1_4_5/.env new file mode 100644 index 000000000..a6f1eb1e9 --- /dev/null +++ b/dockge/auto-lady_1_4_5/.env @@ -0,0 +1,15 @@ +# 数据持久化路径 [必填] +AUTO_LADY_ROOT_PATH=/home/auto-lady + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/dockge/auto-lady_1_4_5/docker-compose.yml b/dockge/auto-lady_1_4_5/docker-compose.yml new file mode 100644 index 000000000..40b13df53 --- /dev/null +++ b/dockge/auto-lady_1_4_5/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + auto-lady: + container_name: auto-lady + env_file: + - ./envs/global.env + - .env + image: orekiiiiiiiiiiiii/auto-lady:1.4.5 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + volumes: + - ${AUTO_LADY_ROOT_PATH}/config:/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/auto-lady_1_5_3/envs/default.env b/dockge/auto-lady_1_4_5/envs/default.env similarity index 100% rename from dockge/auto-lady_1_5_3/envs/default.env rename to dockge/auto-lady_1_4_5/envs/default.env diff --git a/dockge/auto-lady_1_5_3/envs/global.env b/dockge/auto-lady_1_4_5/envs/global.env similarity index 100% rename from dockge/auto-lady_1_5_3/envs/global.env rename to dockge/auto-lady_1_4_5/envs/global.env diff --git a/dockge/bili-fetcher/docker-compose.yml b/dockge/bili-fetcher/docker-compose.yml index c68c76b14..d6ac7c0ac 100644 --- a/dockge/bili-fetcher/docker-compose.yml +++ b/dockge/bili-fetcher/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:latest + image: qyg2297248353/bili-fetcher:v1.6.0 networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:latest + image: qyg2297248353/bili-fetcher-web:v1.6.0 labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_0/.env b/dockge/bili-fetcher_latest/.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/.env rename to dockge/bili-fetcher_latest/.env diff --git a/dockge/bili-fetcher_1_6_0/config/categories.json b/dockge/bili-fetcher_latest/config/categories.json similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/categories.json rename to dockge/bili-fetcher_latest/config/categories.json diff --git a/dockge/bili-fetcher_1_6_0/config/config.yaml b/dockge/bili-fetcher_latest/config/config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/config.yaml rename to dockge/bili-fetcher_latest/config/config.yaml diff --git a/dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml b/dockge/bili-fetcher_latest/config/scheduler_config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml rename to dockge/bili-fetcher_latest/config/scheduler_config.yaml diff --git a/dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py b/dockge/bili-fetcher_latest/config/sql_statements_mysql.py similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py rename to dockge/bili-fetcher_latest/config/sql_statements_mysql.py diff --git a/dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py b/dockge/bili-fetcher_latest/config/sql_statements_sqlite.py similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py rename to dockge/bili-fetcher_latest/config/sql_statements_sqlite.py diff --git a/dockge/bili-fetcher_1_6_0/config/template.html b/dockge/bili-fetcher_latest/config/template.html similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/template.html rename to dockge/bili-fetcher_latest/config/template.html diff --git a/dockge/bili-fetcher_1_6_0/docker-compose.yml b/dockge/bili-fetcher_latest/docker-compose.yml similarity index 88% rename from dockge/bili-fetcher_1_6_0/docker-compose.yml rename to dockge/bili-fetcher_latest/docker-compose.yml index d6ac7c0ac..c68c76b14 100644 --- a/dockge/bili-fetcher_1_6_0/docker-compose.yml +++ b/dockge/bili-fetcher_latest/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:v1.6.0 + image: qyg2297248353/bili-fetcher:latest networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:v1.6.0 + image: qyg2297248353/bili-fetcher-web:latest labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_0/envs/default.env b/dockge/bili-fetcher_latest/envs/default.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/envs/default.env rename to dockge/bili-fetcher_latest/envs/default.env diff --git a/dockge/bili-fetcher_1_6_0/envs/global.env b/dockge/bili-fetcher_latest/envs/global.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/envs/global.env rename to dockge/bili-fetcher_latest/envs/global.env diff --git a/dockge/byte-muse/.env b/dockge/byte-muse/.env index 7198039bd..e633719fd 100644 --- a/dockge/byte-muse/.env +++ b/dockge/byte-muse/.env @@ -1,21 +1,3 @@ -# 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/byte-muse - # WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8080 - -# 自定义挂载目录 1 -CUSTOM_MOUNT_DIRECTORY_1= - -# 自定义挂载目录 2 -CUSTOM_MOUNT_DIRECTORY_2= - -# 自定义挂载目录 3 -CUSTOM_MOUNT_DIRECTORY_3= - -# 网络代理地址 -HTTP_PROXY= - -# 跳过代理地址 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local +PANEL_APP_PORT_HTTP=5000 diff --git a/dockge/byte-muse/docker-compose.yml b/dockge/byte-muse/docker-compose.yml index 3eb8188b7..e70ac8e43 100644 --- a/dockge/byte-muse/docker-compose.yml +++ b/dockge/byte-muse/docker-compose.yml @@ -2,25 +2,13 @@ networks: 1panel-network: external: true services: - auto-lady: + byte-muse-license: container_name: byte-muse - env_file: - - ./envs/global.env - - .env - environment: - - HTTPS_PROXY=${HTTP_PROXY} - - HTTP_PROXY=${HTTP_PROXY:-} - - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.11.8 + image: envyafish/byte-muse-license:latest labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:80 + - ${PANEL_APP_PORT_HTTP}:5000 restart: always - volumes: - - ${AUTO_LADY_ROOT_PATH}/config:/data - - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} - - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} - - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/auto-lady_1_5_3/.env b/dockge/byte-muse_1_11_8/.env similarity index 91% rename from dockge/auto-lady_1_5_3/.env rename to dockge/byte-muse_1_11_8/.env index 3258da058..7198039bd 100644 --- a/dockge/auto-lady_1_5_3/.env +++ b/dockge/byte-muse_1_11_8/.env @@ -1,5 +1,5 @@ # 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/auto-lady +AUTO_LADY_ROOT_PATH=/home/byte-muse # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=8080 diff --git a/dockge/auto-lady_1_5_3/docker-compose.yml b/dockge/byte-muse_1_11_8/docker-compose.yml similarity index 91% rename from dockge/auto-lady_1_5_3/docker-compose.yml rename to dockge/byte-muse_1_11_8/docker-compose.yml index d9c6c701e..3eb8188b7 100644 --- a/dockge/auto-lady_1_5_3/docker-compose.yml +++ b/dockge/byte-muse_1_11_8/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: auto-lady: - container_name: auto-lady + container_name: byte-muse env_file: - ./envs/global.env - .env @@ -11,7 +11,7 @@ services: - HTTPS_PROXY=${HTTP_PROXY} - HTTP_PROXY=${HTTP_PROXY:-} - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.5.3 + image: envyafish/byte-muse:1.11.8 labels: createdBy: Apps networks: diff --git a/dockge/byte-muse_license/envs/default.env b/dockge/byte-muse_1_11_8/envs/default.env similarity index 100% rename from dockge/byte-muse_license/envs/default.env rename to dockge/byte-muse_1_11_8/envs/default.env diff --git a/dockge/byte-muse_license/envs/global.env b/dockge/byte-muse_1_11_8/envs/global.env similarity index 100% rename from dockge/byte-muse_license/envs/global.env rename to dockge/byte-muse_1_11_8/envs/global.env diff --git a/dockge/byte-muse_license/.env b/dockge/byte-muse_license/.env deleted file mode 100644 index e633719fd..000000000 --- a/dockge/byte-muse_license/.env +++ /dev/null @@ -1,3 +0,0 @@ -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=5000 - diff --git a/dockge/byte-muse_license/docker-compose.yml b/dockge/byte-muse_license/docker-compose.yml deleted file mode 100644 index e70ac8e43..000000000 --- a/dockge/byte-muse_license/docker-compose.yml +++ /dev/null @@ -1,14 +0,0 @@ -networks: - 1panel-network: - external: true -services: - byte-muse-license: - container_name: byte-muse - image: envyafish/byte-muse-license:latest - labels: - createdBy: Apps - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:5000 - restart: always diff --git a/dockge/emby/docker-compose.yml b/dockge/emby/docker-compose.yml index e2d892aa1..a461e63ac 100644 --- a/dockge/emby/docker-compose.yml +++ b/dockge/emby/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_8_11_0/.env b/dockge/emby_4_9_1_1/.env similarity index 100% rename from dockge/emby_4_8_11_0/.env rename to dockge/emby_4_9_1_1/.env diff --git a/dockge/emby_4_8_11_0/docker-compose.yml b/dockge/emby_4_9_1_1/docker-compose.yml similarity index 96% rename from dockge/emby_4_8_11_0/docker-compose.yml rename to dockge/emby_4_9_1_1/docker-compose.yml index a461e63ac..e2d892aa1 100644 --- a/dockge/emby_4_8_11_0/docker-compose.yml +++ b/dockge/emby_4_9_1_1/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.8.11.0 + image: emby/embyserver:4.9.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_8_11_0/envs/default.env b/dockge/emby_4_9_1_1/envs/default.env similarity index 100% rename from dockge/emby_4_8_11_0/envs/default.env rename to dockge/emby_4_9_1_1/envs/default.env diff --git a/dockge/emby_4_8_11_0/envs/global.env b/dockge/emby_4_9_1_1/envs/global.env similarity index 100% rename from dockge/emby_4_8_11_0/envs/global.env rename to dockge/emby_4_9_1_1/envs/global.env diff --git a/dockge/homarr/.env b/dockge/homarr/.env index 39cbf2014..ab5a7db42 100644 --- a/dockge/homarr/.env +++ b/dockge/homarr/.env @@ -4,6 +4,3 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 -# 密钥 [必填] -SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 - diff --git a/dockge/homarr/docker-compose.yml b/dockge/homarr/docker-compose.yml index c9303a621..3b26c2c66 100644 --- a/dockge/homarr/docker-compose.yml +++ b/dockge/homarr/docker-compose.yml @@ -16,4 +16,6 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/appdata:/appdata + - ${HOMARR_ROOT_PATH}/configs:/app/data/configs + - ${HOMARR_ROOT_PATH}/icons:/app/public/icons + - ${HOMARR_ROOT_PATH}/data:/data diff --git a/dockge/homarr_0_15_10/.env b/dockge/homarr_1_18_1/.env similarity index 52% rename from dockge/homarr_0_15_10/.env rename to dockge/homarr_1_18_1/.env index ab5a7db42..39cbf2014 100644 --- a/dockge/homarr_0_15_10/.env +++ b/dockge/homarr_1_18_1/.env @@ -4,3 +4,6 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 +# 密钥 [必填] +SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 + diff --git a/dockge/homarr_0_15_10/docker-compose.yml b/dockge/homarr_1_18_1/docker-compose.yml similarity index 73% rename from dockge/homarr_0_15_10/docker-compose.yml rename to dockge/homarr_1_18_1/docker-compose.yml index 3b26c2c66..c9303a621 100644 --- a/dockge/homarr_0_15_10/docker-compose.yml +++ b/dockge/homarr_1_18_1/docker-compose.yml @@ -16,6 +16,4 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/configs:/app/data/configs - - ${HOMARR_ROOT_PATH}/icons:/app/public/icons - - ${HOMARR_ROOT_PATH}/data:/data + - ${HOMARR_ROOT_PATH}/appdata:/appdata diff --git a/dockge/homarr_0_15_10/envs/default.env b/dockge/homarr_1_18_1/envs/default.env similarity index 100% rename from dockge/homarr_0_15_10/envs/default.env rename to dockge/homarr_1_18_1/envs/default.env diff --git a/dockge/homarr_0_15_10/envs/global.env b/dockge/homarr_1_18_1/envs/global.env similarity index 100% rename from dockge/homarr_0_15_10/envs/global.env rename to dockge/homarr_1_18_1/envs/global.env diff --git a/dockge/immich-machine-learning/docker-compose.yml b/dockge/immich-machine-learning/docker-compose.yml index 0c0530ffe..8aa758179 100644 --- a/dockge/immich-machine-learning/docker-compose.yml +++ b/dockge/immich-machine-learning/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_135_3/.env b/dockge/immich-machine-learning_1_132_3/.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/.env rename to dockge/immich-machine-learning_1_132_3/.env diff --git a/dockge/immich-machine-learning_1_135_3/docker-compose.yml b/dockge/immich-machine-learning_1_132_3/docker-compose.yml similarity index 87% rename from dockge/immich-machine-learning_1_135_3/docker-compose.yml rename to dockge/immich-machine-learning_1_132_3/docker-compose.yml index 8aa758179..0c0530ffe 100644 --- a/dockge/immich-machine-learning_1_135_3/docker-compose.yml +++ b/dockge/immich-machine-learning_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_135_3/envs/default.env b/dockge/immich-machine-learning_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/envs/default.env rename to dockge/immich-machine-learning_1_132_3/envs/default.env diff --git a/dockge/immich-machine-learning_1_135_3/envs/global.env b/dockge/immich-machine-learning_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/envs/global.env rename to dockge/immich-machine-learning_1_132_3/envs/global.env diff --git a/dockge/immich-no-machine/docker-compose.yml b/dockge/immich-no-machine/docker-compose.yml index 0ad713e57..b174763a8 100644 --- a/dockge/immich-no-machine/docker-compose.yml +++ b/dockge/immich-no-machine/docker-compose.yml @@ -4,36 +4,13 @@ networks: external: true services: immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -52,7 +29,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_135_3/.env b/dockge/immich-no-machine_1_132_3/.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/.env rename to dockge/immich-no-machine_1_132_3/.env diff --git a/dockge/immich-no-machine_1_135_3/docker-compose.yml b/dockge/immich-no-machine_1_132_3/docker-compose.yml similarity index 54% rename from dockge/immich-no-machine_1_135_3/docker-compose.yml rename to dockge/immich-no-machine_1_132_3/docker-compose.yml index b174763a8..0ad713e57 100644 --- a/dockge/immich-no-machine_1_135_3/docker-compose.yml +++ b/dockge/immich-no-machine_1_132_3/docker-compose.yml @@ -4,13 +4,36 @@ networks: external: true services: immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -29,7 +52,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_135_3/envs/default.env b/dockge/immich-no-machine_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/envs/default.env rename to dockge/immich-no-machine_1_132_3/envs/default.env diff --git a/dockge/immich-no-machine_1_135_3/envs/global.env b/dockge/immich-no-machine_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/envs/global.env rename to dockge/immich-no-machine_1_132_3/envs/global.env diff --git a/dockge/immich-server/docker-compose.yml b/dockge/immich-server/docker-compose.yml index 1f7695a07..a6a472d9a 100644 --- a/dockge/immich-server/docker-compose.yml +++ b/dockge/immich-server/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_135_3/.env b/dockge/immich-server_1_132_3/.env similarity index 100% rename from dockge/immich-server_1_135_3/.env rename to dockge/immich-server_1_132_3/.env diff --git a/dockge/immich-server_1_135_3/docker-compose.yml b/dockge/immich-server_1_132_3/docker-compose.yml similarity index 89% rename from dockge/immich-server_1_135_3/docker-compose.yml rename to dockge/immich-server_1_132_3/docker-compose.yml index a6a472d9a..1f7695a07 100644 --- a/dockge/immich-server_1_135_3/docker-compose.yml +++ b/dockge/immich-server_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_135_3/envs/default.env b/dockge/immich-server_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-server_1_135_3/envs/default.env rename to dockge/immich-server_1_132_3/envs/default.env diff --git a/dockge/immich-server_1_135_3/envs/global.env b/dockge/immich-server_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-server_1_135_3/envs/global.env rename to dockge/immich-server_1_132_3/envs/global.env diff --git a/dockge/immich/docker-compose.yml b/dockge/immich/docker-compose.yml index 44a2398ec..680035b9c 100644 --- a/dockge/immich/docker-compose.yml +++ b/dockge/immich/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: @@ -21,36 +21,13 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -68,7 +45,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_135_3/.env b/dockge/immich_1_132_3/.env similarity index 100% rename from dockge/immich_1_135_3/.env rename to dockge/immich_1_132_3/.env diff --git a/dockge/immich_1_135_3/docker-compose.yml b/dockge/immich_1_132_3/docker-compose.yml similarity index 59% rename from dockge/immich_1_135_3/docker-compose.yml rename to dockge/immich_1_132_3/docker-compose.yml index 680035b9c..44a2398ec 100644 --- a/dockge/immich_1_135_3/docker-compose.yml +++ b/dockge/immich_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: @@ -21,13 +21,36 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -45,7 +68,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_135_3/envs/default.env b/dockge/immich_1_132_3/envs/default.env similarity index 100% rename from dockge/immich_1_135_3/envs/default.env rename to dockge/immich_1_132_3/envs/default.env diff --git a/dockge/immich_1_135_3/envs/global.env b/dockge/immich_1_132_3/envs/global.env similarity index 100% rename from dockge/immich_1_135_3/envs/global.env rename to dockge/immich_1_132_3/envs/global.env diff --git a/dockge/postgresql/docker-compose.yml b/dockge/postgresql/docker-compose.yml index 6826af067..aad82d79a 100644 --- a/dockge/postgresql/docker-compose.yml +++ b/dockge/postgresql/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: pg16-alpine-postgresql + container_name: postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16-alpine + image: postgres:16.9-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_16_9-alpine/.env b/dockge/postgresql_pg16-alpine/.env similarity index 100% rename from dockge/postgresql_16_9-alpine/.env rename to dockge/postgresql_pg16-alpine/.env diff --git a/dockge/postgresql_16_9-alpine/docker-compose.yml b/dockge/postgresql_pg16-alpine/docker-compose.yml similarity index 87% rename from dockge/postgresql_16_9-alpine/docker-compose.yml rename to dockge/postgresql_pg16-alpine/docker-compose.yml index aad82d79a..6826af067 100644 --- a/dockge/postgresql_16_9-alpine/docker-compose.yml +++ b/dockge/postgresql_pg16-alpine/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: postgresql + container_name: pg16-alpine-postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16.9-alpine + image: postgres:16-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_16_9-alpine/envs/default.env b/dockge/postgresql_pg16-alpine/envs/default.env similarity index 100% rename from dockge/postgresql_16_9-alpine/envs/default.env rename to dockge/postgresql_pg16-alpine/envs/default.env diff --git a/dockge/postgresql_16_9-alpine/envs/global.env b/dockge/postgresql_pg16-alpine/envs/global.env similarity index 100% rename from dockge/postgresql_16_9-alpine/envs/global.env rename to dockge/postgresql_pg16-alpine/envs/global.env diff --git a/dockge/qbittorrent/docker-compose.yml b/dockge/qbittorrent/docker-compose.yml index 5ec4b458b..5dd224da4 100644 --- a/dockge/qbittorrent/docker-compose.yml +++ b/dockge/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:4.6.7 + image: linuxserver/qbittorrent:5.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_1/.env b/dockge/qbittorrent_4_6_7/.env similarity index 100% rename from dockge/qbittorrent_5_1_1/.env rename to dockge/qbittorrent_4_6_7/.env diff --git a/dockge/qbittorrent_5_1_1/docker-compose.yml b/dockge/qbittorrent_4_6_7/docker-compose.yml similarity index 95% rename from dockge/qbittorrent_5_1_1/docker-compose.yml rename to dockge/qbittorrent_4_6_7/docker-compose.yml index 5dd224da4..5ec4b458b 100644 --- a/dockge/qbittorrent_5_1_1/docker-compose.yml +++ b/dockge/qbittorrent_4_6_7/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:5.1.1 + image: linuxserver/qbittorrent:4.6.7 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_1/envs/default.env b/dockge/qbittorrent_4_6_7/envs/default.env similarity index 100% rename from dockge/qbittorrent_5_1_1/envs/default.env rename to dockge/qbittorrent_4_6_7/envs/default.env diff --git a/dockge/qbittorrent_5_1_1/envs/global.env b/dockge/qbittorrent_4_6_7/envs/global.env similarity index 100% rename from dockge/qbittorrent_5_1_1/envs/global.env rename to dockge/qbittorrent_4_6_7/envs/global.env diff --git a/dockge/redis/config/redis.conf b/dockge/redis/config/redis.conf index 8795ae291..ca22ec9f6 100644 --- a/dockge/redis/config/redis.conf +++ b/dockge/redis/config/redis.conf @@ -32,17 +32,8 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # -# Included paths may contain wildcards. All files matching the wildcards will -# be included in alphabetical order. -# Note that if an include path contains a wildcards but no files match it when -# the server is started, the include statement will be ignored and no error will -# be emitted. It is safe, therefore, to include wildcard files from empty -# directories. -# # include /path/to/local.conf # include /path/to/other.conf -# include /path/to/fragments/*.conf -# ################################## MODULES ##################################### @@ -58,81 +49,43 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. -# Each address can be prefixed by "-", which means that redis will not fail to -# start if the address is not available. Being not available only refers to -# addresses that does not correspond to any network interface. Addresses that -# are already in use will always fail, and unsupported protocols will always BE -# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses -# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 -# bind * -::* # like the default, all available interfaces +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis -# will only be able to accept client connections from the same host that it is -# running on). +# IPv4 loopback interface address (this means Redis will only be able to +# accept client connections from the same host that it is running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# COMMENT OUT THE FOLLOWING LINE. -# -# You will also need to set a password unless you explicitly disable protected -# mode. +# JUST COMMENT OUT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 -# By default, outgoing connections (from replica to master, from Sentinel to -# instances, cluster bus, etc.) are not bound to a specific local address. In -# most cases, this means the operating system will handle that based on routing -# and the interface through which the connection goes out. -# -# Using bind-source-addr it is possible to configure a specific address to bind -# to, which may also affect how the connection gets routed. -# -# Example: -# -# bind-source-addr 10.0.0.1 - # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and the default user has no password, the server -# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address -# (::1) or Unix domain sockets. +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured. +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. protected-mode yes -# Redis uses default hardened security configuration directives to reduce the -# attack surface on innocent users. Therefore, several sensitive configuration -# directives are immutable, and some potentially-dangerous commands are blocked. -# -# Configuration directives that control files that Redis writes to (e.g., 'dir' -# and 'dbfilename') and that aren't usually modified during runtime -# are protected by making them immutable. -# -# Commands that can increase the attack surface of Redis and that aren't usually -# called by users are blocked by default. -# -# These can be exposed to either all connections or just local ones by setting -# each of the configs listed below to either of these values: -# -# no - Block for any connection (remain immutable) -# yes - Allow for any connection (no protection) -# local - Allow only for local connections. Ones originating from the -# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. -# -# enable-protected-configs no -# enable-debug-command no -# enable-module-command no - # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -152,7 +105,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /run/redis.sock +# unixsocket /tmp/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -175,16 +128,6 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 -# Apply OS-specific mechanism to mark the listening socket with the specified -# ID, to support advanced routing and filtering capabilities. -# -# On Linux, the ID represents a connection mark. -# On FreeBSD, the ID represents a socket cookie ID. -# On OpenBSD, the ID represents a route table ID. -# -# The default value is 0, which implies no marking is required. -# socket-mark-id 0 - ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -200,32 +143,8 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret -# Normally Redis uses the same certificate for both server functions (accepting -# connections) and client functions (replicating from a master, establishing -# cluster bus connections, etc.). -# -# Sometimes certificates are issued with attributes that designate them as -# client-only or server-only certificates. In that case it may be desired to use -# different certificates for incoming (server) and outgoing (client) -# connections. To do that, use the following directives: -# -# tls-client-cert-file client.crt -# tls-client-key-file client.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-client-key-file-pass secret - -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, -# required by older versions of OpenSSL (<3.0). Newer versions do not require -# this configuration and recommend against it. +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: # # tls-dh-params-file redis.dh @@ -258,12 +177,9 @@ tcp-keepalive 300 # # tls-cluster yes -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: +# Explicitly specify TLS versions to support. Allowed values are case insensitive +# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or +# any combination. To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -305,7 +221,6 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -314,17 +229,11 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# on startup, and updating Redis status on a regular -# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -# -# The default is "no". To run under upstart/systemd, you can simply uncomment -# the line below: -# -# supervised auto +supervised no # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -335,9 +244,6 @@ daemonize no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. -# -# Note that on modern Linux systems "/run/redis.pid" is more conforming -# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -363,74 +269,44 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 -# To disable the built in crash log, which will possibly produce cleaner core -# dumps when they are needed, uncomment the following: -# -# crash-log-enabled no - -# To disable the fast memory check that's run as part of the crash log, which -# will possibly let redis terminate sooner, uncomment the following: -# -# crash-memcheck-enabled no - # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY and syslog logging is -# disabled. Basically this means that normally a logo is displayed only in -# interactive sessions. +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo no - -# By default, Redis modifies the process title (as seen in 'top' and 'ps') to -# provide some runtime information. It is possible to disable this and leave -# the process name as executed by setting the following to no. -set-proc-title yes - -# When changing the process title, Redis uses the following template to construct -# the modified title. -# -# Template variables are specified in curly brackets. The following variables are -# supported: -# -# {title} Name of process as executed if parent, or type of child process. -# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or -# Unix socket if only that's available. -# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". -# {port} TCP port listening on, or 0. -# {tls-port} TLS port listening on, or 0. -# {unixsocket} Unix domain socket listening on, or "". -# {config-file} Name of configuration file used. -# -proc-title-template "{title} {listen-addr} {server-mode}" +always-show-logo yes ################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behavior will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" -# Save the DB to disk. -# -# save [ ...] -# -# Redis will save the DB if the given number of seconds elapsed and it -# surpassed the given number of write operations against the DB. -# -# Snapshotting can be completely disabled with a single empty string argument -# as in following example: -# -# save "" -# -# Unless specified otherwise, by default Redis will save the DB: -# * After 3600 seconds (an hour) if at least 1 change was performed -# * After 300 seconds (5 minutes) if at least 100 changes were performed -# * After 60 seconds if at least 10000 changes were performed -# -# You can set these explicitly by uncommenting the following line. -# -# save 3600 1 300 100 60 10000 +save 900 1 +save 300 10 +save 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -462,21 +338,6 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes -# Enables or disables full sanitization checks for ziplist and listpack etc when -# loading an RDB or RESTORE payload. This reduces the chances of a assertion or -# crash later on while processing commands. -# Options: -# no - Never perform full sanitization -# yes - Always perform full sanitization -# clients - Perform full sanitization only for user connections. -# Excludes: RDB files, RESTORE commands received from the master -# connection, and client connections which have the -# skip-sanitize-payload ACL flag. -# The default should be 'clients' but since it currently affects cluster -# resharding via MIGRATE, it is temporarily set to 'no' by default. -# -# sanitize-dump-payload no - # The filename where to dump the DB dbfilename dump.rdb @@ -551,10 +412,9 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error -# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" -# to all data access commands, excluding commands such as: -# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -603,7 +463,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync yes +repl-diskless-sync no # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -617,18 +477,12 @@ repl-diskless-sync yes # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 -# When diskless replication is enabled with a delay, it is possible to let -# the replication start before the maximum delay is reached if the maximum -# number of replicas expected have connected. Default of 0 means that the -# maximum is not defined and Redis will wait the full delay. -repl-diskless-sync-max-replicas 0 - # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if you know what you are doing. +# stage with the master. Use only if your do what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -637,23 +491,19 @@ repl-diskless-sync-max-replicas 0 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and replica buffers). +# Copy on Write memory and salve buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep current db contents in RAM while parsing the data directly -# from the socket. Replicas in this mode can keep serving current -# data set while replication is in progress, except for cases where -# they can't recognize master as having a data set from same -# replication history. -# Note that this requires sufficient memory, if you don't have it, -# you risk an OOM kill. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. repl-diskless-load disabled -# Master send PINGs to its replicas in a predefined interval. It's possible to +# Replicas send PINGs to server in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -728,43 +578,6 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 -# The propagation error behavior controls how Redis will behave when it is -# unable to handle a command being processed in the replication stream from a master -# or processed while reading from an AOF file. Errors that occur during propagation -# are unexpected, and can cause data inconsistency. However, there are edge cases -# in earlier versions of Redis where it was possible for the server to replicate or persist -# commands that would fail on future versions. For this reason the default behavior -# is to ignore such errors and continue processing commands. -# -# If an application wants to ensure there is no data divergence, this configuration -# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' -# to only panic when a replica encounters an error on the replication stream. One of -# these two panic values will become the default value in the future once there are -# sufficient safety mechanisms in place to prevent false positive crashes. -# -# propagation-error-behavior ignore - -# Replica ignore disk write errors controls the behavior of a replica when it is -# unable to persist a write command received from its master to disk. By default, -# this configuration is set to 'no' and will crash the replica in this condition. -# It is not recommended to change this default, however in order to be compatible -# with older versions of Redis this config can be toggled to 'yes' which will just -# log a warning and execute the write command it got from the master. -# -# replica-ignore-disk-write-errors no - -# ----------------------------------------------------------------------------- -# By default, Redis Sentinel includes all replicas in its reports. A replica -# can be excluded from Redis Sentinel's announcements. An unannounced replica -# will be ignored by the 'sentinel replicas ' command and won't be -# exposed to Redis Sentinel's clients. -# -# This option does not change the behavior of replica-priority. Even with -# replica-announced set to 'no', the replica can be promoted to master. To -# prevent this behavior, set replica-priority to 0. -# -# replica-announced yes - # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -820,7 +633,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# a radix key indexed by key name, what clients have which keys. In turn +# 16 millions of slots, what clients may have certain subsets of keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -884,12 +697,8 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. -# sanitize-payload RESTORE dump-payload is sanitized (default). -# + Allow the execution of that command. -# May be used with `|` for allowing subcommands (e.g "+config|get") -# - Disallow the execution of that command. -# May be used with `|` for blocking subcommands (e.g "-config|set") +# + Allow the execution of that command +# - Disallow the execution of that command # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -897,11 +706,10 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|first-arg Allow a specific first argument of an otherwise -# disabled command. It is only supported on commands with -# no sub-commands, and is not allowed as negative form -# like -SELECT|1, only additive starting with "+". This -# feature is deprecated and may be removed in the future. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -909,17 +717,8 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. -# %R~ Add key read pattern that specifies which keys can be read -# from. -# %W~ Add key write pattern that specifies which keys can be -# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. -# & Add a glob-style pattern of Pub/Sub channels that can be -# accessed by the user. It is possible to specify multiple channel -# patterns. -# allchannels Alias for &* -# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -938,14 +737,6 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. -# () Create a new selector with the options specified within the -# parentheses and attach it to the user. Each option should be -# space separated. The first character must be ( and the last -# character must be ). -# clearselectors Remove all of the currently attached selectors. -# Note this does not change the "root" user permissions, -# which are the permissions directly applied onto the -# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -967,40 +758,6 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # -# The following is a list of command categories and their meanings: -# * keyspace - Writing or reading from keys, databases, or their metadata -# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, -# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, -# key or metadata will also have `write` category. Commands that only read -# the keyspace, key or metadata will have the `read` category. -# * read - Reading from keys (values or metadata). Note that commands that don't -# interact with keys, will not have either `read` or `write`. -# * write - Writing to keys (values or metadata) -# * admin - Administrative commands. Normal applications will never need to use -# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. -# * dangerous - Potentially dangerous (each should be considered with care for -# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, -# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. -# * connection - Commands affecting the connection or other connections. -# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. -# * blocking - Potentially blocking the connection until released by another -# command. -# * fast - Fast O(1) commands. May loop on the number of arguments, but not the -# number of elements in the key. -# * slow - All commands that are not Fast. -# * pubsub - PUBLISH / SUBSCRIBE related -# * transaction - WATCH / MULTI / EXEC related commands. -# * scripting - Scripting related. -# * set - Data type: sets related. -# * sortedset - Data type: zsets related. -# * list - Data type: lists related. -# * hash - Data type: hashes related. -# * string - Data type: strings related. -# * bitmap - Data type: bitmaps related. -# * hyperloglog - Data type: hyperloglog related. -# * geo - Data type: geo related. -# * stream - Data type: streams related. -# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -1030,24 +787,8 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # -# The requirepass is not compatible with aclfile option and the ACL LOAD -# command, these will cause requirepass to be ignored. -# # requirepass foobared -# New users are initialized with restrictive permissions by default, via the -# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it -# is possible to manage access to Pub/Sub channels with ACL rules as well. The -# default Pub/Sub channels permission if new users is controlled by the -# acl-pubsub-default configuration directive, which accepts one of these values: -# -# allchannels: grants access to all Pub/Sub channels -# resetchannels: revokes access to all Pub/Sub channels -# -# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. -# -# acl-pubsub-default resetchannels - # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -1136,12 +877,14 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, when there are no suitable keys for -# eviction, Redis will return an error on write operations that require -# more memory. These are usually commands that create new keys, add data or -# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, -# SORT (due to the STORE argument), and EXEC (if the transaction includes any -# command that requires memory). +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort # # The default is: # @@ -1158,14 +901,6 @@ acllog-max-len 128 # # maxmemory-samples 5 -# Eviction processing is designed to function well with the default setting. -# If there is an unusually large amount of write traffic, this value may need to -# be increased. Decreasing this value may reduce latency at the risk of -# eviction processing effectiveness -# 0 = minimum latency, 10 = default, 100 = process without regard to latency -# -# maxmemory-eviction-tenacity 10 - # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -1259,13 +994,6 @@ replica-lazy-flush no lazyfree-lazy-user-del no -# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous -# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the -# commands. When neither flag is passed, this directive will be used to determine -# if the data should be deleted asynchronously. - -lazyfree-lazy-user-flush no - ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1304,7 +1032,7 @@ lazyfree-lazy-user-flush no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Also, this feature currently does not work when SSL is +# CONFIG SET. Aso this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1322,7 +1050,7 @@ lazyfree-lazy-user-flush no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports these options: +# Redis supports three options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1343,19 +1071,6 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 - -#################### KERNEL transparent hugepage CONTROL ###################### - -# Usually the kernel Transparent Huge Pages control is set to "madvise" or -# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which -# case this config has no effect. On systems in which it is set to "always", -# redis will attempt to disable it specifically for the redis process in order -# to avoid latency problems specifically with fork(2) and CoW. -# If for some reason you prefer to keep it enabled, you can set this config to -# "no" and the kernel global to "always". - -disable-thp yes - ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1374,43 +1089,14 @@ disable-thp yes # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check https://redis.io/topics/persistence for more information. +# Please check http://redis.io/topics/persistence for more information. appendonly no -# The base name of the append only file. -# -# Redis 7 and newer use a set of append-only files to persist the dataset -# and changes applied to it. There are two basic types of files in use: -# -# - Base files, which are a snapshot representing the complete state of the -# dataset at the time the file was created. Base files can be either in -# the form of RDB (binary serialized) or AOF (textual commands). -# - Incremental files, which contain additional commands that were applied -# to the dataset following the previous file. -# -# In addition, manifest files are used to track the files and the order in -# which they were created and should be applied. -# -# Append-only file names are created by Redis following a specific pattern. -# The file name's prefix is based on the 'appendfilename' configuration -# parameter, followed by additional information about the sequence and type. -# -# For example, if appendfilename is set to appendonly.aof, the following file -# names could be derived: -# -# - appendonly.aof.1.base.rdb as a base file. -# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. -# - appendonly.aof.manifest as a manifest file. +# The name of the append only file (default: "appendonly.aof") appendfilename "appendonly.aof" -# For convenience, Redis stores all persistent append-only files in a dedicated -# directory. The name of the directory is determined by the appenddirname -# configuration parameter. - -appenddirname "appendonlydir" - # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1450,7 +1136,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync no". In practical terms, this means that it is +# the same as "appendfsync none". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1503,69 +1189,34 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# Redis can create append-only base files in either RDB or AOF formats. Using -# the RDB format is always faster and more efficient, and disabling it is only -# supported for backward compatibility purposes. +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. aof-use-rdb-preamble yes -# Redis supports recording timestamp annotations in the AOF to support restoring -# the data from a specific point-in-time. However, using this capability changes -# the AOF format in a way that may not be compatible with existing AOF parsers. -aof-timestamp-enabled no +################################ LUA SCRIPTING ############################### -################################ SHUTDOWN ##################################### - -# Maximum time to wait for replicas when shutting down, in seconds. +# Max execution time of a Lua script in milliseconds. # -# During shut down, a grace period allows any lagging replicas to catch up with -# the latest replication offset before the master exists. This period can -# prevent data loss, especially for deployments without configured disk backups. +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. # -# The 'shutdown-timeout' value is the grace period's duration in seconds. It is -# only applicable when the instance has replicas. To disable the feature, set -# the value to 0. +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. # -# shutdown-timeout 10 - -# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default -# an RDB snapshot is written to disk in a blocking operation if save points are configured. -# The options used on signaled shutdown can include the following values: -# default: Saves RDB snapshot only if save points are configured. -# Waits for lagging replicas to catch up. -# save: Forces a DB saving operation even if no save points are configured. -# nosave: Prevents DB saving operation even if one or more save points are configured. -# now: Skips waiting for lagging replicas. -# force: Ignores any errors that would normally prevent the server from exiting. -# -# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. -# Example: "nosave force now" -# -# shutdown-on-sigint default -# shutdown-on-sigterm default - -################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### - -# Maximum time in milliseconds for EVAL scripts, functions and in some cases -# modules' commands before Redis can start processing or rejecting other clients. -# -# If the maximum execution time is reached Redis will start to reply to most -# commands with a BUSY error. -# -# In this state Redis will only allow a handful of commands to be executed. -# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some -# module specific 'allow-busy' commands. -# -# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not -# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop -# the server in the case a write command was already issued by the script when -# the user doesn't want to wait for the natural termination of the script. -# -# The default is 5 seconds. It is possible to set it to 0 or a negative value -# to disable this mechanism (uninterrupted execution). Note that in the past -# this config had a different name, which is now an alias, so both of these do -# the same: -# lua-time-limit 5000 -# busy-reply-threshold 5000 +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 ################################ REDIS CLUSTER ############################### @@ -1589,11 +1240,6 @@ aof-timestamp-enabled no # # cluster-node-timeout 15000 -# The cluster port is the port that the cluster bus will listen for inbound connections on. When set -# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires -# you to specify the cluster bus port when executing cluster meet. -# cluster-port 0 - # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1652,21 +1298,12 @@ aof-timestamp-enabled no # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value or -# set cluster-allow-replica-migration to 'no'. +# one replica). To disable migration just set it to a very large value. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 -# Turning off this option allows to use less automatic cluster configuration. -# It both disables migration to orphaned masters and migration from masters -# that became empty. -# -# Default is 'yes' (allow automatic migrations). -# -# cluster-allow-replica-migration yes - # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1681,7 +1318,7 @@ aof-timestamp-enabled no # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the replica can still perform a +# master during master failures. However the master can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1691,7 +1328,7 @@ aof-timestamp-enabled no # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# cluster is in a down state, as long as it believes it owns the slots. +# the cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1706,54 +1343,8 @@ aof-timestamp-enabled no # # cluster-allow-reads-when-down no -# This option, when set to yes, allows nodes to serve pubsub shard traffic while -# the cluster is in a down state, as long as it believes it owns the slots. -# -# This is useful if the application would like to use the pubsub feature even when -# the cluster global stable state is not OK. If the application wants to make sure only -# one shard is serving a given channel, this feature should be kept as yes. -# -# cluster-allow-pubsubshard-when-down yes - -# Cluster link send buffer limit is the limit on the memory usage of an individual -# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed -# this limit. This is to primarily prevent send buffers from growing unbounded on links -# toward slow peers (E.g. PubSub messages being piled up). -# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field -# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. -# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single -# PubSub message by default. (client-query-buffer-limit default value is 1gb) -# -# cluster-link-sendbuf-limit 0 - -# Clusters can configure their announced hostname using this config. This is a common use case for -# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based -# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS -# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is -# communicated along the clusterbus to all nodes, setting it to an empty string will remove -# the hostname and also propagate the removal. -# -# cluster-announce-hostname "" - -# Clusters can advertise how clients should connect to them using either their IP address, -# a user defined hostname, or by declaring they have no endpoint. Which endpoint is -# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type -# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how -# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. -# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' -# will be returned instead. -# -# When a cluster advertises itself as having an unknown endpoint, it's indicating that -# the server doesn't know how clients can reach the cluster. This can happen in certain -# networking situations where there are multiple possible routes to the node, and the -# server doesn't know which one the client took. In this case, the server is expecting -# the client to reach out on the same endpoint it used for making the last request, but use -# the port provided in the response. -# -# cluster-preferred-endpoint-type ip - # In order to setup your cluster make sure to read the documentation -# available at https://redis.io web site. +# available at http://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1763,21 +1354,16 @@ aof-timestamp-enabled no # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following four options are used for this scope, and are: +# following two options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port -# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client ports (for connections -# without and with TLS) and cluster message bus port. The information is then -# published in the header of the bus packets so that other nodes will be able to -# correctly map the address of the node publishing the information. -# -# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set -# to zero, then cluster-announce-port refers to the TLS port. Note also that -# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# Each instructs the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1790,8 +1376,7 @@ aof-timestamp-enabled no # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-tls-port 6379 -# cluster-announce-port 0 +# cluster-announce-port 6379 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1839,24 +1424,10 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 -################################ LATENCY TRACKING ############################## - -# The Redis extended latency monitoring tracks the per command latencies and enables -# exporting the percentile distribution via the INFO latencystats command, -# and cumulative latency distributions (histograms) via the LATENCY command. -# -# By default, the extended latency monitoring is enabled since the overhead -# of keeping track of the command latency is very small. -# latency-tracking yes - -# By default the exported latency percentiles via the INFO latencystats command -# are the p50, p99, and p999. -# latency-tracking-info-percentiles 50 99 99.9 - ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at https://redis.io/topics/notifications +# This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1878,11 +1449,9 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) -# n New key events (Note: not included in the 'A' class) # t Stream commands -# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# A Alias for g$lshzxet, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1905,13 +1474,71 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-listpack-entries 512 -hash-max-listpack-value 64 +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1926,7 +1553,7 @@ hash-max-listpack-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-listpack-size -2 +list-max-ziplist-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1954,8 +1581,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-listpack-entries 128 -zset-max-listpack-value 64 +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1977,7 +1604,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entries limit by setting max-bytes to 0 and max-entries to the desired +# max entires limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -2010,7 +1637,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -2034,13 +1661,6 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # -# Note that it doesn't make sense to set the replica clients output buffer -# limit lower than the repl-backlog-size config (partial sync will succeed -# and then replica will get disconnected). -# Such a configuration is ignored (the size of repl-backlog-size will be used). -# This doesn't have memory consumption implications since the replica client -# will share the backlog buffers memory. -# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -2054,25 +1674,6 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb -# In some scenarios client connections can hog up memory leading to OOM -# errors or data eviction. To avoid this we can cap the accumulated memory -# used by all client connections (all pubsub and normal clients). Once we -# reach that limit connections will be dropped by the server freeing up -# memory. The server will attempt to drop the connections using the most -# memory first. We call this mechanism "client eviction". -# -# Client eviction is configured using the maxmemory-clients setting as follows: -# 0 - client eviction is disabled (default) -# -# A memory value can be used for the client eviction threshold, -# for example: -# maxmemory-clients 1g -# -# A percentage value (between 1% and 100%) means the client eviction threshold -# is based on a percentage of the maxmemory setting. For example to set client -# eviction at 5% of maxmemory: -# maxmemory-clients 5% - # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -2113,13 +1714,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -2216,7 +1817,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Active defragmentation is disabled by default +# Enabled active defragmentation # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis/docker-compose.yml b/dockge/redis/docker-compose.yml index 08fd078c6..cadefa142 100644 --- a/dockge/redis/docker-compose.yml +++ b/dockge/redis/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:7.4.4-alpine + image: redis:6.2.18-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_18/.env b/dockge/redis_7_4_4/.env similarity index 100% rename from dockge/redis_6_2_18/.env rename to dockge/redis_7_4_4/.env diff --git a/dockge/redis_6_2_18/config/redis.conf b/dockge/redis_7_4_4/config/redis.conf similarity index 72% rename from dockge/redis_6_2_18/config/redis.conf rename to dockge/redis_7_4_4/config/redis.conf index ca22ec9f6..8795ae291 100644 --- a/dockge/redis_6_2_18/config/redis.conf +++ b/dockge/redis_7_4_4/config/redis.conf @@ -32,8 +32,17 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # +# Included paths may contain wildcards. All files matching the wildcards will +# be included in alphabetical order. +# Note that if an include path contains a wildcards but no files match it when +# the server is started, the include statement will be ignored and no error will +# be emitted. It is safe, therefore, to include wildcard files from empty +# directories. +# # include /path/to/local.conf # include /path/to/other.conf +# include /path/to/fragments/*.conf +# ################################## MODULES ##################################### @@ -49,43 +58,81 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interface. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 loopback interface address (this means Redis will only be able to -# accept client connections from the same host that it is running on). +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT OUT THE FOLLOWING LINE. +# COMMENT OUT THE FOLLOWING LINE. +# +# You will also need to set a password unless you explicitly disable protected +# mode. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 +# By default, outgoing connections (from replica to master, from Sentinel to +# instances, cluster bus, etc.) are not bound to a specific local address. In +# most cases, this means the operating system will handle that based on routing +# and the interface through which the connection goes out. +# +# Using bind-source-addr it is possible to configure a specific address to bind +# to, which may also affect how the connection gets routed. +# +# Example: +# +# bind-source-addr 10.0.0.1 + # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. +# When protected mode is on and the default user has no password, the server +# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address +# (::1) or Unix domain sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. +# even if no authentication is configured. protected-mode yes +# Redis uses default hardened security configuration directives to reduce the +# attack surface on innocent users. Therefore, several sensitive configuration +# directives are immutable, and some potentially-dangerous commands are blocked. +# +# Configuration directives that control files that Redis writes to (e.g., 'dir' +# and 'dbfilename') and that aren't usually modified during runtime +# are protected by making them immutable. +# +# Commands that can increase the attack surface of Redis and that aren't usually +# called by users are blocked by default. +# +# These can be exposed to either all connections or just local ones by setting +# each of the configs listed below to either of these values: +# +# no - Block for any connection (remain immutable) +# yes - Allow for any connection (no protection) +# local - Allow only for local connections. Ones originating from the +# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. +# +# enable-protected-configs no +# enable-debug-command no +# enable-module-command no + # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -105,7 +152,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /tmp/redis.sock +# unixsocket /run/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -128,6 +175,16 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 +# Apply OS-specific mechanism to mark the listening socket with the specified +# ID, to support advanced routing and filtering capabilities. +# +# On Linux, the ID represents a connection mark. +# On FreeBSD, the ID represents a socket cookie ID. +# On OpenBSD, the ID represents a route table ID. +# +# The default value is 0, which implies no marking is required. +# socket-mark-id 0 + ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -143,8 +200,32 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, +# required by older versions of OpenSSL (<3.0). Newer versions do not require +# this configuration and recommend against it. # # tls-dh-params-file redis.dh @@ -177,9 +258,12 @@ tcp-keepalive 300 # # tls-cluster yes -# Explicitly specify TLS versions to support. Allowed values are case insensitive -# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or -# any combination. To enable only TLSv1.2 and TLSv1.3, use: +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -221,6 +305,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -229,11 +314,17 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -supervised no +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -244,6 +335,9 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -269,44 +363,74 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" ################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behavior will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" -save 900 1 -save 300 10 -save 60 10000 +# Save the DB to disk. +# +# save [ ...] +# +# Redis will save the DB if the given number of seconds elapsed and it +# surpassed the given number of write operations against the DB. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 change was performed +# * After 300 seconds (5 minutes) if at least 100 changes were performed +# * After 60 seconds if at least 10000 changes were performed +# +# You can set these explicitly by uncommenting the following line. +# +# save 3600 1 300 100 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -338,6 +462,21 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes +# Enables or disables full sanitization checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitization +# yes - Always perform full sanitization +# clients - Perform full sanitization only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + # The filename where to dump the DB dbfilename dump.rdb @@ -412,9 +551,10 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with -# an error "SYNC with master in progress" to all commands except: -# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error +# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" +# to all data access commands, excluding commands such as: +# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -463,7 +603,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync no +repl-diskless-sync yes # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -477,12 +617,18 @@ repl-diskless-sync no # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 +# When diskless replication is enabled with a delay, it is possible to let +# the replication start before the maximum delay is reached if the maximum +# number of replicas expected have connected. Default of 0 means that the +# maximum is not defined and Redis will wait the full delay. +repl-diskless-sync-max-replicas 0 + # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if your do what you are doing. +# stage with the master. Use only if you know what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -491,19 +637,23 @@ repl-diskless-sync-delay 5 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and salve buffers). +# Copy on Write memory and replica buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep a copy of the current db contents in RAM while parsing -# the data directly from the socket. note that this requires -# sufficient memory, if you don't have it, you risk an OOM kill. +# "swapdb" - Keep current db contents in RAM while parsing the data directly +# from the socket. Replicas in this mode can keep serving current +# data set while replication is in progress, except for cases where +# they can't recognize master as having a data set from same +# replication history. +# Note that this requires sufficient memory, if you don't have it, +# you risk an OOM kill. repl-diskless-load disabled -# Replicas send PINGs to server in a predefined interval. It's possible to +# Master send PINGs to its replicas in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -578,6 +728,43 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 +# The propagation error behavior controls how Redis will behave when it is +# unable to handle a command being processed in the replication stream from a master +# or processed while reading from an AOF file. Errors that occur during propagation +# are unexpected, and can cause data inconsistency. However, there are edge cases +# in earlier versions of Redis where it was possible for the server to replicate or persist +# commands that would fail on future versions. For this reason the default behavior +# is to ignore such errors and continue processing commands. +# +# If an application wants to ensure there is no data divergence, this configuration +# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' +# to only panic when a replica encounters an error on the replication stream. One of +# these two panic values will become the default value in the future once there are +# sufficient safety mechanisms in place to prevent false positive crashes. +# +# propagation-error-behavior ignore + +# Replica ignore disk write errors controls the behavior of a replica when it is +# unable to persist a write command received from its master to disk. By default, +# this configuration is set to 'no' and will crash the replica in this condition. +# It is not recommended to change this default, however in order to be compatible +# with older versions of Redis this config can be toggled to 'yes' which will just +# log a warning and execute the write command it got from the master. +# +# replica-ignore-disk-write-errors no + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -633,7 +820,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# 16 millions of slots, what clients may have certain subsets of keys. In turn +# a radix key indexed by key name, what clients have which keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -697,8 +884,12 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# + Allow the execution of that command -# - Disallow the execution of that command +# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command. +# May be used with `|` for allowing subcommands (e.g "+config|get") +# - Disallow the execution of that command. +# May be used with `|` for blocking subcommands (e.g "-config|set") # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -706,10 +897,11 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|subcommand Allow a specific subcommand of an otherwise -# disabled command. Note that this form is not -# allowed as negative like -DEBUG|SEGFAULT, but -# only additive starting with "+". +# +|first-arg Allow a specific first argument of an otherwise +# disabled command. It is only supported on commands with +# no sub-commands, and is not allowed as negative form +# like -SELECT|1, only additive starting with "+". This +# feature is deprecated and may be removed in the future. # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -717,8 +909,17 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. +# %R~ Add key read pattern that specifies which keys can be read +# from. +# %W~ Add key write pattern that specifies which keys can be +# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -737,6 +938,14 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. +# () Create a new selector with the options specified within the +# parentheses and attach it to the user. Each option should be +# space separated. The first character must be ( and the last +# character must be ). +# clearselectors Remove all of the currently attached selectors. +# Note this does not change the "root" user permissions, +# which are the permissions directly applied onto the +# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -758,6 +967,40 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # +# The following is a list of command categories and their meanings: +# * keyspace - Writing or reading from keys, databases, or their metadata +# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, +# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, +# key or metadata will also have `write` category. Commands that only read +# the keyspace, key or metadata will have the `read` category. +# * read - Reading from keys (values or metadata). Note that commands that don't +# interact with keys, will not have either `read` or `write`. +# * write - Writing to keys (values or metadata) +# * admin - Administrative commands. Normal applications will never need to use +# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. +# * dangerous - Potentially dangerous (each should be considered with care for +# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, +# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. +# * connection - Commands affecting the connection or other connections. +# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. +# * blocking - Potentially blocking the connection until released by another +# command. +# * fast - Fast O(1) commands. May loop on the number of arguments, but not the +# number of elements in the key. +# * slow - All commands that are not Fast. +# * pubsub - PUBLISH / SUBSCRIBE related +# * transaction - WATCH / MULTI / EXEC related commands. +# * scripting - Scripting related. +# * set - Data type: sets related. +# * sortedset - Data type: zsets related. +# * list - Data type: lists related. +# * hash - Data type: hashes related. +# * string - Data type: strings related. +# * bitmap - Data type: bitmaps related. +# * hyperloglog - Data type: hyperloglog related. +# * geo - Data type: geo related. +# * stream - Data type: streams related. +# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -787,8 +1030,24 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # +# The requirepass is not compatible with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# # requirepass foobared +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. +# +# acl-pubsub-default resetchannels + # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -877,14 +1136,12 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). # # The default is: # @@ -901,6 +1158,14 @@ acllog-max-len 128 # # maxmemory-samples 5 +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -994,6 +1259,13 @@ replica-lazy-flush no lazyfree-lazy-user-del no +# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1032,7 +1304,7 @@ lazyfree-lazy-user-del no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Aso this feature currently does not work when SSL is +# CONFIG SET. Also, this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1050,7 +1322,7 @@ lazyfree-lazy-user-del no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports three options: +# Redis supports these options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1071,6 +1343,19 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1089,14 +1374,43 @@ oom-score-adj-values 0 200 800 # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check http://redis.io/topics/persistence for more information. +# Please check https://redis.io/topics/persistence for more information. appendonly no -# The name of the append only file (default: "appendonly.aof") +# The base name of the append only file. +# +# Redis 7 and newer use a set of append-only files to persist the dataset +# and changes applied to it. There are two basic types of files in use: +# +# - Base files, which are a snapshot representing the complete state of the +# dataset at the time the file was created. Base files can be either in +# the form of RDB (binary serialized) or AOF (textual commands). +# - Incremental files, which contain additional commands that were applied +# to the dataset following the previous file. +# +# In addition, manifest files are used to track the files and the order in +# which they were created and should be applied. +# +# Append-only file names are created by Redis following a specific pattern. +# The file name's prefix is based on the 'appendfilename' configuration +# parameter, followed by additional information about the sequence and type. +# +# For example, if appendfilename is set to appendonly.aof, the following file +# names could be derived: +# +# - appendonly.aof.1.base.rdb as a base file. +# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. +# - appendonly.aof.manifest as a manifest file. appendfilename "appendonly.aof" +# For convenience, Redis stores all persistent append-only files in a dedicated +# directory. The name of the directory is determined by the appenddirname +# configuration parameter. + +appenddirname "appendonlydir" + # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1136,7 +1450,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is +# the same as "appendfsync no". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1189,34 +1503,69 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading, Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, then continues loading the AOF -# tail. +# Redis can create append-only base files in either RDB or AOF formats. Using +# the RDB format is always faster and more efficient, and disabling it is only +# supported for backward compatibility purposes. aof-use-rdb-preamble yes -################################ LUA SCRIPTING ############################### +# Redis supports recording timestamp annotations in the AOF to support restoring +# the data from a specific point-in-time. However, using this capability changes +# the AOF format in a way that may not be compatible with existing AOF parsers. +aof-timestamp-enabled no -# Max execution time of a Lua script in milliseconds. +################################ SHUTDOWN ##################################### + +# Maximum time to wait for replicas when shutting down, in seconds. # -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. +# During shut down, a grace period allows any lagging replicas to catch up with +# the latest replication offset before the master exists. This period can +# prevent data loss, especially for deployments without configured disk backups. # -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet call any write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. +# The 'shutdown-timeout' value is the grace period's duration in seconds. It is +# only applicable when the instance has replicas. To disable the feature, set +# the value to 0. # -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 +# shutdown-timeout 10 + +# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default +# an RDB snapshot is written to disk in a blocking operation if save points are configured. +# The options used on signaled shutdown can include the following values: +# default: Saves RDB snapshot only if save points are configured. +# Waits for lagging replicas to catch up. +# save: Forces a DB saving operation even if no save points are configured. +# nosave: Prevents DB saving operation even if one or more save points are configured. +# now: Skips waiting for lagging replicas. +# force: Ignores any errors that would normally prevent the server from exiting. +# +# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. +# Example: "nosave force now" +# +# shutdown-on-sigint default +# shutdown-on-sigterm default + +################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### + +# Maximum time in milliseconds for EVAL scripts, functions and in some cases +# modules' commands before Redis can start processing or rejecting other clients. +# +# If the maximum execution time is reached Redis will start to reply to most +# commands with a BUSY error. +# +# In this state Redis will only allow a handful of commands to be executed. +# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some +# module specific 'allow-busy' commands. +# +# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not +# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop +# the server in the case a write command was already issued by the script when +# the user doesn't want to wait for the natural termination of the script. +# +# The default is 5 seconds. It is possible to set it to 0 or a negative value +# to disable this mechanism (uninterrupted execution). Note that in the past +# this config had a different name, which is now an alias, so both of these do +# the same: +# lua-time-limit 5000 +# busy-reply-threshold 5000 ################################ REDIS CLUSTER ############################### @@ -1240,6 +1589,11 @@ lua-time-limit 5000 # # cluster-node-timeout 15000 +# The cluster port is the port that the cluster bus will listen for inbound connections on. When set +# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires +# you to specify the cluster bus port when executing cluster meet. +# cluster-port 0 + # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1298,12 +1652,21 @@ lua-time-limit 5000 # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value. +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1318,7 +1681,7 @@ lua-time-limit 5000 # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the master can still perform a +# master during master failures. However the replica can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1328,7 +1691,7 @@ lua-time-limit 5000 # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# the cluster is in a down state, as long as it believes it owns the slots. +# cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1343,8 +1706,54 @@ lua-time-limit 5000 # # cluster-allow-reads-when-down no +# This option, when set to yes, allows nodes to serve pubsub shard traffic while +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful if the application would like to use the pubsub feature even when +# the cluster global stable state is not OK. If the application wants to make sure only +# one shard is serving a given channel, this feature should be kept as yes. +# +# cluster-allow-pubsubshard-when-down yes + +# Cluster link send buffer limit is the limit on the memory usage of an individual +# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed +# this limit. This is to primarily prevent send buffers from growing unbounded on links +# toward slow peers (E.g. PubSub messages being piled up). +# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field +# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. +# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single +# PubSub message by default. (client-query-buffer-limit default value is 1gb) +# +# cluster-link-sendbuf-limit 0 + +# Clusters can configure their announced hostname using this config. This is a common use case for +# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based +# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS +# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is +# communicated along the clusterbus to all nodes, setting it to an empty string will remove +# the hostname and also propagate the removal. +# +# cluster-announce-hostname "" + +# Clusters can advertise how clients should connect to them using either their IP address, +# a user defined hostname, or by declaring they have no endpoint. Which endpoint is +# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type +# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how +# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. +# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' +# will be returned instead. +# +# When a cluster advertises itself as having an unknown endpoint, it's indicating that +# the server doesn't know how clients can reach the cluster. This can happen in certain +# networking situations where there are multiple possible routes to the node, and the +# server doesn't know which one the client took. In this case, the server is expecting +# the client to reach out on the same endpoint it used for making the last request, but use +# the port provided in the response. +# +# cluster-preferred-endpoint-type ip + # In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. +# available at https://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1354,16 +1763,21 @@ lua-time-limit 5000 # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: +# following four options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port +# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1376,7 +1790,8 @@ lua-time-limit 5000 # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1424,10 +1839,24 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 +################################ LATENCY TRACKING ############################## + +# The Redis extended latency monitoring tracks the per command latencies and enables +# exporting the percentile distribution via the INFO latencystats command, +# and cumulative latency distributions (histograms) via the LATENCY command. +# +# By default, the extended latency monitoring is enabled since the overhead +# of keeping track of the command latency is very small. +# latency-tracking yes + +# By default the exported latency percentiles via the INFO latencystats command +# are the p50, p99, and p999. +# latency-tracking-info-percentiles 50 99 99.9 + ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications +# This feature is documented at https://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1449,9 +1878,11 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) +# n New key events (Note: not included in the 'A' class) # t Stream commands +# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxet, so that the "AKE" string means all the events +# A Alias for g$lshzxetd, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1474,71 +1905,13 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" -############################### GOPHER SERVER ################################# - -# Redis contains an implementation of the Gopher protocol, as specified in -# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). -# -# The Gopher protocol was very popular in the late '90s. It is an alternative -# to the web, and the implementation both server and client side is so simple -# that the Redis server has just 100 lines of code in order to implement this -# support. -# -# What do you do with Gopher nowadays? Well Gopher never *really* died, and -# lately there is a movement in order for the Gopher more hierarchical content -# composed of just plain text documents to be resurrected. Some want a simpler -# internet, others believe that the mainstream internet became too much -# controlled, and it's cool to create an alternative space for people that -# want a bit of fresh air. -# -# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol -# as a gift. -# -# --- HOW IT WORKS? --- -# -# The Redis Gopher support uses the inline protocol of Redis, and specifically -# two kind of inline requests that were anyway illegal: an empty request -# or any request that starts with "/" (there are no Redis commands starting -# with such a slash). Normal RESP2/RESP3 requests are completely out of the -# path of the Gopher protocol implementation and are served as usual as well. -# -# If you open a connection to Redis when Gopher is enabled and send it -# a string like "/foo", if there is a key named "/foo" it is served via the -# Gopher protocol. -# -# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher -# talking), you likely need a script like the following: -# -# https://github.com/antirez/gopher2redis -# -# --- SECURITY WARNING --- -# -# If you plan to put Redis on the internet in a publicly accessible address -# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. -# Once a password is set: -# -# 1. The Gopher server (when enabled, not by default) will still serve -# content via Gopher. -# 2. However other commands cannot be called before the client will -# authenticate. -# -# So use the 'requirepass' option to protect your instance. -# -# Note that Gopher is not currently supported when 'io-threads-do-reads' -# is enabled. -# -# To enable Gopher support, uncomment the following line and set the option -# from no (the default) to yes. -# -# gopher-enabled no - ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 +hash-max-listpack-entries 512 +hash-max-listpack-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1553,7 +1926,7 @@ hash-max-ziplist-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 +list-max-listpack-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1581,8 +1954,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1604,7 +1977,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entires limit by setting max-bytes to 0 and max-entries to the desired +# max entries limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -1637,7 +2010,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -1661,6 +2034,13 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # +# Note that it doesn't make sense to set the replica clients output buffer +# limit lower than the repl-backlog-size config (partial sync will succeed +# and then replica will get disconnected). +# Such a configuration is ignored (the size of repl-backlog-size will be used). +# This doesn't have memory consumption implications since the replica client +# will share the backlog buffers memory. +# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -1674,6 +2054,25 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb +# In some scenarios client connections can hog up memory leading to OOM +# errors or data eviction. To avoid this we can cap the accumulated memory +# used by all client connections (all pubsub and normal clients). Once we +# reach that limit connections will be dropped by the server freeing up +# memory. The server will attempt to drop the connections using the most +# memory first. We call this mechanism "client eviction". +# +# Client eviction is configured using the maxmemory-clients setting as follows: +# 0 - client eviction is disabled (default) +# +# A memory value can be used for the client eviction threshold, +# for example: +# maxmemory-clients 1g +# +# A percentage value (between 1% and 100%) means the client eviction threshold +# is based on a percentage of the maxmemory setting. For example to set client +# eviction at 5% of maxmemory: +# maxmemory-clients 5% + # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -1714,13 +2113,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -1817,7 +2216,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Enabled active defragmentation +# Active defragmentation is disabled by default # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis_6_2_18/docker-compose.yml b/dockge/redis_7_4_4/docker-compose.yml similarity index 94% rename from dockge/redis_6_2_18/docker-compose.yml rename to dockge/redis_7_4_4/docker-compose.yml index cadefa142..08fd078c6 100644 --- a/dockge/redis_6_2_18/docker-compose.yml +++ b/dockge/redis_7_4_4/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:6.2.18-alpine + image: redis:7.4.4-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_18/envs/default.env b/dockge/redis_7_4_4/envs/default.env similarity index 100% rename from dockge/redis_6_2_18/envs/default.env rename to dockge/redis_7_4_4/envs/default.env diff --git a/dockge/redis_6_2_18/envs/global.env b/dockge/redis_7_4_4/envs/global.env similarity index 100% rename from dockge/redis_6_2_18/envs/global.env rename to dockge/redis_7_4_4/envs/global.env diff --git a/dockge/stream-rec/docker-compose.yml b/dockge/stream-rec/docker-compose.yml index 4076f23a1..8465b7136 100644 --- a/dockge/stream-rec/docker-compose.yml +++ b/dockge/stream-rec/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:main + image: streamrec/stream-rec:dev labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:dev labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_dev/.env b/dockge/stream-rec_main/.env similarity index 100% rename from dockge/stream-rec_dev/.env rename to dockge/stream-rec_main/.env diff --git a/dockge/stream-rec_dev/docker-compose.yml b/dockge/stream-rec_main/docker-compose.yml similarity index 92% rename from dockge/stream-rec_dev/docker-compose.yml rename to dockge/stream-rec_main/docker-compose.yml index 8465b7136..4076f23a1 100644 --- a/dockge/stream-rec_dev/docker-compose.yml +++ b/dockge/stream-rec_main/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:dev + image: streamrec/stream-rec:main labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:dev + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_dev/envs/default.env b/dockge/stream-rec_main/envs/default.env similarity index 100% rename from dockge/stream-rec_dev/envs/default.env rename to dockge/stream-rec_main/envs/default.env diff --git a/dockge/stream-rec_dev/envs/global.env b/dockge/stream-rec_main/envs/global.env similarity index 100% rename from dockge/stream-rec_dev/envs/global.env rename to dockge/stream-rec_main/envs/global.env diff --git a/dockge/umami-mysql/docker-compose.yml b/dockge/umami-mysql/docker-compose.yml index 2bc7a13bc..0347d07c0 100644 --- a/dockge/umami-mysql/docker-compose.yml +++ b/dockge/umami-mysql/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.16.0 + image: umamisoftware/umami:mysql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_18_1/.env b/dockge/umami-mysql_2_16_0/.env similarity index 100% rename from dockge/umami-mysql_2_18_1/.env rename to dockge/umami-mysql_2_16_0/.env diff --git a/dockge/umami-mysql_2_18_1/docker-compose.yml b/dockge/umami-mysql_2_16_0/docker-compose.yml similarity index 91% rename from dockge/umami-mysql_2_18_1/docker-compose.yml rename to dockge/umami-mysql_2_16_0/docker-compose.yml index 0347d07c0..2bc7a13bc 100644 --- a/dockge/umami-mysql_2_18_1/docker-compose.yml +++ b/dockge/umami-mysql_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.18.1 + image: umamisoftware/umami:mysql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_18_1/envs/default.env b/dockge/umami-mysql_2_16_0/envs/default.env similarity index 100% rename from dockge/umami-mysql_2_18_1/envs/default.env rename to dockge/umami-mysql_2_16_0/envs/default.env diff --git a/dockge/umami-mysql_2_18_1/envs/global.env b/dockge/umami-mysql_2_16_0/envs/global.env similarity index 100% rename from dockge/umami-mysql_2_18_1/envs/global.env rename to dockge/umami-mysql_2_16_0/envs/global.env diff --git a/dockge/umami/docker-compose.yml b/dockge/umami/docker-compose.yml index 7f7a58660..9bbf23909 100644 --- a/dockge/umami/docker-compose.yml +++ b/dockge/umami/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.16.0 + image: umamisoftware/umami:postgresql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_18_1/.env b/dockge/umami_2_16_0/.env similarity index 100% rename from dockge/umami_2_18_1/.env rename to dockge/umami_2_16_0/.env diff --git a/dockge/umami_2_18_1/docker-compose.yml b/dockge/umami_2_16_0/docker-compose.yml similarity index 90% rename from dockge/umami_2_18_1/docker-compose.yml rename to dockge/umami_2_16_0/docker-compose.yml index 9bbf23909..7f7a58660 100644 --- a/dockge/umami_2_18_1/docker-compose.yml +++ b/dockge/umami_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.18.1 + image: umamisoftware/umami:postgresql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_18_1/envs/default.env b/dockge/umami_2_16_0/envs/default.env similarity index 100% rename from dockge/umami_2_18_1/envs/default.env rename to dockge/umami_2_16_0/envs/default.env diff --git a/dockge/umami_2_18_1/envs/global.env b/dockge/umami_2_16_0/envs/global.env similarity index 100% rename from dockge/umami_2_18_1/envs/global.env rename to dockge/umami_2_16_0/envs/global.env diff --git a/dockge/uptime-kuma/.env b/dockge/uptime-kuma/.env index 32a291fcd..5fa74c158 100644 --- a/dockge/uptime-kuma/.env +++ b/dockge/uptime-kuma/.env @@ -4,3 +4,9 @@ UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=3001 +# Cloudflared 隧道令牌 +UPTIME_KUMA_CLOUDFLARED_TOKEN= + +# 禁用 Frame SameOrigin [必填] +UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false + diff --git a/dockge/uptime-kuma/docker-compose.yml b/dockge/uptime-kuma/docker-compose.yml index c6ee97339..03b4560f7 100644 --- a/dockge/uptime-kuma/docker-compose.yml +++ b/dockge/uptime-kuma/docker-compose.yml @@ -7,7 +7,16 @@ services: env_file: - ./envs/global.env - .env - image: louislam/uptime-kuma:2.0.0-beta.3 + environment: + - PUID=0 + - PGID=0 + - UPTIME_KUMA_PORT=3001 + - UPTIME_KUMA_HOST=0.0.0.0 + - DATA_DIR=/app/data + - NODE_TLS_REJECT_UNAUTHORIZED=0 + - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 + - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like + image: louislam/uptime-kuma:1.23.16 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/.env b/dockge/uptime-kuma_1_23_16/.env deleted file mode 100644 index 5fa74c158..000000000 --- a/dockge/uptime-kuma_1_23_16/.env +++ /dev/null @@ -1,12 +0,0 @@ -# 数据持久化路径 [必填] -UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3001 - -# Cloudflared 隧道令牌 -UPTIME_KUMA_CLOUDFLARED_TOKEN= - -# 禁用 Frame SameOrigin [必填] -UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false - diff --git a/dockge/uptime-kuma_2_0_0/.env b/dockge/uptime-kuma_2_0_0/.env new file mode 100644 index 000000000..32a291fcd --- /dev/null +++ b/dockge/uptime-kuma_2_0_0/.env @@ -0,0 +1,6 @@ +# 数据持久化路径 [必填] +UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3001 + diff --git a/dockge/uptime-kuma_1_23_16/docker-compose.yml b/dockge/uptime-kuma_2_0_0/docker-compose.yml similarity index 57% rename from dockge/uptime-kuma_1_23_16/docker-compose.yml rename to dockge/uptime-kuma_2_0_0/docker-compose.yml index 03b4560f7..c6ee97339 100644 --- a/dockge/uptime-kuma_1_23_16/docker-compose.yml +++ b/dockge/uptime-kuma_2_0_0/docker-compose.yml @@ -7,16 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - PUID=0 - - PGID=0 - - UPTIME_KUMA_PORT=3001 - - UPTIME_KUMA_HOST=0.0.0.0 - - DATA_DIR=/app/data - - NODE_TLS_REJECT_UNAUTHORIZED=0 - - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 - - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like - image: louislam/uptime-kuma:1.23.16 + image: louislam/uptime-kuma:2.0.0-beta.3 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/envs/default.env b/dockge/uptime-kuma_2_0_0/envs/default.env similarity index 100% rename from dockge/uptime-kuma_1_23_16/envs/default.env rename to dockge/uptime-kuma_2_0_0/envs/default.env diff --git a/dockge/uptime-kuma_1_23_16/envs/global.env b/dockge/uptime-kuma_2_0_0/envs/global.env similarity index 100% rename from dockge/uptime-kuma_1_23_16/envs/global.env rename to dockge/uptime-kuma_2_0_0/envs/global.env From 5274e426119d0c9f7e32aa878cb71bcc62569bed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 01:52:12 +0000 Subject: [PATCH 25/96] Update mdcng/mdc Docker tag to v1.5.1 --- apps/mdc-ng/1.4.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.4.0/docker-compose.yml b/apps/mdc-ng/1.4.0/docker-compose.yml index cbb72b656..69bd8f786 100644 --- a/apps/mdc-ng/1.4.0/docker-compose.yml +++ b/apps/mdc-ng/1.4.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.4.0 + image: mdcng/mdc:1.5.1 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From d44a94e85b46d7c8bb1d61bc1483c7a6efa1c13e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 01:52:21 +0000 Subject: [PATCH 26/96] Update app version [skip ci] --- apps/mdc-ng/{1.4.0 => 1.5.1}/data.yml | 0 apps/mdc-ng/{1.4.0 => 1.5.1}/docker-compose.yml | 0 apps/mdc-ng/{1.4.0 => 1.5.1}/envs/default.env | 0 apps/mdc-ng/{1.4.0 => 1.5.1}/envs/global.env | 0 apps/mdc-ng/{1.4.0 => 1.5.1}/scripts/init.sh | 0 apps/mdc-ng/{1.4.0 => 1.5.1}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.4.0 => 1.5.1}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.4.0 => 1.5.1}/data.yml (100%) rename apps/mdc-ng/{1.4.0 => 1.5.1}/docker-compose.yml (100%) rename apps/mdc-ng/{1.4.0 => 1.5.1}/envs/default.env (100%) rename apps/mdc-ng/{1.4.0 => 1.5.1}/envs/global.env (100%) rename apps/mdc-ng/{1.4.0 => 1.5.1}/scripts/init.sh (100%) rename apps/mdc-ng/{1.4.0 => 1.5.1}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.4.0 => 1.5.1}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.4.0/data.yml b/apps/mdc-ng/1.5.1/data.yml similarity index 100% rename from apps/mdc-ng/1.4.0/data.yml rename to apps/mdc-ng/1.5.1/data.yml diff --git a/apps/mdc-ng/1.4.0/docker-compose.yml b/apps/mdc-ng/1.5.1/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.4.0/docker-compose.yml rename to apps/mdc-ng/1.5.1/docker-compose.yml diff --git a/apps/mdc-ng/1.4.0/envs/default.env b/apps/mdc-ng/1.5.1/envs/default.env similarity index 100% rename from apps/mdc-ng/1.4.0/envs/default.env rename to apps/mdc-ng/1.5.1/envs/default.env diff --git a/apps/mdc-ng/1.4.0/envs/global.env b/apps/mdc-ng/1.5.1/envs/global.env similarity index 100% rename from apps/mdc-ng/1.4.0/envs/global.env rename to apps/mdc-ng/1.5.1/envs/global.env diff --git a/apps/mdc-ng/1.4.0/scripts/init.sh b/apps/mdc-ng/1.5.1/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.4.0/scripts/init.sh rename to apps/mdc-ng/1.5.1/scripts/init.sh diff --git a/apps/mdc-ng/1.4.0/scripts/uninstall.sh b/apps/mdc-ng/1.5.1/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.4.0/scripts/uninstall.sh rename to apps/mdc-ng/1.5.1/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.4.0/scripts/upgrade.sh b/apps/mdc-ng/1.5.1/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.4.0/scripts/upgrade.sh rename to apps/mdc-ng/1.5.1/scripts/upgrade.sh From 7c8421831124a049e2258f33268a6ff8ab129726 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 02:29:02 +0000 Subject: [PATCH 27/96] Update casbin/casdoor Docker tag to v1.948.0 --- apps/casdoor/1.947.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/casdoor/1.947.0/docker-compose.yml b/apps/casdoor/1.947.0/docker-compose.yml index b8baacf0e..7b8f40443 100644 --- a/apps/casdoor/1.947.0/docker-compose.yml +++ b/apps/casdoor/1.947.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: casdoor: - image: casbin/casdoor:v1.947.0 + image: casbin/casdoor:v1.948.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From ef8d5ed87f57d1d0cc9603ca98f5f3fc6072578d Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 02:29:12 +0000 Subject: [PATCH 28/96] Update app version [skip ci] --- apps/casdoor/{1.947.0 => 1.948.0}/config/init_data.json | 0 apps/casdoor/{1.947.0 => 1.948.0}/data.yml | 0 apps/casdoor/{1.947.0 => 1.948.0}/docker-compose.yml | 0 apps/casdoor/{1.947.0 => 1.948.0}/envs/casdoor.env | 0 apps/casdoor/{1.947.0 => 1.948.0}/envs/default.env | 0 apps/casdoor/{1.947.0 => 1.948.0}/envs/global.env | 0 apps/casdoor/{1.947.0 => 1.948.0}/scripts/init.sh | 0 apps/casdoor/{1.947.0 => 1.948.0}/scripts/uninstall.sh | 0 apps/casdoor/{1.947.0 => 1.948.0}/scripts/upgrade.sh | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename apps/casdoor/{1.947.0 => 1.948.0}/config/init_data.json (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/data.yml (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/docker-compose.yml (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/envs/casdoor.env (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/envs/default.env (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/envs/global.env (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/scripts/init.sh (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/scripts/uninstall.sh (100%) rename apps/casdoor/{1.947.0 => 1.948.0}/scripts/upgrade.sh (100%) diff --git a/apps/casdoor/1.947.0/config/init_data.json b/apps/casdoor/1.948.0/config/init_data.json similarity index 100% rename from apps/casdoor/1.947.0/config/init_data.json rename to apps/casdoor/1.948.0/config/init_data.json diff --git a/apps/casdoor/1.947.0/data.yml b/apps/casdoor/1.948.0/data.yml similarity index 100% rename from apps/casdoor/1.947.0/data.yml rename to apps/casdoor/1.948.0/data.yml diff --git a/apps/casdoor/1.947.0/docker-compose.yml b/apps/casdoor/1.948.0/docker-compose.yml similarity index 100% rename from apps/casdoor/1.947.0/docker-compose.yml rename to apps/casdoor/1.948.0/docker-compose.yml diff --git a/apps/casdoor/1.947.0/envs/casdoor.env b/apps/casdoor/1.948.0/envs/casdoor.env similarity index 100% rename from apps/casdoor/1.947.0/envs/casdoor.env rename to apps/casdoor/1.948.0/envs/casdoor.env diff --git a/apps/casdoor/1.947.0/envs/default.env b/apps/casdoor/1.948.0/envs/default.env similarity index 100% rename from apps/casdoor/1.947.0/envs/default.env rename to apps/casdoor/1.948.0/envs/default.env diff --git a/apps/casdoor/1.947.0/envs/global.env b/apps/casdoor/1.948.0/envs/global.env similarity index 100% rename from apps/casdoor/1.947.0/envs/global.env rename to apps/casdoor/1.948.0/envs/global.env diff --git a/apps/casdoor/1.947.0/scripts/init.sh b/apps/casdoor/1.948.0/scripts/init.sh similarity index 100% rename from apps/casdoor/1.947.0/scripts/init.sh rename to apps/casdoor/1.948.0/scripts/init.sh diff --git a/apps/casdoor/1.947.0/scripts/uninstall.sh b/apps/casdoor/1.948.0/scripts/uninstall.sh similarity index 100% rename from apps/casdoor/1.947.0/scripts/uninstall.sh rename to apps/casdoor/1.948.0/scripts/uninstall.sh diff --git a/apps/casdoor/1.947.0/scripts/upgrade.sh b/apps/casdoor/1.948.0/scripts/upgrade.sh similarity index 100% rename from apps/casdoor/1.947.0/scripts/upgrade.sh rename to apps/casdoor/1.948.0/scripts/upgrade.sh From a78a299d0013fc89f1665c69278d61fcc11d0756 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 26 Jun 2025 03:49:45 +0000 Subject: [PATCH 29/96] Processed apps directory via GitHub Actions --- appstore/casdoor/{1.947.0 => 1.948.0}/.env | 0 appstore/casdoor/{1.947.0 => 1.948.0}/config/init_data.json | 0 appstore/casdoor/{1.947.0 => 1.948.0}/data.yml | 0 appstore/casdoor/{1.947.0 => 1.948.0}/docker-compose.yml | 2 +- appstore/casdoor/{1.947.0 => 1.948.0}/envs/casdoor.env | 0 appstore/casdoor/{1.947.0 => 1.948.0}/envs/default.env | 0 appstore/casdoor/{1.947.0 => 1.948.0}/envs/global.env | 0 appstore/casdoor/{1.947.0 => 1.948.0}/scripts/init.sh | 0 appstore/casdoor/{1.947.0 => 1.948.0}/scripts/uninstall.sh | 0 appstore/casdoor/{1.947.0 => 1.948.0}/scripts/upgrade.sh | 0 appstore/ghost/{5.127.1 => 5.127.2}/.env | 0 appstore/ghost/{5.127.1 => 5.127.2}/data.yml | 0 appstore/ghost/{5.127.1 => 5.127.2}/docker-compose.yml | 2 +- appstore/ghost/{5.127.1 => 5.127.2}/envs/default.env | 0 appstore/ghost/{5.127.1 => 5.127.2}/envs/global.env | 0 appstore/ghost/{5.127.1 => 5.127.2}/scripts/init.sh | 0 appstore/ghost/{5.127.1 => 5.127.2}/scripts/uninstall.sh | 0 appstore/ghost/{5.127.1 => 5.127.2}/scripts/upgrade.sh | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/.env | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/data.yml | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/docker-compose.yml | 2 +- appstore/gitea-runner/{0.2.11 => 0.2.12}/envs/default.env | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/envs/global.env | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/scripts/init.sh | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/scripts/uninstall.sh | 0 appstore/gitea-runner/{0.2.11 => 0.2.12}/scripts/upgrade.sh | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/.env | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/data.yml | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.4.0 => 1.5.1}/envs/default.env | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/envs/global.env | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/scripts/init.sh | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.4.0 => 1.5.1}/scripts/upgrade.sh | 0 dockge/casdoor/docker-compose.yml | 2 +- dockge/ghost/docker-compose.yml | 2 +- dockge/gitea-runner/docker-compose.yml | 2 +- dockge/mdc-ng/docker-compose.yml | 2 +- 38 files changed, 8 insertions(+), 8 deletions(-) rename appstore/casdoor/{1.947.0 => 1.948.0}/.env (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/config/init_data.json (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/data.yml (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/docker-compose.yml (93%) rename appstore/casdoor/{1.947.0 => 1.948.0}/envs/casdoor.env (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/envs/default.env (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/envs/global.env (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/scripts/init.sh (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/scripts/uninstall.sh (100%) rename appstore/casdoor/{1.947.0 => 1.948.0}/scripts/upgrade.sh (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/.env (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/data.yml (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/docker-compose.yml (95%) rename appstore/ghost/{5.127.1 => 5.127.2}/envs/default.env (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/envs/global.env (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/scripts/init.sh (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/scripts/uninstall.sh (100%) rename appstore/ghost/{5.127.1 => 5.127.2}/scripts/upgrade.sh (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/.env (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/data.yml (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/docker-compose.yml (92%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/envs/default.env (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/envs/global.env (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/scripts/init.sh (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/scripts/uninstall.sh (100%) rename appstore/gitea-runner/{0.2.11 => 0.2.12}/scripts/upgrade.sh (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/.env (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/data.yml (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/envs/default.env (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/envs/global.env (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.4.0 => 1.5.1}/scripts/upgrade.sh (100%) diff --git a/appstore/casdoor/1.947.0/.env b/appstore/casdoor/1.948.0/.env similarity index 100% rename from appstore/casdoor/1.947.0/.env rename to appstore/casdoor/1.948.0/.env diff --git a/appstore/casdoor/1.947.0/config/init_data.json b/appstore/casdoor/1.948.0/config/init_data.json similarity index 100% rename from appstore/casdoor/1.947.0/config/init_data.json rename to appstore/casdoor/1.948.0/config/init_data.json diff --git a/appstore/casdoor/1.947.0/data.yml b/appstore/casdoor/1.948.0/data.yml similarity index 100% rename from appstore/casdoor/1.947.0/data.yml rename to appstore/casdoor/1.948.0/data.yml diff --git a/appstore/casdoor/1.947.0/docker-compose.yml b/appstore/casdoor/1.948.0/docker-compose.yml similarity index 93% rename from appstore/casdoor/1.947.0/docker-compose.yml rename to appstore/casdoor/1.948.0/docker-compose.yml index efc586b36..856029ce1 100644 --- a/appstore/casdoor/1.947.0/docker-compose.yml +++ b/appstore/casdoor/1.948.0/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.947.0 + image: casbin/casdoor:v1.948.0 labels: createdBy: Apps networks: diff --git a/appstore/casdoor/1.947.0/envs/casdoor.env b/appstore/casdoor/1.948.0/envs/casdoor.env similarity index 100% rename from appstore/casdoor/1.947.0/envs/casdoor.env rename to appstore/casdoor/1.948.0/envs/casdoor.env diff --git a/appstore/casdoor/1.947.0/envs/default.env b/appstore/casdoor/1.948.0/envs/default.env similarity index 100% rename from appstore/casdoor/1.947.0/envs/default.env rename to appstore/casdoor/1.948.0/envs/default.env diff --git a/appstore/casdoor/1.947.0/envs/global.env b/appstore/casdoor/1.948.0/envs/global.env similarity index 100% rename from appstore/casdoor/1.947.0/envs/global.env rename to appstore/casdoor/1.948.0/envs/global.env diff --git a/appstore/casdoor/1.947.0/scripts/init.sh b/appstore/casdoor/1.948.0/scripts/init.sh similarity index 100% rename from appstore/casdoor/1.947.0/scripts/init.sh rename to appstore/casdoor/1.948.0/scripts/init.sh diff --git a/appstore/casdoor/1.947.0/scripts/uninstall.sh b/appstore/casdoor/1.948.0/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/1.947.0/scripts/uninstall.sh rename to appstore/casdoor/1.948.0/scripts/uninstall.sh diff --git a/appstore/casdoor/1.947.0/scripts/upgrade.sh b/appstore/casdoor/1.948.0/scripts/upgrade.sh similarity index 100% rename from appstore/casdoor/1.947.0/scripts/upgrade.sh rename to appstore/casdoor/1.948.0/scripts/upgrade.sh diff --git a/appstore/ghost/5.127.1/.env b/appstore/ghost/5.127.2/.env similarity index 100% rename from appstore/ghost/5.127.1/.env rename to appstore/ghost/5.127.2/.env diff --git a/appstore/ghost/5.127.1/data.yml b/appstore/ghost/5.127.2/data.yml similarity index 100% rename from appstore/ghost/5.127.1/data.yml rename to appstore/ghost/5.127.2/data.yml diff --git a/appstore/ghost/5.127.1/docker-compose.yml b/appstore/ghost/5.127.2/docker-compose.yml similarity index 95% rename from appstore/ghost/5.127.1/docker-compose.yml rename to appstore/ghost/5.127.2/docker-compose.yml index f904986b7..95674ea2c 100644 --- a/appstore/ghost/5.127.1/docker-compose.yml +++ b/appstore/ghost/5.127.2/docker-compose.yml @@ -14,7 +14,7 @@ services: - database__client=mysql - mail__options__service=Email - mail__options__secure=true - image: ghost:5.127.1 + image: ghost:5.127.2 labels: createdBy: Apps networks: diff --git a/appstore/ghost/5.127.1/envs/default.env b/appstore/ghost/5.127.2/envs/default.env similarity index 100% rename from appstore/ghost/5.127.1/envs/default.env rename to appstore/ghost/5.127.2/envs/default.env diff --git a/appstore/ghost/5.127.1/envs/global.env b/appstore/ghost/5.127.2/envs/global.env similarity index 100% rename from appstore/ghost/5.127.1/envs/global.env rename to appstore/ghost/5.127.2/envs/global.env diff --git a/appstore/ghost/5.127.1/scripts/init.sh b/appstore/ghost/5.127.2/scripts/init.sh similarity index 100% rename from appstore/ghost/5.127.1/scripts/init.sh rename to appstore/ghost/5.127.2/scripts/init.sh diff --git a/appstore/ghost/5.127.1/scripts/uninstall.sh b/appstore/ghost/5.127.2/scripts/uninstall.sh similarity index 100% rename from appstore/ghost/5.127.1/scripts/uninstall.sh rename to appstore/ghost/5.127.2/scripts/uninstall.sh diff --git a/appstore/ghost/5.127.1/scripts/upgrade.sh b/appstore/ghost/5.127.2/scripts/upgrade.sh similarity index 100% rename from appstore/ghost/5.127.1/scripts/upgrade.sh rename to appstore/ghost/5.127.2/scripts/upgrade.sh diff --git a/appstore/gitea-runner/0.2.11/.env b/appstore/gitea-runner/0.2.12/.env similarity index 100% rename from appstore/gitea-runner/0.2.11/.env rename to appstore/gitea-runner/0.2.12/.env diff --git a/appstore/gitea-runner/0.2.11/data.yml b/appstore/gitea-runner/0.2.12/data.yml similarity index 100% rename from appstore/gitea-runner/0.2.11/data.yml rename to appstore/gitea-runner/0.2.12/data.yml diff --git a/appstore/gitea-runner/0.2.11/docker-compose.yml b/appstore/gitea-runner/0.2.12/docker-compose.yml similarity index 92% rename from appstore/gitea-runner/0.2.11/docker-compose.yml rename to appstore/gitea-runner/0.2.12/docker-compose.yml index cc71e196f..1b571689a 100644 --- a/appstore/gitea-runner/0.2.11/docker-compose.yml +++ b/appstore/gitea-runner/0.2.12/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: gitea/act_runner:0.2.11 + image: gitea/act_runner:0.2.12 labels: createdBy: Apps networks: diff --git a/appstore/gitea-runner/0.2.11/envs/default.env b/appstore/gitea-runner/0.2.12/envs/default.env similarity index 100% rename from appstore/gitea-runner/0.2.11/envs/default.env rename to appstore/gitea-runner/0.2.12/envs/default.env diff --git a/appstore/gitea-runner/0.2.11/envs/global.env b/appstore/gitea-runner/0.2.12/envs/global.env similarity index 100% rename from appstore/gitea-runner/0.2.11/envs/global.env rename to appstore/gitea-runner/0.2.12/envs/global.env diff --git a/appstore/gitea-runner/0.2.11/scripts/init.sh b/appstore/gitea-runner/0.2.12/scripts/init.sh similarity index 100% rename from appstore/gitea-runner/0.2.11/scripts/init.sh rename to appstore/gitea-runner/0.2.12/scripts/init.sh diff --git a/appstore/gitea-runner/0.2.11/scripts/uninstall.sh b/appstore/gitea-runner/0.2.12/scripts/uninstall.sh similarity index 100% rename from appstore/gitea-runner/0.2.11/scripts/uninstall.sh rename to appstore/gitea-runner/0.2.12/scripts/uninstall.sh diff --git a/appstore/gitea-runner/0.2.11/scripts/upgrade.sh b/appstore/gitea-runner/0.2.12/scripts/upgrade.sh similarity index 100% rename from appstore/gitea-runner/0.2.11/scripts/upgrade.sh rename to appstore/gitea-runner/0.2.12/scripts/upgrade.sh diff --git a/appstore/mdc-ng/1.4.0/.env b/appstore/mdc-ng/1.5.1/.env similarity index 100% rename from appstore/mdc-ng/1.4.0/.env rename to appstore/mdc-ng/1.5.1/.env diff --git a/appstore/mdc-ng/1.4.0/data.yml b/appstore/mdc-ng/1.5.1/data.yml similarity index 100% rename from appstore/mdc-ng/1.4.0/data.yml rename to appstore/mdc-ng/1.5.1/data.yml diff --git a/appstore/mdc-ng/1.4.0/docker-compose.yml b/appstore/mdc-ng/1.5.1/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.4.0/docker-compose.yml rename to appstore/mdc-ng/1.5.1/docker-compose.yml index 5941d156e..b251702e4 100644 --- a/appstore/mdc-ng/1.4.0/docker-compose.yml +++ b/appstore/mdc-ng/1.5.1/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.4.0 + image: mdcng/mdc:1.5.1 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.4.0/envs/default.env b/appstore/mdc-ng/1.5.1/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.4.0/envs/default.env rename to appstore/mdc-ng/1.5.1/envs/default.env diff --git a/appstore/mdc-ng/1.4.0/envs/global.env b/appstore/mdc-ng/1.5.1/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.4.0/envs/global.env rename to appstore/mdc-ng/1.5.1/envs/global.env diff --git a/appstore/mdc-ng/1.4.0/scripts/init.sh b/appstore/mdc-ng/1.5.1/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.4.0/scripts/init.sh rename to appstore/mdc-ng/1.5.1/scripts/init.sh diff --git a/appstore/mdc-ng/1.4.0/scripts/uninstall.sh b/appstore/mdc-ng/1.5.1/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.4.0/scripts/uninstall.sh rename to appstore/mdc-ng/1.5.1/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.4.0/scripts/upgrade.sh b/appstore/mdc-ng/1.5.1/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.4.0/scripts/upgrade.sh rename to appstore/mdc-ng/1.5.1/scripts/upgrade.sh diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index efc586b36..856029ce1 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.947.0 + image: casbin/casdoor:v1.948.0 labels: createdBy: Apps networks: diff --git a/dockge/ghost/docker-compose.yml b/dockge/ghost/docker-compose.yml index f904986b7..95674ea2c 100644 --- a/dockge/ghost/docker-compose.yml +++ b/dockge/ghost/docker-compose.yml @@ -14,7 +14,7 @@ services: - database__client=mysql - mail__options__service=Email - mail__options__secure=true - image: ghost:5.127.1 + image: ghost:5.127.2 labels: createdBy: Apps networks: diff --git a/dockge/gitea-runner/docker-compose.yml b/dockge/gitea-runner/docker-compose.yml index cc71e196f..1b571689a 100644 --- a/dockge/gitea-runner/docker-compose.yml +++ b/dockge/gitea-runner/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: gitea/act_runner:0.2.11 + image: gitea/act_runner:0.2.12 labels: createdBy: Apps networks: diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 5941d156e..b251702e4 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.4.0 + image: mdcng/mdc:1.5.1 labels: createdBy: Apps networks: From 48c176a65356c9923df163ab74f446cfbc64e44d Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 26 Jun 2025 06:33:30 +0000 Subject: [PATCH 30/96] Processed apps directory via GitHub Actions --- dockge/alist-aria2/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist-ffmpeg/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist/docker-compose.yml | 2 +- dockge/{alist_3_40_0 => alist_3_45_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/auto-lady/.env | 6 - dockge/auto-lady/docker-compose.yml | 6 +- dockge/auto-lady_1_4_5/.env | 15 - dockge/auto-lady_1_4_5/docker-compose.yml | 22 - .../.env | 2 +- .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/bili-fetcher/docker-compose.yml | 4 +- .../.env | 0 .../config/categories.json | 0 .../config/config.yaml | 0 .../config/scheduler_config.yaml | 0 .../config/sql_statements_mysql.py | 0 .../config/sql_statements_sqlite.py | 0 .../config/template.html | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse/.env | 22 +- dockge/byte-muse/docker-compose.yml | 18 +- dockge/byte-muse_license/.env | 3 + dockge/byte-muse_license/docker-compose.yml | 14 + .../envs/default.env | 0 .../envs/global.env | 0 dockge/emby/docker-compose.yml | 2 +- dockge/{emby_4_9_1_1 => emby_4_8_11_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/homarr/.env | 3 + dockge/homarr/docker-compose.yml | 4 +- dockge/{homarr_1_18_1 => homarr_0_15_10}/.env | 3 - .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 .../docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-no-machine/docker-compose.yml | 27 +- .../.env | 0 .../docker-compose.yml | 27 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-server/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich/docker-compose.yml | 29 +- .../{immich_1_132_3 => immich_1_135_3}/.env | 0 .../docker-compose.yml | 29 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/postgresql/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/qbittorrent/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/redis/config/redis.conf | 759 +++++++++++++----- dockge/redis/docker-compose.yml | 2 +- dockge/{redis_7_4_4 => redis_6_2_18}/.env | 0 .../config/redis.conf | 759 +++++------------- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec/docker-compose.yml | 4 +- .../{stream-rec_main => stream-rec_dev}/.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami-mysql/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami/docker-compose.yml | 2 +- dockge/{umami_2_16_0 => umami_2_18_1}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma/.env | 6 - dockge/uptime-kuma/docker-compose.yml | 11 +- dockge/uptime-kuma_1_23_16/.env | 12 + .../docker-compose.yml | 11 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma_2_0_0/.env | 6 - 110 files changed, 933 insertions(+), 933 deletions(-) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/.env (100%) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/docker-compose.yml (94%) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/envs/default.env (100%) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/envs/global.env (100%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/.env (100%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/docker-compose.yml (93%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/envs/default.env (100%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/envs/global.env (100%) rename dockge/{alist_3_40_0 => alist_3_45_0}/.env (100%) rename dockge/{alist_3_40_0 => alist_3_45_0}/docker-compose.yml (94%) rename dockge/{alist_3_40_0 => alist_3_45_0}/envs/default.env (100%) rename dockge/{alist_3_40_0 => alist_3_45_0}/envs/global.env (100%) delete mode 100644 dockge/auto-lady_1_4_5/.env delete mode 100644 dockge/auto-lady_1_4_5/docker-compose.yml rename dockge/{byte-muse_1_11_8 => auto-lady_1_5_3}/.env (91%) rename dockge/{byte-muse_1_11_8 => auto-lady_1_5_3}/docker-compose.yml (91%) rename dockge/{auto-lady_1_4_5 => auto-lady_1_5_3}/envs/default.env (100%) rename dockge/{auto-lady_1_4_5 => auto-lady_1_5_3}/envs/global.env (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/.env (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/categories.json (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/config.yaml (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/scheduler_config.yaml (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/sql_statements_mysql.py (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/sql_statements_sqlite.py (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/template.html (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/docker-compose.yml (88%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/envs/default.env (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/envs/global.env (100%) create mode 100644 dockge/byte-muse_license/.env create mode 100644 dockge/byte-muse_license/docker-compose.yml rename dockge/{byte-muse_1_11_8 => byte-muse_license}/envs/default.env (100%) rename dockge/{byte-muse_1_11_8 => byte-muse_license}/envs/global.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/docker-compose.yml (96%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/envs/default.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/envs/global.env (100%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/.env (52%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/docker-compose.yml (73%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/envs/default.env (100%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/envs/global.env (100%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/.env (100%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/docker-compose.yml (87%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/envs/default.env (100%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/envs/global.env (100%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/.env (100%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/docker-compose.yml (54%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/envs/default.env (100%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/envs/global.env (100%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/.env (100%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/docker-compose.yml (89%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/envs/default.env (100%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/envs/global.env (100%) rename dockge/{immich_1_132_3 => immich_1_135_3}/.env (100%) rename dockge/{immich_1_132_3 => immich_1_135_3}/docker-compose.yml (59%) rename dockge/{immich_1_132_3 => immich_1_135_3}/envs/default.env (100%) rename dockge/{immich_1_132_3 => immich_1_135_3}/envs/global.env (100%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/.env (100%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/docker-compose.yml (87%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/envs/default.env (100%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/envs/global.env (100%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/.env (100%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/docker-compose.yml (95%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/envs/default.env (100%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/envs/global.env (100%) rename dockge/{redis_7_4_4 => redis_6_2_18}/.env (100%) rename dockge/{redis_7_4_4 => redis_6_2_18}/config/redis.conf (72%) rename dockge/{redis_7_4_4 => redis_6_2_18}/docker-compose.yml (94%) rename dockge/{redis_7_4_4 => redis_6_2_18}/envs/default.env (100%) rename dockge/{redis_7_4_4 => redis_6_2_18}/envs/global.env (100%) rename dockge/{stream-rec_main => stream-rec_dev}/.env (100%) rename dockge/{stream-rec_main => stream-rec_dev}/docker-compose.yml (92%) rename dockge/{stream-rec_main => stream-rec_dev}/envs/default.env (100%) rename dockge/{stream-rec_main => stream-rec_dev}/envs/global.env (100%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/.env (100%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/docker-compose.yml (91%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/envs/default.env (100%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/envs/global.env (100%) rename dockge/{umami_2_16_0 => umami_2_18_1}/.env (100%) rename dockge/{umami_2_16_0 => umami_2_18_1}/docker-compose.yml (90%) rename dockge/{umami_2_16_0 => umami_2_18_1}/envs/default.env (100%) rename dockge/{umami_2_16_0 => umami_2_18_1}/envs/global.env (100%) create mode 100644 dockge/uptime-kuma_1_23_16/.env rename dockge/{uptime-kuma_2_0_0 => uptime-kuma_1_23_16}/docker-compose.yml (57%) rename dockge/{uptime-kuma_2_0_0 => uptime-kuma_1_23_16}/envs/default.env (100%) rename dockge/{uptime-kuma_2_0_0 => uptime-kuma_1_23_16}/envs/global.env (100%) delete mode 100644 dockge/uptime-kuma_2_0_0/.env diff --git a/dockge/alist-aria2/docker-compose.yml b/dockge/alist-aria2/docker-compose.yml index 987544dc1..a6913980a 100644 --- a/dockge/alist-aria2/docker-compose.yml +++ b/dockge/alist-aria2/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist-aria2:v3.41.0 + image: qyg2297248353/alist-aria2:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_40_0/.env b/dockge/alist-aria2_3_41_0/.env similarity index 100% rename from dockge/alist-aria2_3_40_0/.env rename to dockge/alist-aria2_3_41_0/.env diff --git a/dockge/alist-aria2_3_40_0/docker-compose.yml b/dockge/alist-aria2_3_41_0/docker-compose.yml similarity index 94% rename from dockge/alist-aria2_3_40_0/docker-compose.yml rename to dockge/alist-aria2_3_41_0/docker-compose.yml index a6913980a..987544dc1 100644 --- a/dockge/alist-aria2_3_40_0/docker-compose.yml +++ b/dockge/alist-aria2_3_41_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist-aria2:v3.40.0 + image: xhofe/alist-aria2:v3.41.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_40_0/envs/default.env b/dockge/alist-aria2_3_41_0/envs/default.env similarity index 100% rename from dockge/alist-aria2_3_40_0/envs/default.env rename to dockge/alist-aria2_3_41_0/envs/default.env diff --git a/dockge/alist-aria2_3_40_0/envs/global.env b/dockge/alist-aria2_3_41_0/envs/global.env similarity index 100% rename from dockge/alist-aria2_3_40_0/envs/global.env rename to dockge/alist-aria2_3_41_0/envs/global.env diff --git a/dockge/alist-ffmpeg/docker-compose.yml b/dockge/alist-ffmpeg/docker-compose.yml index 37149a612..8da9f3b40 100644 --- a/dockge/alist-ffmpeg/docker-compose.yml +++ b/dockge/alist-ffmpeg/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0-ffmpeg + image: qyg2297248353/alist:v3.40.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_40_0/.env b/dockge/alist-ffmpeg_3_45_0/.env similarity index 100% rename from dockge/alist-ffmpeg_3_40_0/.env rename to dockge/alist-ffmpeg_3_45_0/.env diff --git a/dockge/alist-ffmpeg_3_40_0/docker-compose.yml b/dockge/alist-ffmpeg_3_45_0/docker-compose.yml similarity index 93% rename from dockge/alist-ffmpeg_3_40_0/docker-compose.yml rename to dockge/alist-ffmpeg_3_45_0/docker-compose.yml index 8da9f3b40..37149a612 100644 --- a/dockge/alist-ffmpeg_3_40_0/docker-compose.yml +++ b/dockge/alist-ffmpeg_3_45_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0-ffmpeg + image: xhofe/alist:v3.45.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_40_0/envs/default.env b/dockge/alist-ffmpeg_3_45_0/envs/default.env similarity index 100% rename from dockge/alist-ffmpeg_3_40_0/envs/default.env rename to dockge/alist-ffmpeg_3_45_0/envs/default.env diff --git a/dockge/alist-ffmpeg_3_40_0/envs/global.env b/dockge/alist-ffmpeg_3_45_0/envs/global.env similarity index 100% rename from dockge/alist-ffmpeg_3_40_0/envs/global.env rename to dockge/alist-ffmpeg_3_45_0/envs/global.env diff --git a/dockge/alist/docker-compose.yml b/dockge/alist/docker-compose.yml index baa8abfb1..a5363b529 100644 --- a/dockge/alist/docker-compose.yml +++ b/dockge/alist/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0 + image: qyg2297248353/alist:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_40_0/.env b/dockge/alist_3_45_0/.env similarity index 100% rename from dockge/alist_3_40_0/.env rename to dockge/alist_3_45_0/.env diff --git a/dockge/alist_3_40_0/docker-compose.yml b/dockge/alist_3_45_0/docker-compose.yml similarity index 94% rename from dockge/alist_3_40_0/docker-compose.yml rename to dockge/alist_3_45_0/docker-compose.yml index a5363b529..baa8abfb1 100644 --- a/dockge/alist_3_40_0/docker-compose.yml +++ b/dockge/alist_3_45_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0 + image: xhofe/alist:v3.45.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_40_0/envs/default.env b/dockge/alist_3_45_0/envs/default.env similarity index 100% rename from dockge/alist_3_40_0/envs/default.env rename to dockge/alist_3_45_0/envs/default.env diff --git a/dockge/alist_3_40_0/envs/global.env b/dockge/alist_3_45_0/envs/global.env similarity index 100% rename from dockge/alist_3_40_0/envs/global.env rename to dockge/alist_3_45_0/envs/global.env diff --git a/dockge/auto-lady/.env b/dockge/auto-lady/.env index 3258da058..a6f1eb1e9 100644 --- a/dockge/auto-lady/.env +++ b/dockge/auto-lady/.env @@ -13,9 +13,3 @@ CUSTOM_MOUNT_DIRECTORY_2= # 自定义挂载目录 3 CUSTOM_MOUNT_DIRECTORY_3= -# 网络代理地址 -HTTP_PROXY= - -# 跳过代理地址 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local - diff --git a/dockge/auto-lady/docker-compose.yml b/dockge/auto-lady/docker-compose.yml index d9c6c701e..40b13df53 100644 --- a/dockge/auto-lady/docker-compose.yml +++ b/dockge/auto-lady/docker-compose.yml @@ -7,11 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - HTTPS_PROXY=${HTTP_PROXY} - - HTTP_PROXY=${HTTP_PROXY:-} - - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.5.3 + image: orekiiiiiiiiiiiii/auto-lady:1.4.5 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/.env b/dockge/auto-lady_1_4_5/.env deleted file mode 100644 index a6f1eb1e9..000000000 --- a/dockge/auto-lady_1_4_5/.env +++ /dev/null @@ -1,15 +0,0 @@ -# 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/auto-lady - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8080 - -# 自定义挂载目录 1 -CUSTOM_MOUNT_DIRECTORY_1= - -# 自定义挂载目录 2 -CUSTOM_MOUNT_DIRECTORY_2= - -# 自定义挂载目录 3 -CUSTOM_MOUNT_DIRECTORY_3= - diff --git a/dockge/auto-lady_1_4_5/docker-compose.yml b/dockge/auto-lady_1_4_5/docker-compose.yml deleted file mode 100644 index 40b13df53..000000000 --- a/dockge/auto-lady_1_4_5/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ -networks: - 1panel-network: - external: true -services: - auto-lady: - container_name: auto-lady - env_file: - - ./envs/global.env - - .env - image: orekiiiiiiiiiiiii/auto-lady:1.4.5 - labels: - createdBy: Apps - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:80 - restart: always - volumes: - - ${AUTO_LADY_ROOT_PATH}/config:/data - - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} - - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} - - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/byte-muse_1_11_8/.env b/dockge/auto-lady_1_5_3/.env similarity index 91% rename from dockge/byte-muse_1_11_8/.env rename to dockge/auto-lady_1_5_3/.env index 7198039bd..3258da058 100644 --- a/dockge/byte-muse_1_11_8/.env +++ b/dockge/auto-lady_1_5_3/.env @@ -1,5 +1,5 @@ # 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/byte-muse +AUTO_LADY_ROOT_PATH=/home/auto-lady # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=8080 diff --git a/dockge/byte-muse_1_11_8/docker-compose.yml b/dockge/auto-lady_1_5_3/docker-compose.yml similarity index 91% rename from dockge/byte-muse_1_11_8/docker-compose.yml rename to dockge/auto-lady_1_5_3/docker-compose.yml index 3eb8188b7..d9c6c701e 100644 --- a/dockge/byte-muse_1_11_8/docker-compose.yml +++ b/dockge/auto-lady_1_5_3/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: auto-lady: - container_name: byte-muse + container_name: auto-lady env_file: - ./envs/global.env - .env @@ -11,7 +11,7 @@ services: - HTTPS_PROXY=${HTTP_PROXY} - HTTP_PROXY=${HTTP_PROXY:-} - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.11.8 + image: envyafish/byte-muse:1.5.3 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/envs/default.env b/dockge/auto-lady_1_5_3/envs/default.env similarity index 100% rename from dockge/auto-lady_1_4_5/envs/default.env rename to dockge/auto-lady_1_5_3/envs/default.env diff --git a/dockge/auto-lady_1_4_5/envs/global.env b/dockge/auto-lady_1_5_3/envs/global.env similarity index 100% rename from dockge/auto-lady_1_4_5/envs/global.env rename to dockge/auto-lady_1_5_3/envs/global.env diff --git a/dockge/bili-fetcher/docker-compose.yml b/dockge/bili-fetcher/docker-compose.yml index d6ac7c0ac..c68c76b14 100644 --- a/dockge/bili-fetcher/docker-compose.yml +++ b/dockge/bili-fetcher/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:v1.6.0 + image: qyg2297248353/bili-fetcher:latest networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:v1.6.0 + image: qyg2297248353/bili-fetcher-web:latest labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_latest/.env b/dockge/bili-fetcher_1_6_0/.env similarity index 100% rename from dockge/bili-fetcher_latest/.env rename to dockge/bili-fetcher_1_6_0/.env diff --git a/dockge/bili-fetcher_latest/config/categories.json b/dockge/bili-fetcher_1_6_0/config/categories.json similarity index 100% rename from dockge/bili-fetcher_latest/config/categories.json rename to dockge/bili-fetcher_1_6_0/config/categories.json diff --git a/dockge/bili-fetcher_latest/config/config.yaml b/dockge/bili-fetcher_1_6_0/config/config.yaml similarity index 100% rename from dockge/bili-fetcher_latest/config/config.yaml rename to dockge/bili-fetcher_1_6_0/config/config.yaml diff --git a/dockge/bili-fetcher_latest/config/scheduler_config.yaml b/dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml similarity index 100% rename from dockge/bili-fetcher_latest/config/scheduler_config.yaml rename to dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml diff --git a/dockge/bili-fetcher_latest/config/sql_statements_mysql.py b/dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py similarity index 100% rename from dockge/bili-fetcher_latest/config/sql_statements_mysql.py rename to dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py diff --git a/dockge/bili-fetcher_latest/config/sql_statements_sqlite.py b/dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py similarity index 100% rename from dockge/bili-fetcher_latest/config/sql_statements_sqlite.py rename to dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py diff --git a/dockge/bili-fetcher_latest/config/template.html b/dockge/bili-fetcher_1_6_0/config/template.html similarity index 100% rename from dockge/bili-fetcher_latest/config/template.html rename to dockge/bili-fetcher_1_6_0/config/template.html diff --git a/dockge/bili-fetcher_latest/docker-compose.yml b/dockge/bili-fetcher_1_6_0/docker-compose.yml similarity index 88% rename from dockge/bili-fetcher_latest/docker-compose.yml rename to dockge/bili-fetcher_1_6_0/docker-compose.yml index c68c76b14..d6ac7c0ac 100644 --- a/dockge/bili-fetcher_latest/docker-compose.yml +++ b/dockge/bili-fetcher_1_6_0/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:latest + image: qyg2297248353/bili-fetcher:v1.6.0 networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:latest + image: qyg2297248353/bili-fetcher-web:v1.6.0 labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_latest/envs/default.env b/dockge/bili-fetcher_1_6_0/envs/default.env similarity index 100% rename from dockge/bili-fetcher_latest/envs/default.env rename to dockge/bili-fetcher_1_6_0/envs/default.env diff --git a/dockge/bili-fetcher_latest/envs/global.env b/dockge/bili-fetcher_1_6_0/envs/global.env similarity index 100% rename from dockge/bili-fetcher_latest/envs/global.env rename to dockge/bili-fetcher_1_6_0/envs/global.env diff --git a/dockge/byte-muse/.env b/dockge/byte-muse/.env index e633719fd..7198039bd 100644 --- a/dockge/byte-muse/.env +++ b/dockge/byte-muse/.env @@ -1,3 +1,21 @@ -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=5000 +# 数据持久化路径 [必填] +AUTO_LADY_ROOT_PATH=/home/byte-muse + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + +# 网络代理地址 +HTTP_PROXY= + +# 跳过代理地址 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local diff --git a/dockge/byte-muse/docker-compose.yml b/dockge/byte-muse/docker-compose.yml index e70ac8e43..3eb8188b7 100644 --- a/dockge/byte-muse/docker-compose.yml +++ b/dockge/byte-muse/docker-compose.yml @@ -2,13 +2,25 @@ networks: 1panel-network: external: true services: - byte-muse-license: + auto-lady: container_name: byte-muse - image: envyafish/byte-muse-license:latest + env_file: + - ./envs/global.env + - .env + environment: + - HTTPS_PROXY=${HTTP_PROXY} + - HTTP_PROXY=${HTTP_PROXY:-} + - NO_PROXY=${NO_PROXY:-} + image: envyafish/byte-muse:1.11.8 labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:5000 + - ${PANEL_APP_PORT_HTTP}:80 restart: always + volumes: + - ${AUTO_LADY_ROOT_PATH}/config:/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/byte-muse_license/.env b/dockge/byte-muse_license/.env new file mode 100644 index 000000000..e633719fd --- /dev/null +++ b/dockge/byte-muse_license/.env @@ -0,0 +1,3 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=5000 + diff --git a/dockge/byte-muse_license/docker-compose.yml b/dockge/byte-muse_license/docker-compose.yml new file mode 100644 index 000000000..e70ac8e43 --- /dev/null +++ b/dockge/byte-muse_license/docker-compose.yml @@ -0,0 +1,14 @@ +networks: + 1panel-network: + external: true +services: + byte-muse-license: + container_name: byte-muse + image: envyafish/byte-muse-license:latest + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:5000 + restart: always diff --git a/dockge/byte-muse_1_11_8/envs/default.env b/dockge/byte-muse_license/envs/default.env similarity index 100% rename from dockge/byte-muse_1_11_8/envs/default.env rename to dockge/byte-muse_license/envs/default.env diff --git a/dockge/byte-muse_1_11_8/envs/global.env b/dockge/byte-muse_license/envs/global.env similarity index 100% rename from dockge/byte-muse_1_11_8/envs/global.env rename to dockge/byte-muse_license/envs/global.env diff --git a/dockge/emby/docker-compose.yml b/dockge/emby/docker-compose.yml index a461e63ac..e2d892aa1 100644 --- a/dockge/emby/docker-compose.yml +++ b/dockge/emby/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.8.11.0 + image: emby/embyserver:4.9.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_1_1/.env b/dockge/emby_4_8_11_0/.env similarity index 100% rename from dockge/emby_4_9_1_1/.env rename to dockge/emby_4_8_11_0/.env diff --git a/dockge/emby_4_9_1_1/docker-compose.yml b/dockge/emby_4_8_11_0/docker-compose.yml similarity index 96% rename from dockge/emby_4_9_1_1/docker-compose.yml rename to dockge/emby_4_8_11_0/docker-compose.yml index e2d892aa1..a461e63ac 100644 --- a/dockge/emby_4_9_1_1/docker-compose.yml +++ b/dockge/emby_4_8_11_0/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_1_1/envs/default.env b/dockge/emby_4_8_11_0/envs/default.env similarity index 100% rename from dockge/emby_4_9_1_1/envs/default.env rename to dockge/emby_4_8_11_0/envs/default.env diff --git a/dockge/emby_4_9_1_1/envs/global.env b/dockge/emby_4_8_11_0/envs/global.env similarity index 100% rename from dockge/emby_4_9_1_1/envs/global.env rename to dockge/emby_4_8_11_0/envs/global.env diff --git a/dockge/homarr/.env b/dockge/homarr/.env index ab5a7db42..39cbf2014 100644 --- a/dockge/homarr/.env +++ b/dockge/homarr/.env @@ -4,3 +4,6 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 +# 密钥 [必填] +SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 + diff --git a/dockge/homarr/docker-compose.yml b/dockge/homarr/docker-compose.yml index 3b26c2c66..c9303a621 100644 --- a/dockge/homarr/docker-compose.yml +++ b/dockge/homarr/docker-compose.yml @@ -16,6 +16,4 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/configs:/app/data/configs - - ${HOMARR_ROOT_PATH}/icons:/app/public/icons - - ${HOMARR_ROOT_PATH}/data:/data + - ${HOMARR_ROOT_PATH}/appdata:/appdata diff --git a/dockge/homarr_1_18_1/.env b/dockge/homarr_0_15_10/.env similarity index 52% rename from dockge/homarr_1_18_1/.env rename to dockge/homarr_0_15_10/.env index 39cbf2014..ab5a7db42 100644 --- a/dockge/homarr_1_18_1/.env +++ b/dockge/homarr_0_15_10/.env @@ -4,6 +4,3 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 -# 密钥 [必填] -SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 - diff --git a/dockge/homarr_1_18_1/docker-compose.yml b/dockge/homarr_0_15_10/docker-compose.yml similarity index 73% rename from dockge/homarr_1_18_1/docker-compose.yml rename to dockge/homarr_0_15_10/docker-compose.yml index c9303a621..3b26c2c66 100644 --- a/dockge/homarr_1_18_1/docker-compose.yml +++ b/dockge/homarr_0_15_10/docker-compose.yml @@ -16,4 +16,6 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/appdata:/appdata + - ${HOMARR_ROOT_PATH}/configs:/app/data/configs + - ${HOMARR_ROOT_PATH}/icons:/app/public/icons + - ${HOMARR_ROOT_PATH}/data:/data diff --git a/dockge/homarr_1_18_1/envs/default.env b/dockge/homarr_0_15_10/envs/default.env similarity index 100% rename from dockge/homarr_1_18_1/envs/default.env rename to dockge/homarr_0_15_10/envs/default.env diff --git a/dockge/homarr_1_18_1/envs/global.env b/dockge/homarr_0_15_10/envs/global.env similarity index 100% rename from dockge/homarr_1_18_1/envs/global.env rename to dockge/homarr_0_15_10/envs/global.env diff --git a/dockge/immich-machine-learning/docker-compose.yml b/dockge/immich-machine-learning/docker-compose.yml index 8aa758179..0c0530ffe 100644 --- a/dockge/immich-machine-learning/docker-compose.yml +++ b/dockge/immich-machine-learning/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_132_3/.env b/dockge/immich-machine-learning_1_135_3/.env similarity index 100% rename from dockge/immich-machine-learning_1_132_3/.env rename to dockge/immich-machine-learning_1_135_3/.env diff --git a/dockge/immich-machine-learning_1_132_3/docker-compose.yml b/dockge/immich-machine-learning_1_135_3/docker-compose.yml similarity index 87% rename from dockge/immich-machine-learning_1_132_3/docker-compose.yml rename to dockge/immich-machine-learning_1_135_3/docker-compose.yml index 0c0530ffe..8aa758179 100644 --- a/dockge/immich-machine-learning_1_132_3/docker-compose.yml +++ b/dockge/immich-machine-learning_1_135_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_132_3/envs/default.env b/dockge/immich-machine-learning_1_135_3/envs/default.env similarity index 100% rename from dockge/immich-machine-learning_1_132_3/envs/default.env rename to dockge/immich-machine-learning_1_135_3/envs/default.env diff --git a/dockge/immich-machine-learning_1_132_3/envs/global.env b/dockge/immich-machine-learning_1_135_3/envs/global.env similarity index 100% rename from dockge/immich-machine-learning_1_132_3/envs/global.env rename to dockge/immich-machine-learning_1_135_3/envs/global.env diff --git a/dockge/immich-no-machine/docker-compose.yml b/dockge/immich-no-machine/docker-compose.yml index b174763a8..0ad713e57 100644 --- a/dockge/immich-no-machine/docker-compose.yml +++ b/dockge/immich-no-machine/docker-compose.yml @@ -4,13 +4,36 @@ networks: external: true services: immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -29,7 +52,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_132_3/.env b/dockge/immich-no-machine_1_135_3/.env similarity index 100% rename from dockge/immich-no-machine_1_132_3/.env rename to dockge/immich-no-machine_1_135_3/.env diff --git a/dockge/immich-no-machine_1_132_3/docker-compose.yml b/dockge/immich-no-machine_1_135_3/docker-compose.yml similarity index 54% rename from dockge/immich-no-machine_1_132_3/docker-compose.yml rename to dockge/immich-no-machine_1_135_3/docker-compose.yml index 0ad713e57..b174763a8 100644 --- a/dockge/immich-no-machine_1_132_3/docker-compose.yml +++ b/dockge/immich-no-machine_1_135_3/docker-compose.yml @@ -4,36 +4,13 @@ networks: external: true services: immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -52,7 +29,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_132_3/envs/default.env b/dockge/immich-no-machine_1_135_3/envs/default.env similarity index 100% rename from dockge/immich-no-machine_1_132_3/envs/default.env rename to dockge/immich-no-machine_1_135_3/envs/default.env diff --git a/dockge/immich-no-machine_1_132_3/envs/global.env b/dockge/immich-no-machine_1_135_3/envs/global.env similarity index 100% rename from dockge/immich-no-machine_1_132_3/envs/global.env rename to dockge/immich-no-machine_1_135_3/envs/global.env diff --git a/dockge/immich-server/docker-compose.yml b/dockge/immich-server/docker-compose.yml index a6a472d9a..1f7695a07 100644 --- a/dockge/immich-server/docker-compose.yml +++ b/dockge/immich-server/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_132_3/.env b/dockge/immich-server_1_135_3/.env similarity index 100% rename from dockge/immich-server_1_132_3/.env rename to dockge/immich-server_1_135_3/.env diff --git a/dockge/immich-server_1_132_3/docker-compose.yml b/dockge/immich-server_1_135_3/docker-compose.yml similarity index 89% rename from dockge/immich-server_1_132_3/docker-compose.yml rename to dockge/immich-server_1_135_3/docker-compose.yml index 1f7695a07..a6a472d9a 100644 --- a/dockge/immich-server_1_132_3/docker-compose.yml +++ b/dockge/immich-server_1_135_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_132_3/envs/default.env b/dockge/immich-server_1_135_3/envs/default.env similarity index 100% rename from dockge/immich-server_1_132_3/envs/default.env rename to dockge/immich-server_1_135_3/envs/default.env diff --git a/dockge/immich-server_1_132_3/envs/global.env b/dockge/immich-server_1_135_3/envs/global.env similarity index 100% rename from dockge/immich-server_1_132_3/envs/global.env rename to dockge/immich-server_1_135_3/envs/global.env diff --git a/dockge/immich/docker-compose.yml b/dockge/immich/docker-compose.yml index 680035b9c..44a2398ec 100644 --- a/dockge/immich/docker-compose.yml +++ b/dockge/immich/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: @@ -21,13 +21,36 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -45,7 +68,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_132_3/.env b/dockge/immich_1_135_3/.env similarity index 100% rename from dockge/immich_1_132_3/.env rename to dockge/immich_1_135_3/.env diff --git a/dockge/immich_1_132_3/docker-compose.yml b/dockge/immich_1_135_3/docker-compose.yml similarity index 59% rename from dockge/immich_1_132_3/docker-compose.yml rename to dockge/immich_1_135_3/docker-compose.yml index 44a2398ec..680035b9c 100644 --- a/dockge/immich_1_132_3/docker-compose.yml +++ b/dockge/immich_1_135_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: @@ -21,36 +21,13 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -68,7 +45,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_132_3/envs/default.env b/dockge/immich_1_135_3/envs/default.env similarity index 100% rename from dockge/immich_1_132_3/envs/default.env rename to dockge/immich_1_135_3/envs/default.env diff --git a/dockge/immich_1_132_3/envs/global.env b/dockge/immich_1_135_3/envs/global.env similarity index 100% rename from dockge/immich_1_132_3/envs/global.env rename to dockge/immich_1_135_3/envs/global.env diff --git a/dockge/postgresql/docker-compose.yml b/dockge/postgresql/docker-compose.yml index aad82d79a..6826af067 100644 --- a/dockge/postgresql/docker-compose.yml +++ b/dockge/postgresql/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: postgresql + container_name: pg16-alpine-postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16.9-alpine + image: postgres:16-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_pg16-alpine/.env b/dockge/postgresql_16_9-alpine/.env similarity index 100% rename from dockge/postgresql_pg16-alpine/.env rename to dockge/postgresql_16_9-alpine/.env diff --git a/dockge/postgresql_pg16-alpine/docker-compose.yml b/dockge/postgresql_16_9-alpine/docker-compose.yml similarity index 87% rename from dockge/postgresql_pg16-alpine/docker-compose.yml rename to dockge/postgresql_16_9-alpine/docker-compose.yml index 6826af067..aad82d79a 100644 --- a/dockge/postgresql_pg16-alpine/docker-compose.yml +++ b/dockge/postgresql_16_9-alpine/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: pg16-alpine-postgresql + container_name: postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16-alpine + image: postgres:16.9-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_pg16-alpine/envs/default.env b/dockge/postgresql_16_9-alpine/envs/default.env similarity index 100% rename from dockge/postgresql_pg16-alpine/envs/default.env rename to dockge/postgresql_16_9-alpine/envs/default.env diff --git a/dockge/postgresql_pg16-alpine/envs/global.env b/dockge/postgresql_16_9-alpine/envs/global.env similarity index 100% rename from dockge/postgresql_pg16-alpine/envs/global.env rename to dockge/postgresql_16_9-alpine/envs/global.env diff --git a/dockge/qbittorrent/docker-compose.yml b/dockge/qbittorrent/docker-compose.yml index 5dd224da4..5ec4b458b 100644 --- a/dockge/qbittorrent/docker-compose.yml +++ b/dockge/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:5.1.1 + image: linuxserver/qbittorrent:4.6.7 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_4_6_7/.env b/dockge/qbittorrent_5_1_1/.env similarity index 100% rename from dockge/qbittorrent_4_6_7/.env rename to dockge/qbittorrent_5_1_1/.env diff --git a/dockge/qbittorrent_4_6_7/docker-compose.yml b/dockge/qbittorrent_5_1_1/docker-compose.yml similarity index 95% rename from dockge/qbittorrent_4_6_7/docker-compose.yml rename to dockge/qbittorrent_5_1_1/docker-compose.yml index 5ec4b458b..5dd224da4 100644 --- a/dockge/qbittorrent_4_6_7/docker-compose.yml +++ b/dockge/qbittorrent_5_1_1/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:4.6.7 + image: linuxserver/qbittorrent:5.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_4_6_7/envs/default.env b/dockge/qbittorrent_5_1_1/envs/default.env similarity index 100% rename from dockge/qbittorrent_4_6_7/envs/default.env rename to dockge/qbittorrent_5_1_1/envs/default.env diff --git a/dockge/qbittorrent_4_6_7/envs/global.env b/dockge/qbittorrent_5_1_1/envs/global.env similarity index 100% rename from dockge/qbittorrent_4_6_7/envs/global.env rename to dockge/qbittorrent_5_1_1/envs/global.env diff --git a/dockge/redis/config/redis.conf b/dockge/redis/config/redis.conf index ca22ec9f6..8795ae291 100644 --- a/dockge/redis/config/redis.conf +++ b/dockge/redis/config/redis.conf @@ -32,8 +32,17 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # +# Included paths may contain wildcards. All files matching the wildcards will +# be included in alphabetical order. +# Note that if an include path contains a wildcards but no files match it when +# the server is started, the include statement will be ignored and no error will +# be emitted. It is safe, therefore, to include wildcard files from empty +# directories. +# # include /path/to/local.conf # include /path/to/other.conf +# include /path/to/fragments/*.conf +# ################################## MODULES ##################################### @@ -49,43 +58,81 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interface. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 loopback interface address (this means Redis will only be able to -# accept client connections from the same host that it is running on). +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT OUT THE FOLLOWING LINE. +# COMMENT OUT THE FOLLOWING LINE. +# +# You will also need to set a password unless you explicitly disable protected +# mode. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 +# By default, outgoing connections (from replica to master, from Sentinel to +# instances, cluster bus, etc.) are not bound to a specific local address. In +# most cases, this means the operating system will handle that based on routing +# and the interface through which the connection goes out. +# +# Using bind-source-addr it is possible to configure a specific address to bind +# to, which may also affect how the connection gets routed. +# +# Example: +# +# bind-source-addr 10.0.0.1 + # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. +# When protected mode is on and the default user has no password, the server +# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address +# (::1) or Unix domain sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. +# even if no authentication is configured. protected-mode yes +# Redis uses default hardened security configuration directives to reduce the +# attack surface on innocent users. Therefore, several sensitive configuration +# directives are immutable, and some potentially-dangerous commands are blocked. +# +# Configuration directives that control files that Redis writes to (e.g., 'dir' +# and 'dbfilename') and that aren't usually modified during runtime +# are protected by making them immutable. +# +# Commands that can increase the attack surface of Redis and that aren't usually +# called by users are blocked by default. +# +# These can be exposed to either all connections or just local ones by setting +# each of the configs listed below to either of these values: +# +# no - Block for any connection (remain immutable) +# yes - Allow for any connection (no protection) +# local - Allow only for local connections. Ones originating from the +# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. +# +# enable-protected-configs no +# enable-debug-command no +# enable-module-command no + # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -105,7 +152,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /tmp/redis.sock +# unixsocket /run/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -128,6 +175,16 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 +# Apply OS-specific mechanism to mark the listening socket with the specified +# ID, to support advanced routing and filtering capabilities. +# +# On Linux, the ID represents a connection mark. +# On FreeBSD, the ID represents a socket cookie ID. +# On OpenBSD, the ID represents a route table ID. +# +# The default value is 0, which implies no marking is required. +# socket-mark-id 0 + ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -143,8 +200,32 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, +# required by older versions of OpenSSL (<3.0). Newer versions do not require +# this configuration and recommend against it. # # tls-dh-params-file redis.dh @@ -177,9 +258,12 @@ tcp-keepalive 300 # # tls-cluster yes -# Explicitly specify TLS versions to support. Allowed values are case insensitive -# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or -# any combination. To enable only TLSv1.2 and TLSv1.3, use: +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -221,6 +305,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -229,11 +314,17 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -supervised no +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -244,6 +335,9 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -269,44 +363,74 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" ################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behavior will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" -save 900 1 -save 300 10 -save 60 10000 +# Save the DB to disk. +# +# save [ ...] +# +# Redis will save the DB if the given number of seconds elapsed and it +# surpassed the given number of write operations against the DB. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 change was performed +# * After 300 seconds (5 minutes) if at least 100 changes were performed +# * After 60 seconds if at least 10000 changes were performed +# +# You can set these explicitly by uncommenting the following line. +# +# save 3600 1 300 100 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -338,6 +462,21 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes +# Enables or disables full sanitization checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitization +# yes - Always perform full sanitization +# clients - Perform full sanitization only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + # The filename where to dump the DB dbfilename dump.rdb @@ -412,9 +551,10 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with -# an error "SYNC with master in progress" to all commands except: -# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error +# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" +# to all data access commands, excluding commands such as: +# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -463,7 +603,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync no +repl-diskless-sync yes # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -477,12 +617,18 @@ repl-diskless-sync no # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 +# When diskless replication is enabled with a delay, it is possible to let +# the replication start before the maximum delay is reached if the maximum +# number of replicas expected have connected. Default of 0 means that the +# maximum is not defined and Redis will wait the full delay. +repl-diskless-sync-max-replicas 0 + # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if your do what you are doing. +# stage with the master. Use only if you know what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -491,19 +637,23 @@ repl-diskless-sync-delay 5 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and salve buffers). +# Copy on Write memory and replica buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep a copy of the current db contents in RAM while parsing -# the data directly from the socket. note that this requires -# sufficient memory, if you don't have it, you risk an OOM kill. +# "swapdb" - Keep current db contents in RAM while parsing the data directly +# from the socket. Replicas in this mode can keep serving current +# data set while replication is in progress, except for cases where +# they can't recognize master as having a data set from same +# replication history. +# Note that this requires sufficient memory, if you don't have it, +# you risk an OOM kill. repl-diskless-load disabled -# Replicas send PINGs to server in a predefined interval. It's possible to +# Master send PINGs to its replicas in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -578,6 +728,43 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 +# The propagation error behavior controls how Redis will behave when it is +# unable to handle a command being processed in the replication stream from a master +# or processed while reading from an AOF file. Errors that occur during propagation +# are unexpected, and can cause data inconsistency. However, there are edge cases +# in earlier versions of Redis where it was possible for the server to replicate or persist +# commands that would fail on future versions. For this reason the default behavior +# is to ignore such errors and continue processing commands. +# +# If an application wants to ensure there is no data divergence, this configuration +# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' +# to only panic when a replica encounters an error on the replication stream. One of +# these two panic values will become the default value in the future once there are +# sufficient safety mechanisms in place to prevent false positive crashes. +# +# propagation-error-behavior ignore + +# Replica ignore disk write errors controls the behavior of a replica when it is +# unable to persist a write command received from its master to disk. By default, +# this configuration is set to 'no' and will crash the replica in this condition. +# It is not recommended to change this default, however in order to be compatible +# with older versions of Redis this config can be toggled to 'yes' which will just +# log a warning and execute the write command it got from the master. +# +# replica-ignore-disk-write-errors no + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -633,7 +820,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# 16 millions of slots, what clients may have certain subsets of keys. In turn +# a radix key indexed by key name, what clients have which keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -697,8 +884,12 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# + Allow the execution of that command -# - Disallow the execution of that command +# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command. +# May be used with `|` for allowing subcommands (e.g "+config|get") +# - Disallow the execution of that command. +# May be used with `|` for blocking subcommands (e.g "-config|set") # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -706,10 +897,11 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|subcommand Allow a specific subcommand of an otherwise -# disabled command. Note that this form is not -# allowed as negative like -DEBUG|SEGFAULT, but -# only additive starting with "+". +# +|first-arg Allow a specific first argument of an otherwise +# disabled command. It is only supported on commands with +# no sub-commands, and is not allowed as negative form +# like -SELECT|1, only additive starting with "+". This +# feature is deprecated and may be removed in the future. # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -717,8 +909,17 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. +# %R~ Add key read pattern that specifies which keys can be read +# from. +# %W~ Add key write pattern that specifies which keys can be +# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -737,6 +938,14 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. +# () Create a new selector with the options specified within the +# parentheses and attach it to the user. Each option should be +# space separated. The first character must be ( and the last +# character must be ). +# clearselectors Remove all of the currently attached selectors. +# Note this does not change the "root" user permissions, +# which are the permissions directly applied onto the +# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -758,6 +967,40 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # +# The following is a list of command categories and their meanings: +# * keyspace - Writing or reading from keys, databases, or their metadata +# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, +# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, +# key or metadata will also have `write` category. Commands that only read +# the keyspace, key or metadata will have the `read` category. +# * read - Reading from keys (values or metadata). Note that commands that don't +# interact with keys, will not have either `read` or `write`. +# * write - Writing to keys (values or metadata) +# * admin - Administrative commands. Normal applications will never need to use +# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. +# * dangerous - Potentially dangerous (each should be considered with care for +# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, +# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. +# * connection - Commands affecting the connection or other connections. +# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. +# * blocking - Potentially blocking the connection until released by another +# command. +# * fast - Fast O(1) commands. May loop on the number of arguments, but not the +# number of elements in the key. +# * slow - All commands that are not Fast. +# * pubsub - PUBLISH / SUBSCRIBE related +# * transaction - WATCH / MULTI / EXEC related commands. +# * scripting - Scripting related. +# * set - Data type: sets related. +# * sortedset - Data type: zsets related. +# * list - Data type: lists related. +# * hash - Data type: hashes related. +# * string - Data type: strings related. +# * bitmap - Data type: bitmaps related. +# * hyperloglog - Data type: hyperloglog related. +# * geo - Data type: geo related. +# * stream - Data type: streams related. +# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -787,8 +1030,24 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # +# The requirepass is not compatible with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# # requirepass foobared +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. +# +# acl-pubsub-default resetchannels + # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -877,14 +1136,12 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). # # The default is: # @@ -901,6 +1158,14 @@ acllog-max-len 128 # # maxmemory-samples 5 +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -994,6 +1259,13 @@ replica-lazy-flush no lazyfree-lazy-user-del no +# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1032,7 +1304,7 @@ lazyfree-lazy-user-del no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Aso this feature currently does not work when SSL is +# CONFIG SET. Also, this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1050,7 +1322,7 @@ lazyfree-lazy-user-del no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports three options: +# Redis supports these options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1071,6 +1343,19 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1089,14 +1374,43 @@ oom-score-adj-values 0 200 800 # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check http://redis.io/topics/persistence for more information. +# Please check https://redis.io/topics/persistence for more information. appendonly no -# The name of the append only file (default: "appendonly.aof") +# The base name of the append only file. +# +# Redis 7 and newer use a set of append-only files to persist the dataset +# and changes applied to it. There are two basic types of files in use: +# +# - Base files, which are a snapshot representing the complete state of the +# dataset at the time the file was created. Base files can be either in +# the form of RDB (binary serialized) or AOF (textual commands). +# - Incremental files, which contain additional commands that were applied +# to the dataset following the previous file. +# +# In addition, manifest files are used to track the files and the order in +# which they were created and should be applied. +# +# Append-only file names are created by Redis following a specific pattern. +# The file name's prefix is based on the 'appendfilename' configuration +# parameter, followed by additional information about the sequence and type. +# +# For example, if appendfilename is set to appendonly.aof, the following file +# names could be derived: +# +# - appendonly.aof.1.base.rdb as a base file. +# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. +# - appendonly.aof.manifest as a manifest file. appendfilename "appendonly.aof" +# For convenience, Redis stores all persistent append-only files in a dedicated +# directory. The name of the directory is determined by the appenddirname +# configuration parameter. + +appenddirname "appendonlydir" + # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1136,7 +1450,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is +# the same as "appendfsync no". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1189,34 +1503,69 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading, Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, then continues loading the AOF -# tail. +# Redis can create append-only base files in either RDB or AOF formats. Using +# the RDB format is always faster and more efficient, and disabling it is only +# supported for backward compatibility purposes. aof-use-rdb-preamble yes -################################ LUA SCRIPTING ############################### +# Redis supports recording timestamp annotations in the AOF to support restoring +# the data from a specific point-in-time. However, using this capability changes +# the AOF format in a way that may not be compatible with existing AOF parsers. +aof-timestamp-enabled no -# Max execution time of a Lua script in milliseconds. +################################ SHUTDOWN ##################################### + +# Maximum time to wait for replicas when shutting down, in seconds. # -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. +# During shut down, a grace period allows any lagging replicas to catch up with +# the latest replication offset before the master exists. This period can +# prevent data loss, especially for deployments without configured disk backups. # -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet call any write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. +# The 'shutdown-timeout' value is the grace period's duration in seconds. It is +# only applicable when the instance has replicas. To disable the feature, set +# the value to 0. # -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 +# shutdown-timeout 10 + +# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default +# an RDB snapshot is written to disk in a blocking operation if save points are configured. +# The options used on signaled shutdown can include the following values: +# default: Saves RDB snapshot only if save points are configured. +# Waits for lagging replicas to catch up. +# save: Forces a DB saving operation even if no save points are configured. +# nosave: Prevents DB saving operation even if one or more save points are configured. +# now: Skips waiting for lagging replicas. +# force: Ignores any errors that would normally prevent the server from exiting. +# +# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. +# Example: "nosave force now" +# +# shutdown-on-sigint default +# shutdown-on-sigterm default + +################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### + +# Maximum time in milliseconds for EVAL scripts, functions and in some cases +# modules' commands before Redis can start processing or rejecting other clients. +# +# If the maximum execution time is reached Redis will start to reply to most +# commands with a BUSY error. +# +# In this state Redis will only allow a handful of commands to be executed. +# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some +# module specific 'allow-busy' commands. +# +# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not +# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop +# the server in the case a write command was already issued by the script when +# the user doesn't want to wait for the natural termination of the script. +# +# The default is 5 seconds. It is possible to set it to 0 or a negative value +# to disable this mechanism (uninterrupted execution). Note that in the past +# this config had a different name, which is now an alias, so both of these do +# the same: +# lua-time-limit 5000 +# busy-reply-threshold 5000 ################################ REDIS CLUSTER ############################### @@ -1240,6 +1589,11 @@ lua-time-limit 5000 # # cluster-node-timeout 15000 +# The cluster port is the port that the cluster bus will listen for inbound connections on. When set +# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires +# you to specify the cluster bus port when executing cluster meet. +# cluster-port 0 + # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1298,12 +1652,21 @@ lua-time-limit 5000 # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value. +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1318,7 +1681,7 @@ lua-time-limit 5000 # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the master can still perform a +# master during master failures. However the replica can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1328,7 +1691,7 @@ lua-time-limit 5000 # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# the cluster is in a down state, as long as it believes it owns the slots. +# cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1343,8 +1706,54 @@ lua-time-limit 5000 # # cluster-allow-reads-when-down no +# This option, when set to yes, allows nodes to serve pubsub shard traffic while +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful if the application would like to use the pubsub feature even when +# the cluster global stable state is not OK. If the application wants to make sure only +# one shard is serving a given channel, this feature should be kept as yes. +# +# cluster-allow-pubsubshard-when-down yes + +# Cluster link send buffer limit is the limit on the memory usage of an individual +# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed +# this limit. This is to primarily prevent send buffers from growing unbounded on links +# toward slow peers (E.g. PubSub messages being piled up). +# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field +# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. +# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single +# PubSub message by default. (client-query-buffer-limit default value is 1gb) +# +# cluster-link-sendbuf-limit 0 + +# Clusters can configure their announced hostname using this config. This is a common use case for +# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based +# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS +# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is +# communicated along the clusterbus to all nodes, setting it to an empty string will remove +# the hostname and also propagate the removal. +# +# cluster-announce-hostname "" + +# Clusters can advertise how clients should connect to them using either their IP address, +# a user defined hostname, or by declaring they have no endpoint. Which endpoint is +# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type +# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how +# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. +# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' +# will be returned instead. +# +# When a cluster advertises itself as having an unknown endpoint, it's indicating that +# the server doesn't know how clients can reach the cluster. This can happen in certain +# networking situations where there are multiple possible routes to the node, and the +# server doesn't know which one the client took. In this case, the server is expecting +# the client to reach out on the same endpoint it used for making the last request, but use +# the port provided in the response. +# +# cluster-preferred-endpoint-type ip + # In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. +# available at https://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1354,16 +1763,21 @@ lua-time-limit 5000 # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: +# following four options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port +# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1376,7 +1790,8 @@ lua-time-limit 5000 # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1424,10 +1839,24 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 +################################ LATENCY TRACKING ############################## + +# The Redis extended latency monitoring tracks the per command latencies and enables +# exporting the percentile distribution via the INFO latencystats command, +# and cumulative latency distributions (histograms) via the LATENCY command. +# +# By default, the extended latency monitoring is enabled since the overhead +# of keeping track of the command latency is very small. +# latency-tracking yes + +# By default the exported latency percentiles via the INFO latencystats command +# are the p50, p99, and p999. +# latency-tracking-info-percentiles 50 99 99.9 + ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications +# This feature is documented at https://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1449,9 +1878,11 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) +# n New key events (Note: not included in the 'A' class) # t Stream commands +# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxet, so that the "AKE" string means all the events +# A Alias for g$lshzxetd, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1474,71 +1905,13 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" -############################### GOPHER SERVER ################################# - -# Redis contains an implementation of the Gopher protocol, as specified in -# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). -# -# The Gopher protocol was very popular in the late '90s. It is an alternative -# to the web, and the implementation both server and client side is so simple -# that the Redis server has just 100 lines of code in order to implement this -# support. -# -# What do you do with Gopher nowadays? Well Gopher never *really* died, and -# lately there is a movement in order for the Gopher more hierarchical content -# composed of just plain text documents to be resurrected. Some want a simpler -# internet, others believe that the mainstream internet became too much -# controlled, and it's cool to create an alternative space for people that -# want a bit of fresh air. -# -# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol -# as a gift. -# -# --- HOW IT WORKS? --- -# -# The Redis Gopher support uses the inline protocol of Redis, and specifically -# two kind of inline requests that were anyway illegal: an empty request -# or any request that starts with "/" (there are no Redis commands starting -# with such a slash). Normal RESP2/RESP3 requests are completely out of the -# path of the Gopher protocol implementation and are served as usual as well. -# -# If you open a connection to Redis when Gopher is enabled and send it -# a string like "/foo", if there is a key named "/foo" it is served via the -# Gopher protocol. -# -# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher -# talking), you likely need a script like the following: -# -# https://github.com/antirez/gopher2redis -# -# --- SECURITY WARNING --- -# -# If you plan to put Redis on the internet in a publicly accessible address -# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. -# Once a password is set: -# -# 1. The Gopher server (when enabled, not by default) will still serve -# content via Gopher. -# 2. However other commands cannot be called before the client will -# authenticate. -# -# So use the 'requirepass' option to protect your instance. -# -# Note that Gopher is not currently supported when 'io-threads-do-reads' -# is enabled. -# -# To enable Gopher support, uncomment the following line and set the option -# from no (the default) to yes. -# -# gopher-enabled no - ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 +hash-max-listpack-entries 512 +hash-max-listpack-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1553,7 +1926,7 @@ hash-max-ziplist-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 +list-max-listpack-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1581,8 +1954,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1604,7 +1977,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entires limit by setting max-bytes to 0 and max-entries to the desired +# max entries limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -1637,7 +2010,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -1661,6 +2034,13 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # +# Note that it doesn't make sense to set the replica clients output buffer +# limit lower than the repl-backlog-size config (partial sync will succeed +# and then replica will get disconnected). +# Such a configuration is ignored (the size of repl-backlog-size will be used). +# This doesn't have memory consumption implications since the replica client +# will share the backlog buffers memory. +# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -1674,6 +2054,25 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb +# In some scenarios client connections can hog up memory leading to OOM +# errors or data eviction. To avoid this we can cap the accumulated memory +# used by all client connections (all pubsub and normal clients). Once we +# reach that limit connections will be dropped by the server freeing up +# memory. The server will attempt to drop the connections using the most +# memory first. We call this mechanism "client eviction". +# +# Client eviction is configured using the maxmemory-clients setting as follows: +# 0 - client eviction is disabled (default) +# +# A memory value can be used for the client eviction threshold, +# for example: +# maxmemory-clients 1g +# +# A percentage value (between 1% and 100%) means the client eviction threshold +# is based on a percentage of the maxmemory setting. For example to set client +# eviction at 5% of maxmemory: +# maxmemory-clients 5% + # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -1714,13 +2113,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -1817,7 +2216,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Enabled active defragmentation +# Active defragmentation is disabled by default # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis/docker-compose.yml b/dockge/redis/docker-compose.yml index cadefa142..08fd078c6 100644 --- a/dockge/redis/docker-compose.yml +++ b/dockge/redis/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:6.2.18-alpine + image: redis:7.4.4-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_7_4_4/.env b/dockge/redis_6_2_18/.env similarity index 100% rename from dockge/redis_7_4_4/.env rename to dockge/redis_6_2_18/.env diff --git a/dockge/redis_7_4_4/config/redis.conf b/dockge/redis_6_2_18/config/redis.conf similarity index 72% rename from dockge/redis_7_4_4/config/redis.conf rename to dockge/redis_6_2_18/config/redis.conf index 8795ae291..ca22ec9f6 100644 --- a/dockge/redis_7_4_4/config/redis.conf +++ b/dockge/redis_6_2_18/config/redis.conf @@ -32,17 +32,8 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # -# Included paths may contain wildcards. All files matching the wildcards will -# be included in alphabetical order. -# Note that if an include path contains a wildcards but no files match it when -# the server is started, the include statement will be ignored and no error will -# be emitted. It is safe, therefore, to include wildcard files from empty -# directories. -# # include /path/to/local.conf # include /path/to/other.conf -# include /path/to/fragments/*.conf -# ################################## MODULES ##################################### @@ -58,81 +49,43 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. -# Each address can be prefixed by "-", which means that redis will not fail to -# start if the address is not available. Being not available only refers to -# addresses that does not correspond to any network interface. Addresses that -# are already in use will always fail, and unsupported protocols will always BE -# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses -# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 -# bind * -::* # like the default, all available interfaces +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis -# will only be able to accept client connections from the same host that it is -# running on). +# IPv4 loopback interface address (this means Redis will only be able to +# accept client connections from the same host that it is running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# COMMENT OUT THE FOLLOWING LINE. -# -# You will also need to set a password unless you explicitly disable protected -# mode. +# JUST COMMENT OUT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 -# By default, outgoing connections (from replica to master, from Sentinel to -# instances, cluster bus, etc.) are not bound to a specific local address. In -# most cases, this means the operating system will handle that based on routing -# and the interface through which the connection goes out. -# -# Using bind-source-addr it is possible to configure a specific address to bind -# to, which may also affect how the connection gets routed. -# -# Example: -# -# bind-source-addr 10.0.0.1 - # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and the default user has no password, the server -# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address -# (::1) or Unix domain sockets. +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured. +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. protected-mode yes -# Redis uses default hardened security configuration directives to reduce the -# attack surface on innocent users. Therefore, several sensitive configuration -# directives are immutable, and some potentially-dangerous commands are blocked. -# -# Configuration directives that control files that Redis writes to (e.g., 'dir' -# and 'dbfilename') and that aren't usually modified during runtime -# are protected by making them immutable. -# -# Commands that can increase the attack surface of Redis and that aren't usually -# called by users are blocked by default. -# -# These can be exposed to either all connections or just local ones by setting -# each of the configs listed below to either of these values: -# -# no - Block for any connection (remain immutable) -# yes - Allow for any connection (no protection) -# local - Allow only for local connections. Ones originating from the -# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. -# -# enable-protected-configs no -# enable-debug-command no -# enable-module-command no - # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -152,7 +105,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /run/redis.sock +# unixsocket /tmp/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -175,16 +128,6 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 -# Apply OS-specific mechanism to mark the listening socket with the specified -# ID, to support advanced routing and filtering capabilities. -# -# On Linux, the ID represents a connection mark. -# On FreeBSD, the ID represents a socket cookie ID. -# On OpenBSD, the ID represents a route table ID. -# -# The default value is 0, which implies no marking is required. -# socket-mark-id 0 - ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -200,32 +143,8 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret -# Normally Redis uses the same certificate for both server functions (accepting -# connections) and client functions (replicating from a master, establishing -# cluster bus connections, etc.). -# -# Sometimes certificates are issued with attributes that designate them as -# client-only or server-only certificates. In that case it may be desired to use -# different certificates for incoming (server) and outgoing (client) -# connections. To do that, use the following directives: -# -# tls-client-cert-file client.crt -# tls-client-key-file client.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-client-key-file-pass secret - -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, -# required by older versions of OpenSSL (<3.0). Newer versions do not require -# this configuration and recommend against it. +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: # # tls-dh-params-file redis.dh @@ -258,12 +177,9 @@ tcp-keepalive 300 # # tls-cluster yes -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: +# Explicitly specify TLS versions to support. Allowed values are case insensitive +# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or +# any combination. To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -305,7 +221,6 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -314,17 +229,11 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# on startup, and updating Redis status on a regular -# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -# -# The default is "no". To run under upstart/systemd, you can simply uncomment -# the line below: -# -# supervised auto +supervised no # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -335,9 +244,6 @@ daemonize no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. -# -# Note that on modern Linux systems "/run/redis.pid" is more conforming -# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -363,74 +269,44 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 -# To disable the built in crash log, which will possibly produce cleaner core -# dumps when they are needed, uncomment the following: -# -# crash-log-enabled no - -# To disable the fast memory check that's run as part of the crash log, which -# will possibly let redis terminate sooner, uncomment the following: -# -# crash-memcheck-enabled no - # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY and syslog logging is -# disabled. Basically this means that normally a logo is displayed only in -# interactive sessions. +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo no - -# By default, Redis modifies the process title (as seen in 'top' and 'ps') to -# provide some runtime information. It is possible to disable this and leave -# the process name as executed by setting the following to no. -set-proc-title yes - -# When changing the process title, Redis uses the following template to construct -# the modified title. -# -# Template variables are specified in curly brackets. The following variables are -# supported: -# -# {title} Name of process as executed if parent, or type of child process. -# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or -# Unix socket if only that's available. -# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". -# {port} TCP port listening on, or 0. -# {tls-port} TLS port listening on, or 0. -# {unixsocket} Unix domain socket listening on, or "". -# {config-file} Name of configuration file used. -# -proc-title-template "{title} {listen-addr} {server-mode}" +always-show-logo yes ################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behavior will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" -# Save the DB to disk. -# -# save [ ...] -# -# Redis will save the DB if the given number of seconds elapsed and it -# surpassed the given number of write operations against the DB. -# -# Snapshotting can be completely disabled with a single empty string argument -# as in following example: -# -# save "" -# -# Unless specified otherwise, by default Redis will save the DB: -# * After 3600 seconds (an hour) if at least 1 change was performed -# * After 300 seconds (5 minutes) if at least 100 changes were performed -# * After 60 seconds if at least 10000 changes were performed -# -# You can set these explicitly by uncommenting the following line. -# -# save 3600 1 300 100 60 10000 +save 900 1 +save 300 10 +save 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -462,21 +338,6 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes -# Enables or disables full sanitization checks for ziplist and listpack etc when -# loading an RDB or RESTORE payload. This reduces the chances of a assertion or -# crash later on while processing commands. -# Options: -# no - Never perform full sanitization -# yes - Always perform full sanitization -# clients - Perform full sanitization only for user connections. -# Excludes: RDB files, RESTORE commands received from the master -# connection, and client connections which have the -# skip-sanitize-payload ACL flag. -# The default should be 'clients' but since it currently affects cluster -# resharding via MIGRATE, it is temporarily set to 'no' by default. -# -# sanitize-dump-payload no - # The filename where to dump the DB dbfilename dump.rdb @@ -551,10 +412,9 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error -# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" -# to all data access commands, excluding commands such as: -# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -603,7 +463,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync yes +repl-diskless-sync no # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -617,18 +477,12 @@ repl-diskless-sync yes # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 -# When diskless replication is enabled with a delay, it is possible to let -# the replication start before the maximum delay is reached if the maximum -# number of replicas expected have connected. Default of 0 means that the -# maximum is not defined and Redis will wait the full delay. -repl-diskless-sync-max-replicas 0 - # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if you know what you are doing. +# stage with the master. Use only if your do what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -637,23 +491,19 @@ repl-diskless-sync-max-replicas 0 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and replica buffers). +# Copy on Write memory and salve buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep current db contents in RAM while parsing the data directly -# from the socket. Replicas in this mode can keep serving current -# data set while replication is in progress, except for cases where -# they can't recognize master as having a data set from same -# replication history. -# Note that this requires sufficient memory, if you don't have it, -# you risk an OOM kill. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. repl-diskless-load disabled -# Master send PINGs to its replicas in a predefined interval. It's possible to +# Replicas send PINGs to server in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -728,43 +578,6 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 -# The propagation error behavior controls how Redis will behave when it is -# unable to handle a command being processed in the replication stream from a master -# or processed while reading from an AOF file. Errors that occur during propagation -# are unexpected, and can cause data inconsistency. However, there are edge cases -# in earlier versions of Redis where it was possible for the server to replicate or persist -# commands that would fail on future versions. For this reason the default behavior -# is to ignore such errors and continue processing commands. -# -# If an application wants to ensure there is no data divergence, this configuration -# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' -# to only panic when a replica encounters an error on the replication stream. One of -# these two panic values will become the default value in the future once there are -# sufficient safety mechanisms in place to prevent false positive crashes. -# -# propagation-error-behavior ignore - -# Replica ignore disk write errors controls the behavior of a replica when it is -# unable to persist a write command received from its master to disk. By default, -# this configuration is set to 'no' and will crash the replica in this condition. -# It is not recommended to change this default, however in order to be compatible -# with older versions of Redis this config can be toggled to 'yes' which will just -# log a warning and execute the write command it got from the master. -# -# replica-ignore-disk-write-errors no - -# ----------------------------------------------------------------------------- -# By default, Redis Sentinel includes all replicas in its reports. A replica -# can be excluded from Redis Sentinel's announcements. An unannounced replica -# will be ignored by the 'sentinel replicas ' command and won't be -# exposed to Redis Sentinel's clients. -# -# This option does not change the behavior of replica-priority. Even with -# replica-announced set to 'no', the replica can be promoted to master. To -# prevent this behavior, set replica-priority to 0. -# -# replica-announced yes - # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -820,7 +633,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# a radix key indexed by key name, what clients have which keys. In turn +# 16 millions of slots, what clients may have certain subsets of keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -884,12 +697,8 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. -# sanitize-payload RESTORE dump-payload is sanitized (default). -# + Allow the execution of that command. -# May be used with `|` for allowing subcommands (e.g "+config|get") -# - Disallow the execution of that command. -# May be used with `|` for blocking subcommands (e.g "-config|set") +# + Allow the execution of that command +# - Disallow the execution of that command # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -897,11 +706,10 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|first-arg Allow a specific first argument of an otherwise -# disabled command. It is only supported on commands with -# no sub-commands, and is not allowed as negative form -# like -SELECT|1, only additive starting with "+". This -# feature is deprecated and may be removed in the future. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -909,17 +717,8 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. -# %R~ Add key read pattern that specifies which keys can be read -# from. -# %W~ Add key write pattern that specifies which keys can be -# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. -# & Add a glob-style pattern of Pub/Sub channels that can be -# accessed by the user. It is possible to specify multiple channel -# patterns. -# allchannels Alias for &* -# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -938,14 +737,6 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. -# () Create a new selector with the options specified within the -# parentheses and attach it to the user. Each option should be -# space separated. The first character must be ( and the last -# character must be ). -# clearselectors Remove all of the currently attached selectors. -# Note this does not change the "root" user permissions, -# which are the permissions directly applied onto the -# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -967,40 +758,6 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # -# The following is a list of command categories and their meanings: -# * keyspace - Writing or reading from keys, databases, or their metadata -# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, -# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, -# key or metadata will also have `write` category. Commands that only read -# the keyspace, key or metadata will have the `read` category. -# * read - Reading from keys (values or metadata). Note that commands that don't -# interact with keys, will not have either `read` or `write`. -# * write - Writing to keys (values or metadata) -# * admin - Administrative commands. Normal applications will never need to use -# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. -# * dangerous - Potentially dangerous (each should be considered with care for -# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, -# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. -# * connection - Commands affecting the connection or other connections. -# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. -# * blocking - Potentially blocking the connection until released by another -# command. -# * fast - Fast O(1) commands. May loop on the number of arguments, but not the -# number of elements in the key. -# * slow - All commands that are not Fast. -# * pubsub - PUBLISH / SUBSCRIBE related -# * transaction - WATCH / MULTI / EXEC related commands. -# * scripting - Scripting related. -# * set - Data type: sets related. -# * sortedset - Data type: zsets related. -# * list - Data type: lists related. -# * hash - Data type: hashes related. -# * string - Data type: strings related. -# * bitmap - Data type: bitmaps related. -# * hyperloglog - Data type: hyperloglog related. -# * geo - Data type: geo related. -# * stream - Data type: streams related. -# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -1030,24 +787,8 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # -# The requirepass is not compatible with aclfile option and the ACL LOAD -# command, these will cause requirepass to be ignored. -# # requirepass foobared -# New users are initialized with restrictive permissions by default, via the -# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it -# is possible to manage access to Pub/Sub channels with ACL rules as well. The -# default Pub/Sub channels permission if new users is controlled by the -# acl-pubsub-default configuration directive, which accepts one of these values: -# -# allchannels: grants access to all Pub/Sub channels -# resetchannels: revokes access to all Pub/Sub channels -# -# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. -# -# acl-pubsub-default resetchannels - # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -1136,12 +877,14 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, when there are no suitable keys for -# eviction, Redis will return an error on write operations that require -# more memory. These are usually commands that create new keys, add data or -# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, -# SORT (due to the STORE argument), and EXEC (if the transaction includes any -# command that requires memory). +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort # # The default is: # @@ -1158,14 +901,6 @@ acllog-max-len 128 # # maxmemory-samples 5 -# Eviction processing is designed to function well with the default setting. -# If there is an unusually large amount of write traffic, this value may need to -# be increased. Decreasing this value may reduce latency at the risk of -# eviction processing effectiveness -# 0 = minimum latency, 10 = default, 100 = process without regard to latency -# -# maxmemory-eviction-tenacity 10 - # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -1259,13 +994,6 @@ replica-lazy-flush no lazyfree-lazy-user-del no -# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous -# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the -# commands. When neither flag is passed, this directive will be used to determine -# if the data should be deleted asynchronously. - -lazyfree-lazy-user-flush no - ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1304,7 +1032,7 @@ lazyfree-lazy-user-flush no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Also, this feature currently does not work when SSL is +# CONFIG SET. Aso this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1322,7 +1050,7 @@ lazyfree-lazy-user-flush no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports these options: +# Redis supports three options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1343,19 +1071,6 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 - -#################### KERNEL transparent hugepage CONTROL ###################### - -# Usually the kernel Transparent Huge Pages control is set to "madvise" or -# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which -# case this config has no effect. On systems in which it is set to "always", -# redis will attempt to disable it specifically for the redis process in order -# to avoid latency problems specifically with fork(2) and CoW. -# If for some reason you prefer to keep it enabled, you can set this config to -# "no" and the kernel global to "always". - -disable-thp yes - ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1374,43 +1089,14 @@ disable-thp yes # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check https://redis.io/topics/persistence for more information. +# Please check http://redis.io/topics/persistence for more information. appendonly no -# The base name of the append only file. -# -# Redis 7 and newer use a set of append-only files to persist the dataset -# and changes applied to it. There are two basic types of files in use: -# -# - Base files, which are a snapshot representing the complete state of the -# dataset at the time the file was created. Base files can be either in -# the form of RDB (binary serialized) or AOF (textual commands). -# - Incremental files, which contain additional commands that were applied -# to the dataset following the previous file. -# -# In addition, manifest files are used to track the files and the order in -# which they were created and should be applied. -# -# Append-only file names are created by Redis following a specific pattern. -# The file name's prefix is based on the 'appendfilename' configuration -# parameter, followed by additional information about the sequence and type. -# -# For example, if appendfilename is set to appendonly.aof, the following file -# names could be derived: -# -# - appendonly.aof.1.base.rdb as a base file. -# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. -# - appendonly.aof.manifest as a manifest file. +# The name of the append only file (default: "appendonly.aof") appendfilename "appendonly.aof" -# For convenience, Redis stores all persistent append-only files in a dedicated -# directory. The name of the directory is determined by the appenddirname -# configuration parameter. - -appenddirname "appendonlydir" - # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1450,7 +1136,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync no". In practical terms, this means that it is +# the same as "appendfsync none". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1503,69 +1189,34 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# Redis can create append-only base files in either RDB or AOF formats. Using -# the RDB format is always faster and more efficient, and disabling it is only -# supported for backward compatibility purposes. +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. aof-use-rdb-preamble yes -# Redis supports recording timestamp annotations in the AOF to support restoring -# the data from a specific point-in-time. However, using this capability changes -# the AOF format in a way that may not be compatible with existing AOF parsers. -aof-timestamp-enabled no +################################ LUA SCRIPTING ############################### -################################ SHUTDOWN ##################################### - -# Maximum time to wait for replicas when shutting down, in seconds. +# Max execution time of a Lua script in milliseconds. # -# During shut down, a grace period allows any lagging replicas to catch up with -# the latest replication offset before the master exists. This period can -# prevent data loss, especially for deployments without configured disk backups. +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. # -# The 'shutdown-timeout' value is the grace period's duration in seconds. It is -# only applicable when the instance has replicas. To disable the feature, set -# the value to 0. +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. # -# shutdown-timeout 10 - -# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default -# an RDB snapshot is written to disk in a blocking operation if save points are configured. -# The options used on signaled shutdown can include the following values: -# default: Saves RDB snapshot only if save points are configured. -# Waits for lagging replicas to catch up. -# save: Forces a DB saving operation even if no save points are configured. -# nosave: Prevents DB saving operation even if one or more save points are configured. -# now: Skips waiting for lagging replicas. -# force: Ignores any errors that would normally prevent the server from exiting. -# -# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. -# Example: "nosave force now" -# -# shutdown-on-sigint default -# shutdown-on-sigterm default - -################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### - -# Maximum time in milliseconds for EVAL scripts, functions and in some cases -# modules' commands before Redis can start processing or rejecting other clients. -# -# If the maximum execution time is reached Redis will start to reply to most -# commands with a BUSY error. -# -# In this state Redis will only allow a handful of commands to be executed. -# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some -# module specific 'allow-busy' commands. -# -# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not -# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop -# the server in the case a write command was already issued by the script when -# the user doesn't want to wait for the natural termination of the script. -# -# The default is 5 seconds. It is possible to set it to 0 or a negative value -# to disable this mechanism (uninterrupted execution). Note that in the past -# this config had a different name, which is now an alias, so both of these do -# the same: -# lua-time-limit 5000 -# busy-reply-threshold 5000 +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 ################################ REDIS CLUSTER ############################### @@ -1589,11 +1240,6 @@ aof-timestamp-enabled no # # cluster-node-timeout 15000 -# The cluster port is the port that the cluster bus will listen for inbound connections on. When set -# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires -# you to specify the cluster bus port when executing cluster meet. -# cluster-port 0 - # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1652,21 +1298,12 @@ aof-timestamp-enabled no # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value or -# set cluster-allow-replica-migration to 'no'. +# one replica). To disable migration just set it to a very large value. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 -# Turning off this option allows to use less automatic cluster configuration. -# It both disables migration to orphaned masters and migration from masters -# that became empty. -# -# Default is 'yes' (allow automatic migrations). -# -# cluster-allow-replica-migration yes - # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1681,7 +1318,7 @@ aof-timestamp-enabled no # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the replica can still perform a +# master during master failures. However the master can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1691,7 +1328,7 @@ aof-timestamp-enabled no # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# cluster is in a down state, as long as it believes it owns the slots. +# the cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1706,54 +1343,8 @@ aof-timestamp-enabled no # # cluster-allow-reads-when-down no -# This option, when set to yes, allows nodes to serve pubsub shard traffic while -# the cluster is in a down state, as long as it believes it owns the slots. -# -# This is useful if the application would like to use the pubsub feature even when -# the cluster global stable state is not OK. If the application wants to make sure only -# one shard is serving a given channel, this feature should be kept as yes. -# -# cluster-allow-pubsubshard-when-down yes - -# Cluster link send buffer limit is the limit on the memory usage of an individual -# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed -# this limit. This is to primarily prevent send buffers from growing unbounded on links -# toward slow peers (E.g. PubSub messages being piled up). -# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field -# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. -# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single -# PubSub message by default. (client-query-buffer-limit default value is 1gb) -# -# cluster-link-sendbuf-limit 0 - -# Clusters can configure their announced hostname using this config. This is a common use case for -# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based -# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS -# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is -# communicated along the clusterbus to all nodes, setting it to an empty string will remove -# the hostname and also propagate the removal. -# -# cluster-announce-hostname "" - -# Clusters can advertise how clients should connect to them using either their IP address, -# a user defined hostname, or by declaring they have no endpoint. Which endpoint is -# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type -# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how -# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. -# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' -# will be returned instead. -# -# When a cluster advertises itself as having an unknown endpoint, it's indicating that -# the server doesn't know how clients can reach the cluster. This can happen in certain -# networking situations where there are multiple possible routes to the node, and the -# server doesn't know which one the client took. In this case, the server is expecting -# the client to reach out on the same endpoint it used for making the last request, but use -# the port provided in the response. -# -# cluster-preferred-endpoint-type ip - # In order to setup your cluster make sure to read the documentation -# available at https://redis.io web site. +# available at http://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1763,21 +1354,16 @@ aof-timestamp-enabled no # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following four options are used for this scope, and are: +# following two options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port -# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client ports (for connections -# without and with TLS) and cluster message bus port. The information is then -# published in the header of the bus packets so that other nodes will be able to -# correctly map the address of the node publishing the information. -# -# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set -# to zero, then cluster-announce-port refers to the TLS port. Note also that -# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# Each instructs the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1790,8 +1376,7 @@ aof-timestamp-enabled no # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-tls-port 6379 -# cluster-announce-port 0 +# cluster-announce-port 6379 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1839,24 +1424,10 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 -################################ LATENCY TRACKING ############################## - -# The Redis extended latency monitoring tracks the per command latencies and enables -# exporting the percentile distribution via the INFO latencystats command, -# and cumulative latency distributions (histograms) via the LATENCY command. -# -# By default, the extended latency monitoring is enabled since the overhead -# of keeping track of the command latency is very small. -# latency-tracking yes - -# By default the exported latency percentiles via the INFO latencystats command -# are the p50, p99, and p999. -# latency-tracking-info-percentiles 50 99 99.9 - ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at https://redis.io/topics/notifications +# This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1878,11 +1449,9 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) -# n New key events (Note: not included in the 'A' class) # t Stream commands -# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# A Alias for g$lshzxet, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1905,13 +1474,71 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-listpack-entries 512 -hash-max-listpack-value 64 +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1926,7 +1553,7 @@ hash-max-listpack-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-listpack-size -2 +list-max-ziplist-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1954,8 +1581,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-listpack-entries 128 -zset-max-listpack-value 64 +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1977,7 +1604,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entries limit by setting max-bytes to 0 and max-entries to the desired +# max entires limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -2010,7 +1637,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -2034,13 +1661,6 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # -# Note that it doesn't make sense to set the replica clients output buffer -# limit lower than the repl-backlog-size config (partial sync will succeed -# and then replica will get disconnected). -# Such a configuration is ignored (the size of repl-backlog-size will be used). -# This doesn't have memory consumption implications since the replica client -# will share the backlog buffers memory. -# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -2054,25 +1674,6 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb -# In some scenarios client connections can hog up memory leading to OOM -# errors or data eviction. To avoid this we can cap the accumulated memory -# used by all client connections (all pubsub and normal clients). Once we -# reach that limit connections will be dropped by the server freeing up -# memory. The server will attempt to drop the connections using the most -# memory first. We call this mechanism "client eviction". -# -# Client eviction is configured using the maxmemory-clients setting as follows: -# 0 - client eviction is disabled (default) -# -# A memory value can be used for the client eviction threshold, -# for example: -# maxmemory-clients 1g -# -# A percentage value (between 1% and 100%) means the client eviction threshold -# is based on a percentage of the maxmemory setting. For example to set client -# eviction at 5% of maxmemory: -# maxmemory-clients 5% - # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -2113,13 +1714,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -2216,7 +1817,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Active defragmentation is disabled by default +# Enabled active defragmentation # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis_7_4_4/docker-compose.yml b/dockge/redis_6_2_18/docker-compose.yml similarity index 94% rename from dockge/redis_7_4_4/docker-compose.yml rename to dockge/redis_6_2_18/docker-compose.yml index 08fd078c6..cadefa142 100644 --- a/dockge/redis_7_4_4/docker-compose.yml +++ b/dockge/redis_6_2_18/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:7.4.4-alpine + image: redis:6.2.18-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_7_4_4/envs/default.env b/dockge/redis_6_2_18/envs/default.env similarity index 100% rename from dockge/redis_7_4_4/envs/default.env rename to dockge/redis_6_2_18/envs/default.env diff --git a/dockge/redis_7_4_4/envs/global.env b/dockge/redis_6_2_18/envs/global.env similarity index 100% rename from dockge/redis_7_4_4/envs/global.env rename to dockge/redis_6_2_18/envs/global.env diff --git a/dockge/stream-rec/docker-compose.yml b/dockge/stream-rec/docker-compose.yml index 8465b7136..4076f23a1 100644 --- a/dockge/stream-rec/docker-compose.yml +++ b/dockge/stream-rec/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:dev + image: streamrec/stream-rec:main labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:dev + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_main/.env b/dockge/stream-rec_dev/.env similarity index 100% rename from dockge/stream-rec_main/.env rename to dockge/stream-rec_dev/.env diff --git a/dockge/stream-rec_main/docker-compose.yml b/dockge/stream-rec_dev/docker-compose.yml similarity index 92% rename from dockge/stream-rec_main/docker-compose.yml rename to dockge/stream-rec_dev/docker-compose.yml index 4076f23a1..8465b7136 100644 --- a/dockge/stream-rec_main/docker-compose.yml +++ b/dockge/stream-rec_dev/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:main + image: streamrec/stream-rec:dev labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:dev labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_main/envs/default.env b/dockge/stream-rec_dev/envs/default.env similarity index 100% rename from dockge/stream-rec_main/envs/default.env rename to dockge/stream-rec_dev/envs/default.env diff --git a/dockge/stream-rec_main/envs/global.env b/dockge/stream-rec_dev/envs/global.env similarity index 100% rename from dockge/stream-rec_main/envs/global.env rename to dockge/stream-rec_dev/envs/global.env diff --git a/dockge/umami-mysql/docker-compose.yml b/dockge/umami-mysql/docker-compose.yml index 0347d07c0..2bc7a13bc 100644 --- a/dockge/umami-mysql/docker-compose.yml +++ b/dockge/umami-mysql/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.18.1 + image: umamisoftware/umami:mysql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_16_0/.env b/dockge/umami-mysql_2_18_1/.env similarity index 100% rename from dockge/umami-mysql_2_16_0/.env rename to dockge/umami-mysql_2_18_1/.env diff --git a/dockge/umami-mysql_2_16_0/docker-compose.yml b/dockge/umami-mysql_2_18_1/docker-compose.yml similarity index 91% rename from dockge/umami-mysql_2_16_0/docker-compose.yml rename to dockge/umami-mysql_2_18_1/docker-compose.yml index 2bc7a13bc..0347d07c0 100644 --- a/dockge/umami-mysql_2_16_0/docker-compose.yml +++ b/dockge/umami-mysql_2_18_1/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.16.0 + image: umamisoftware/umami:mysql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_16_0/envs/default.env b/dockge/umami-mysql_2_18_1/envs/default.env similarity index 100% rename from dockge/umami-mysql_2_16_0/envs/default.env rename to dockge/umami-mysql_2_18_1/envs/default.env diff --git a/dockge/umami-mysql_2_16_0/envs/global.env b/dockge/umami-mysql_2_18_1/envs/global.env similarity index 100% rename from dockge/umami-mysql_2_16_0/envs/global.env rename to dockge/umami-mysql_2_18_1/envs/global.env diff --git a/dockge/umami/docker-compose.yml b/dockge/umami/docker-compose.yml index 9bbf23909..7f7a58660 100644 --- a/dockge/umami/docker-compose.yml +++ b/dockge/umami/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.18.1 + image: umamisoftware/umami:postgresql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_16_0/.env b/dockge/umami_2_18_1/.env similarity index 100% rename from dockge/umami_2_16_0/.env rename to dockge/umami_2_18_1/.env diff --git a/dockge/umami_2_16_0/docker-compose.yml b/dockge/umami_2_18_1/docker-compose.yml similarity index 90% rename from dockge/umami_2_16_0/docker-compose.yml rename to dockge/umami_2_18_1/docker-compose.yml index 7f7a58660..9bbf23909 100644 --- a/dockge/umami_2_16_0/docker-compose.yml +++ b/dockge/umami_2_18_1/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.16.0 + image: umamisoftware/umami:postgresql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_16_0/envs/default.env b/dockge/umami_2_18_1/envs/default.env similarity index 100% rename from dockge/umami_2_16_0/envs/default.env rename to dockge/umami_2_18_1/envs/default.env diff --git a/dockge/umami_2_16_0/envs/global.env b/dockge/umami_2_18_1/envs/global.env similarity index 100% rename from dockge/umami_2_16_0/envs/global.env rename to dockge/umami_2_18_1/envs/global.env diff --git a/dockge/uptime-kuma/.env b/dockge/uptime-kuma/.env index 5fa74c158..32a291fcd 100644 --- a/dockge/uptime-kuma/.env +++ b/dockge/uptime-kuma/.env @@ -4,9 +4,3 @@ UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=3001 -# Cloudflared 隧道令牌 -UPTIME_KUMA_CLOUDFLARED_TOKEN= - -# 禁用 Frame SameOrigin [必填] -UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false - diff --git a/dockge/uptime-kuma/docker-compose.yml b/dockge/uptime-kuma/docker-compose.yml index 03b4560f7..c6ee97339 100644 --- a/dockge/uptime-kuma/docker-compose.yml +++ b/dockge/uptime-kuma/docker-compose.yml @@ -7,16 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - PUID=0 - - PGID=0 - - UPTIME_KUMA_PORT=3001 - - UPTIME_KUMA_HOST=0.0.0.0 - - DATA_DIR=/app/data - - NODE_TLS_REJECT_UNAUTHORIZED=0 - - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 - - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like - image: louislam/uptime-kuma:1.23.16 + image: louislam/uptime-kuma:2.0.0-beta.3 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/.env b/dockge/uptime-kuma_1_23_16/.env new file mode 100644 index 000000000..5fa74c158 --- /dev/null +++ b/dockge/uptime-kuma_1_23_16/.env @@ -0,0 +1,12 @@ +# 数据持久化路径 [必填] +UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3001 + +# Cloudflared 隧道令牌 +UPTIME_KUMA_CLOUDFLARED_TOKEN= + +# 禁用 Frame SameOrigin [必填] +UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false + diff --git a/dockge/uptime-kuma_2_0_0/docker-compose.yml b/dockge/uptime-kuma_1_23_16/docker-compose.yml similarity index 57% rename from dockge/uptime-kuma_2_0_0/docker-compose.yml rename to dockge/uptime-kuma_1_23_16/docker-compose.yml index c6ee97339..03b4560f7 100644 --- a/dockge/uptime-kuma_2_0_0/docker-compose.yml +++ b/dockge/uptime-kuma_1_23_16/docker-compose.yml @@ -7,7 +7,16 @@ services: env_file: - ./envs/global.env - .env - image: louislam/uptime-kuma:2.0.0-beta.3 + environment: + - PUID=0 + - PGID=0 + - UPTIME_KUMA_PORT=3001 + - UPTIME_KUMA_HOST=0.0.0.0 + - DATA_DIR=/app/data + - NODE_TLS_REJECT_UNAUTHORIZED=0 + - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 + - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like + image: louislam/uptime-kuma:1.23.16 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_2_0_0/envs/default.env b/dockge/uptime-kuma_1_23_16/envs/default.env similarity index 100% rename from dockge/uptime-kuma_2_0_0/envs/default.env rename to dockge/uptime-kuma_1_23_16/envs/default.env diff --git a/dockge/uptime-kuma_2_0_0/envs/global.env b/dockge/uptime-kuma_1_23_16/envs/global.env similarity index 100% rename from dockge/uptime-kuma_2_0_0/envs/global.env rename to dockge/uptime-kuma_1_23_16/envs/global.env diff --git a/dockge/uptime-kuma_2_0_0/.env b/dockge/uptime-kuma_2_0_0/.env deleted file mode 100644 index 32a291fcd..000000000 --- a/dockge/uptime-kuma_2_0_0/.env +++ /dev/null @@ -1,6 +0,0 @@ -# 数据持久化路径 [必填] -UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3001 - From 9436aa6a4da2053231bc5ef091144b40de885858 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 06:34:44 +0000 Subject: [PATCH 31/96] Update ghcr.io/nodepassproject/nodepassdash Docker tag to v2.0.4 --- apps/nodepassdash/2.0.3/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/nodepassdash/2.0.3/docker-compose.yml b/apps/nodepassdash/2.0.3/docker-compose.yml index 702504baa..04652965e 100644 --- a/apps/nodepassdash/2.0.3/docker-compose.yml +++ b/apps/nodepassdash/2.0.3/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: nodepassdash: - image: ghcr.io/nodepassproject/nodepassdash:2.0.3 + image: ghcr.io/nodepassproject/nodepassdash:2.0.4 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From f750541e7032f66304d3f5212a49031634a6e146 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 06:34:49 +0000 Subject: [PATCH 32/96] Update mdcng/mdc Docker tag to v1.6.0 --- apps/mdc-ng/1.5.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.5.1/docker-compose.yml b/apps/mdc-ng/1.5.1/docker-compose.yml index 69bd8f786..12f9ac1d2 100644 --- a/apps/mdc-ng/1.5.1/docker-compose.yml +++ b/apps/mdc-ng/1.5.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.5.1 + image: mdcng/mdc:1.6.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 71e287caebe123936e63d30acfed7a33b0d65044 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 06:34:53 +0000 Subject: [PATCH 33/96] Update app version [skip ci] --- apps/nodepassdash/{2.0.3 => 2.0.4}/data.yml | 0 apps/nodepassdash/{2.0.3 => 2.0.4}/docker-compose.yml | 0 apps/nodepassdash/{2.0.3 => 2.0.4}/envs/default.env | 0 apps/nodepassdash/{2.0.3 => 2.0.4}/envs/global.env | 0 apps/nodepassdash/{2.0.3 => 2.0.4}/scripts/init.sh | 0 apps/nodepassdash/{2.0.3 => 2.0.4}/scripts/uninstall.sh | 0 apps/nodepassdash/{2.0.3 => 2.0.4}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/nodepassdash/{2.0.3 => 2.0.4}/data.yml (100%) rename apps/nodepassdash/{2.0.3 => 2.0.4}/docker-compose.yml (100%) rename apps/nodepassdash/{2.0.3 => 2.0.4}/envs/default.env (100%) rename apps/nodepassdash/{2.0.3 => 2.0.4}/envs/global.env (100%) rename apps/nodepassdash/{2.0.3 => 2.0.4}/scripts/init.sh (100%) rename apps/nodepassdash/{2.0.3 => 2.0.4}/scripts/uninstall.sh (100%) rename apps/nodepassdash/{2.0.3 => 2.0.4}/scripts/upgrade.sh (100%) diff --git a/apps/nodepassdash/2.0.3/data.yml b/apps/nodepassdash/2.0.4/data.yml similarity index 100% rename from apps/nodepassdash/2.0.3/data.yml rename to apps/nodepassdash/2.0.4/data.yml diff --git a/apps/nodepassdash/2.0.3/docker-compose.yml b/apps/nodepassdash/2.0.4/docker-compose.yml similarity index 100% rename from apps/nodepassdash/2.0.3/docker-compose.yml rename to apps/nodepassdash/2.0.4/docker-compose.yml diff --git a/apps/nodepassdash/2.0.3/envs/default.env b/apps/nodepassdash/2.0.4/envs/default.env similarity index 100% rename from apps/nodepassdash/2.0.3/envs/default.env rename to apps/nodepassdash/2.0.4/envs/default.env diff --git a/apps/nodepassdash/2.0.3/envs/global.env b/apps/nodepassdash/2.0.4/envs/global.env similarity index 100% rename from apps/nodepassdash/2.0.3/envs/global.env rename to apps/nodepassdash/2.0.4/envs/global.env diff --git a/apps/nodepassdash/2.0.3/scripts/init.sh b/apps/nodepassdash/2.0.4/scripts/init.sh similarity index 100% rename from apps/nodepassdash/2.0.3/scripts/init.sh rename to apps/nodepassdash/2.0.4/scripts/init.sh diff --git a/apps/nodepassdash/2.0.3/scripts/uninstall.sh b/apps/nodepassdash/2.0.4/scripts/uninstall.sh similarity index 100% rename from apps/nodepassdash/2.0.3/scripts/uninstall.sh rename to apps/nodepassdash/2.0.4/scripts/uninstall.sh diff --git a/apps/nodepassdash/2.0.3/scripts/upgrade.sh b/apps/nodepassdash/2.0.4/scripts/upgrade.sh similarity index 100% rename from apps/nodepassdash/2.0.3/scripts/upgrade.sh rename to apps/nodepassdash/2.0.4/scripts/upgrade.sh From b0dbd05e6150838772110a037d69c897727da3b1 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 06:34:58 +0000 Subject: [PATCH 34/96] Update app version [skip ci] --- apps/mdc-ng/{1.5.1 => 1.6.0}/data.yml | 0 apps/mdc-ng/{1.5.1 => 1.6.0}/docker-compose.yml | 0 apps/mdc-ng/{1.5.1 => 1.6.0}/envs/default.env | 0 apps/mdc-ng/{1.5.1 => 1.6.0}/envs/global.env | 0 apps/mdc-ng/{1.5.1 => 1.6.0}/scripts/init.sh | 0 apps/mdc-ng/{1.5.1 => 1.6.0}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.5.1 => 1.6.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.5.1 => 1.6.0}/data.yml (100%) rename apps/mdc-ng/{1.5.1 => 1.6.0}/docker-compose.yml (100%) rename apps/mdc-ng/{1.5.1 => 1.6.0}/envs/default.env (100%) rename apps/mdc-ng/{1.5.1 => 1.6.0}/envs/global.env (100%) rename apps/mdc-ng/{1.5.1 => 1.6.0}/scripts/init.sh (100%) rename apps/mdc-ng/{1.5.1 => 1.6.0}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.5.1 => 1.6.0}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.5.1/data.yml b/apps/mdc-ng/1.6.0/data.yml similarity index 100% rename from apps/mdc-ng/1.5.1/data.yml rename to apps/mdc-ng/1.6.0/data.yml diff --git a/apps/mdc-ng/1.5.1/docker-compose.yml b/apps/mdc-ng/1.6.0/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.5.1/docker-compose.yml rename to apps/mdc-ng/1.6.0/docker-compose.yml diff --git a/apps/mdc-ng/1.5.1/envs/default.env b/apps/mdc-ng/1.6.0/envs/default.env similarity index 100% rename from apps/mdc-ng/1.5.1/envs/default.env rename to apps/mdc-ng/1.6.0/envs/default.env diff --git a/apps/mdc-ng/1.5.1/envs/global.env b/apps/mdc-ng/1.6.0/envs/global.env similarity index 100% rename from apps/mdc-ng/1.5.1/envs/global.env rename to apps/mdc-ng/1.6.0/envs/global.env diff --git a/apps/mdc-ng/1.5.1/scripts/init.sh b/apps/mdc-ng/1.6.0/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.5.1/scripts/init.sh rename to apps/mdc-ng/1.6.0/scripts/init.sh diff --git a/apps/mdc-ng/1.5.1/scripts/uninstall.sh b/apps/mdc-ng/1.6.0/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.5.1/scripts/uninstall.sh rename to apps/mdc-ng/1.6.0/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.5.1/scripts/upgrade.sh b/apps/mdc-ng/1.6.0/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.5.1/scripts/upgrade.sh rename to apps/mdc-ng/1.6.0/scripts/upgrade.sh From 909e13e017b6c09caf9d064f079f3cfbba65e206 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 10:28:39 +0000 Subject: [PATCH 35/96] Update ollama/ollama Docker tag to v0.9.3 --- apps/ollama/0.9.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ollama/0.9.2/docker-compose.yml b/apps/ollama/0.9.2/docker-compose.yml index 3205c3f6c..994ec233b 100644 --- a/apps/ollama/0.9.2/docker-compose.yml +++ b/apps/ollama/0.9.2/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ollama: - image: ollama/ollama:0.9.2 + image: ollama/ollama:0.9.3 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From f1c0c7340db2d03a7680b6483a5e3c75e5632b38 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 10:28:54 +0000 Subject: [PATCH 36/96] Update app version [skip ci] --- apps/ollama/{0.9.2 => 0.9.3}/data.yml | 0 apps/ollama/{0.9.2 => 0.9.3}/docker-compose.yml | 0 apps/ollama/{0.9.2 => 0.9.3}/envs/default.env | 0 apps/ollama/{0.9.2 => 0.9.3}/envs/global.env | 0 apps/ollama/{0.9.2 => 0.9.3}/scripts/init.sh | 0 apps/ollama/{0.9.2 => 0.9.3}/scripts/uninstall.sh | 0 apps/ollama/{0.9.2 => 0.9.3}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ollama/{0.9.2 => 0.9.3}/data.yml (100%) rename apps/ollama/{0.9.2 => 0.9.3}/docker-compose.yml (100%) rename apps/ollama/{0.9.2 => 0.9.3}/envs/default.env (100%) rename apps/ollama/{0.9.2 => 0.9.3}/envs/global.env (100%) rename apps/ollama/{0.9.2 => 0.9.3}/scripts/init.sh (100%) rename apps/ollama/{0.9.2 => 0.9.3}/scripts/uninstall.sh (100%) rename apps/ollama/{0.9.2 => 0.9.3}/scripts/upgrade.sh (100%) diff --git a/apps/ollama/0.9.2/data.yml b/apps/ollama/0.9.3/data.yml similarity index 100% rename from apps/ollama/0.9.2/data.yml rename to apps/ollama/0.9.3/data.yml diff --git a/apps/ollama/0.9.2/docker-compose.yml b/apps/ollama/0.9.3/docker-compose.yml similarity index 100% rename from apps/ollama/0.9.2/docker-compose.yml rename to apps/ollama/0.9.3/docker-compose.yml diff --git a/apps/ollama/0.9.2/envs/default.env b/apps/ollama/0.9.3/envs/default.env similarity index 100% rename from apps/ollama/0.9.2/envs/default.env rename to apps/ollama/0.9.3/envs/default.env diff --git a/apps/ollama/0.9.2/envs/global.env b/apps/ollama/0.9.3/envs/global.env similarity index 100% rename from apps/ollama/0.9.2/envs/global.env rename to apps/ollama/0.9.3/envs/global.env diff --git a/apps/ollama/0.9.2/scripts/init.sh b/apps/ollama/0.9.3/scripts/init.sh similarity index 100% rename from apps/ollama/0.9.2/scripts/init.sh rename to apps/ollama/0.9.3/scripts/init.sh diff --git a/apps/ollama/0.9.2/scripts/uninstall.sh b/apps/ollama/0.9.3/scripts/uninstall.sh similarity index 100% rename from apps/ollama/0.9.2/scripts/uninstall.sh rename to apps/ollama/0.9.3/scripts/uninstall.sh diff --git a/apps/ollama/0.9.2/scripts/upgrade.sh b/apps/ollama/0.9.3/scripts/upgrade.sh similarity index 100% rename from apps/ollama/0.9.2/scripts/upgrade.sh rename to apps/ollama/0.9.3/scripts/upgrade.sh From 1d318e6319ecec6cf2de07ef981df5533697b262 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 26 Jun 2025 12:46:45 +0000 Subject: [PATCH 37/96] Processed apps directory via GitHub Actions --- appstore/mdc-ng/{1.5.1 => 1.6.0}/.env | 0 appstore/mdc-ng/{1.5.1 => 1.6.0}/data.yml | 0 .../{1.5.1 => 1.6.0}/docker-compose.yml | 2 +- .../mdc-ng/{1.5.1 => 1.6.0}/envs/default.env | 0 .../mdc-ng/{1.5.1 => 1.6.0}/envs/global.env | 0 .../mdc-ng/{1.5.1 => 1.6.0}/scripts/init.sh | 0 .../{1.5.1 => 1.6.0}/scripts/uninstall.sh | 0 .../{1.5.1 => 1.6.0}/scripts/upgrade.sh | 0 appstore/nodepassdash/{2.0.3 => 2.0.4}/.env | 0 .../nodepassdash/{2.0.3 => 2.0.4}/data.yml | 0 .../{2.0.3 => 2.0.4}/docker-compose.yml | 2 +- .../{2.0.3 => 2.0.4}/envs/default.env | 0 .../{2.0.3 => 2.0.4}/envs/global.env | 0 .../{2.0.3 => 2.0.4}/scripts/init.sh | 0 .../{2.0.3 => 2.0.4}/scripts/uninstall.sh | 0 .../{2.0.3 => 2.0.4}/scripts/upgrade.sh | 0 appstore/ollama/{0.9.2 => 0.9.3}/.env | 0 appstore/ollama/{0.9.2 => 0.9.3}/data.yml | 0 .../{0.9.2 => 0.9.3}/docker-compose.yml | 2 +- .../ollama/{0.9.2 => 0.9.3}/envs/default.env | 0 .../ollama/{0.9.2 => 0.9.3}/envs/global.env | 0 .../ollama/{0.9.2 => 0.9.3}/scripts/init.sh | 0 .../{0.9.2 => 0.9.3}/scripts/uninstall.sh | 0 .../{0.9.2 => 0.9.3}/scripts/upgrade.sh | 0 dockge/alist-aria2/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist-ffmpeg/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist/docker-compose.yml | 2 +- dockge/{alist_3_45_0 => alist_3_40_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/auto-lady/.env | 6 + dockge/auto-lady/docker-compose.yml | 6 +- dockge/auto-lady_1_4_5/.env | 15 + dockge/auto-lady_1_4_5/docker-compose.yml | 22 + .../envs/default.env | 0 .../envs/global.env | 0 dockge/bili-fetcher/docker-compose.yml | 4 +- .../.env | 0 .../config/categories.json | 0 .../config/config.yaml | 0 .../config/scheduler_config.yaml | 0 .../config/sql_statements_mysql.py | 0 .../config/sql_statements_sqlite.py | 0 .../config/template.html | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse/.env | 20 +- dockge/byte-muse/docker-compose.yml | 18 +- .../.env | 2 +- .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse_license/.env | 3 - dockge/byte-muse_license/docker-compose.yml | 14 - dockge/emby/docker-compose.yml | 2 +- dockge/{emby_4_8_11_0 => emby_4_9_1_1}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/homarr/.env | 3 - dockge/homarr/docker-compose.yml | 4 +- dockge/{homarr_0_15_10 => homarr_1_18_1}/.env | 3 + .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 .../docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-no-machine/docker-compose.yml | 27 +- .../.env | 0 .../docker-compose.yml | 27 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-server/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich/docker-compose.yml | 29 +- .../{immich_1_135_3 => immich_1_132_3}/.env | 0 .../docker-compose.yml | 29 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/mdc-ng/docker-compose.yml | 2 +- dockge/nodepassdash/docker-compose.yml | 2 +- dockge/ollama/docker-compose.yml | 2 +- dockge/postgresql/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/qbittorrent/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/redis/config/redis.conf | 759 +++++------------- dockge/redis/docker-compose.yml | 2 +- dockge/{redis_6_2_18 => redis_7_4_4}/.env | 0 .../config/redis.conf | 759 +++++++++++++----- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec/docker-compose.yml | 4 +- .../{stream-rec_dev => stream-rec_main}/.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami-mysql/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami/docker-compose.yml | 2 +- dockge/{umami_2_18_1 => umami_2_16_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma/.env | 6 + dockge/uptime-kuma/docker-compose.yml | 11 +- dockge/uptime-kuma_1_23_16/.env | 12 - dockge/uptime-kuma_2_0_0/.env | 6 + .../docker-compose.yml | 11 +- .../envs/default.env | 0 .../envs/global.env | 0 137 files changed, 938 insertions(+), 938 deletions(-) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/.env (100%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/data.yml (100%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/envs/default.env (100%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/envs/global.env (100%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.5.1 => 1.6.0}/scripts/upgrade.sh (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/.env (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/data.yml (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/docker-compose.yml (90%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/envs/default.env (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/envs/global.env (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/scripts/init.sh (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/scripts/uninstall.sh (100%) rename appstore/nodepassdash/{2.0.3 => 2.0.4}/scripts/upgrade.sh (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/.env (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/data.yml (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/docker-compose.yml (95%) rename appstore/ollama/{0.9.2 => 0.9.3}/envs/default.env (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/envs/global.env (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/scripts/init.sh (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/scripts/uninstall.sh (100%) rename appstore/ollama/{0.9.2 => 0.9.3}/scripts/upgrade.sh (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/.env (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/docker-compose.yml (94%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/envs/default.env (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/envs/global.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/docker-compose.yml (93%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/envs/default.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/envs/global.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/docker-compose.yml (94%) rename dockge/{alist_3_45_0 => alist_3_40_0}/envs/default.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/envs/global.env (100%) create mode 100644 dockge/auto-lady_1_4_5/.env create mode 100644 dockge/auto-lady_1_4_5/docker-compose.yml rename dockge/{auto-lady_1_5_3 => auto-lady_1_4_5}/envs/default.env (100%) rename dockge/{auto-lady_1_5_3 => auto-lady_1_4_5}/envs/global.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/categories.json (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/config.yaml (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/scheduler_config.yaml (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/sql_statements_mysql.py (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/sql_statements_sqlite.py (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/template.html (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/docker-compose.yml (88%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/envs/default.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/envs/global.env (100%) rename dockge/{auto-lady_1_5_3 => byte-muse_1_11_8}/.env (91%) rename dockge/{auto-lady_1_5_3 => byte-muse_1_11_8}/docker-compose.yml (91%) rename dockge/{byte-muse_license => byte-muse_1_11_8}/envs/default.env (100%) rename dockge/{byte-muse_license => byte-muse_1_11_8}/envs/global.env (100%) delete mode 100644 dockge/byte-muse_license/.env delete mode 100644 dockge/byte-muse_license/docker-compose.yml rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/.env (100%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/docker-compose.yml (96%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/envs/default.env (100%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/envs/global.env (100%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/.env (52%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/docker-compose.yml (73%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/envs/default.env (100%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/envs/global.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/docker-compose.yml (87%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/envs/default.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/envs/global.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/docker-compose.yml (54%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/envs/default.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/envs/global.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/docker-compose.yml (89%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/envs/default.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/envs/global.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/docker-compose.yml (59%) rename dockge/{immich_1_135_3 => immich_1_132_3}/envs/default.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/envs/global.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/docker-compose.yml (87%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/envs/default.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/envs/global.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/docker-compose.yml (95%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/envs/default.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/envs/global.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/config/redis.conf (72%) rename dockge/{redis_6_2_18 => redis_7_4_4}/docker-compose.yml (94%) rename dockge/{redis_6_2_18 => redis_7_4_4}/envs/default.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/envs/global.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/docker-compose.yml (92%) rename dockge/{stream-rec_dev => stream-rec_main}/envs/default.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/envs/global.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/docker-compose.yml (91%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/envs/default.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/envs/global.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/docker-compose.yml (90%) rename dockge/{umami_2_18_1 => umami_2_16_0}/envs/default.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/envs/global.env (100%) delete mode 100644 dockge/uptime-kuma_1_23_16/.env create mode 100644 dockge/uptime-kuma_2_0_0/.env rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/docker-compose.yml (57%) rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/envs/default.env (100%) rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/envs/global.env (100%) diff --git a/appstore/mdc-ng/1.5.1/.env b/appstore/mdc-ng/1.6.0/.env similarity index 100% rename from appstore/mdc-ng/1.5.1/.env rename to appstore/mdc-ng/1.6.0/.env diff --git a/appstore/mdc-ng/1.5.1/data.yml b/appstore/mdc-ng/1.6.0/data.yml similarity index 100% rename from appstore/mdc-ng/1.5.1/data.yml rename to appstore/mdc-ng/1.6.0/data.yml diff --git a/appstore/mdc-ng/1.5.1/docker-compose.yml b/appstore/mdc-ng/1.6.0/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.5.1/docker-compose.yml rename to appstore/mdc-ng/1.6.0/docker-compose.yml index b251702e4..6182f6569 100644 --- a/appstore/mdc-ng/1.5.1/docker-compose.yml +++ b/appstore/mdc-ng/1.6.0/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.5.1 + image: mdcng/mdc:1.6.0 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.5.1/envs/default.env b/appstore/mdc-ng/1.6.0/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.5.1/envs/default.env rename to appstore/mdc-ng/1.6.0/envs/default.env diff --git a/appstore/mdc-ng/1.5.1/envs/global.env b/appstore/mdc-ng/1.6.0/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.5.1/envs/global.env rename to appstore/mdc-ng/1.6.0/envs/global.env diff --git a/appstore/mdc-ng/1.5.1/scripts/init.sh b/appstore/mdc-ng/1.6.0/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.5.1/scripts/init.sh rename to appstore/mdc-ng/1.6.0/scripts/init.sh diff --git a/appstore/mdc-ng/1.5.1/scripts/uninstall.sh b/appstore/mdc-ng/1.6.0/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.5.1/scripts/uninstall.sh rename to appstore/mdc-ng/1.6.0/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.5.1/scripts/upgrade.sh b/appstore/mdc-ng/1.6.0/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.5.1/scripts/upgrade.sh rename to appstore/mdc-ng/1.6.0/scripts/upgrade.sh diff --git a/appstore/nodepassdash/2.0.3/.env b/appstore/nodepassdash/2.0.4/.env similarity index 100% rename from appstore/nodepassdash/2.0.3/.env rename to appstore/nodepassdash/2.0.4/.env diff --git a/appstore/nodepassdash/2.0.3/data.yml b/appstore/nodepassdash/2.0.4/data.yml similarity index 100% rename from appstore/nodepassdash/2.0.3/data.yml rename to appstore/nodepassdash/2.0.4/data.yml diff --git a/appstore/nodepassdash/2.0.3/docker-compose.yml b/appstore/nodepassdash/2.0.4/docker-compose.yml similarity index 90% rename from appstore/nodepassdash/2.0.3/docker-compose.yml rename to appstore/nodepassdash/2.0.4/docker-compose.yml index 6ee3077a7..e2fdb3097 100644 --- a/appstore/nodepassdash/2.0.3/docker-compose.yml +++ b/appstore/nodepassdash/2.0.4/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.0.3 + image: ghcr.io/nodepassproject/nodepassdash:2.0.4 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/nodepassdash/2.0.3/envs/default.env b/appstore/nodepassdash/2.0.4/envs/default.env similarity index 100% rename from appstore/nodepassdash/2.0.3/envs/default.env rename to appstore/nodepassdash/2.0.4/envs/default.env diff --git a/appstore/nodepassdash/2.0.3/envs/global.env b/appstore/nodepassdash/2.0.4/envs/global.env similarity index 100% rename from appstore/nodepassdash/2.0.3/envs/global.env rename to appstore/nodepassdash/2.0.4/envs/global.env diff --git a/appstore/nodepassdash/2.0.3/scripts/init.sh b/appstore/nodepassdash/2.0.4/scripts/init.sh similarity index 100% rename from appstore/nodepassdash/2.0.3/scripts/init.sh rename to appstore/nodepassdash/2.0.4/scripts/init.sh diff --git a/appstore/nodepassdash/2.0.3/scripts/uninstall.sh b/appstore/nodepassdash/2.0.4/scripts/uninstall.sh similarity index 100% rename from appstore/nodepassdash/2.0.3/scripts/uninstall.sh rename to appstore/nodepassdash/2.0.4/scripts/uninstall.sh diff --git a/appstore/nodepassdash/2.0.3/scripts/upgrade.sh b/appstore/nodepassdash/2.0.4/scripts/upgrade.sh similarity index 100% rename from appstore/nodepassdash/2.0.3/scripts/upgrade.sh rename to appstore/nodepassdash/2.0.4/scripts/upgrade.sh diff --git a/appstore/ollama/0.9.2/.env b/appstore/ollama/0.9.3/.env similarity index 100% rename from appstore/ollama/0.9.2/.env rename to appstore/ollama/0.9.3/.env diff --git a/appstore/ollama/0.9.2/data.yml b/appstore/ollama/0.9.3/data.yml similarity index 100% rename from appstore/ollama/0.9.2/data.yml rename to appstore/ollama/0.9.3/data.yml diff --git a/appstore/ollama/0.9.2/docker-compose.yml b/appstore/ollama/0.9.3/docker-compose.yml similarity index 95% rename from appstore/ollama/0.9.2/docker-compose.yml rename to appstore/ollama/0.9.3/docker-compose.yml index c8edbfdc7..98d812028 100644 --- a/appstore/ollama/0.9.2/docker-compose.yml +++ b/appstore/ollama/0.9.3/docker-compose.yml @@ -18,7 +18,7 @@ services: - OLLAMA_MAX_QUEUE=512 - OLLAMA_FLASH_ATTENTION=0 - OLLAMA_KV_CACHE_TYPE=f16 - image: ollama/ollama:0.9.2 + image: ollama/ollama:0.9.3 labels: createdBy: Apps networks: diff --git a/appstore/ollama/0.9.2/envs/default.env b/appstore/ollama/0.9.3/envs/default.env similarity index 100% rename from appstore/ollama/0.9.2/envs/default.env rename to appstore/ollama/0.9.3/envs/default.env diff --git a/appstore/ollama/0.9.2/envs/global.env b/appstore/ollama/0.9.3/envs/global.env similarity index 100% rename from appstore/ollama/0.9.2/envs/global.env rename to appstore/ollama/0.9.3/envs/global.env diff --git a/appstore/ollama/0.9.2/scripts/init.sh b/appstore/ollama/0.9.3/scripts/init.sh similarity index 100% rename from appstore/ollama/0.9.2/scripts/init.sh rename to appstore/ollama/0.9.3/scripts/init.sh diff --git a/appstore/ollama/0.9.2/scripts/uninstall.sh b/appstore/ollama/0.9.3/scripts/uninstall.sh similarity index 100% rename from appstore/ollama/0.9.2/scripts/uninstall.sh rename to appstore/ollama/0.9.3/scripts/uninstall.sh diff --git a/appstore/ollama/0.9.2/scripts/upgrade.sh b/appstore/ollama/0.9.3/scripts/upgrade.sh similarity index 100% rename from appstore/ollama/0.9.2/scripts/upgrade.sh rename to appstore/ollama/0.9.3/scripts/upgrade.sh diff --git a/dockge/alist-aria2/docker-compose.yml b/dockge/alist-aria2/docker-compose.yml index a6913980a..987544dc1 100644 --- a/dockge/alist-aria2/docker-compose.yml +++ b/dockge/alist-aria2/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist-aria2:v3.40.0 + image: xhofe/alist-aria2:v3.41.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_41_0/.env b/dockge/alist-aria2_3_40_0/.env similarity index 100% rename from dockge/alist-aria2_3_41_0/.env rename to dockge/alist-aria2_3_40_0/.env diff --git a/dockge/alist-aria2_3_41_0/docker-compose.yml b/dockge/alist-aria2_3_40_0/docker-compose.yml similarity index 94% rename from dockge/alist-aria2_3_41_0/docker-compose.yml rename to dockge/alist-aria2_3_40_0/docker-compose.yml index 987544dc1..a6913980a 100644 --- a/dockge/alist-aria2_3_41_0/docker-compose.yml +++ b/dockge/alist-aria2_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist-aria2:v3.41.0 + image: qyg2297248353/alist-aria2:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_41_0/envs/default.env b/dockge/alist-aria2_3_40_0/envs/default.env similarity index 100% rename from dockge/alist-aria2_3_41_0/envs/default.env rename to dockge/alist-aria2_3_40_0/envs/default.env diff --git a/dockge/alist-aria2_3_41_0/envs/global.env b/dockge/alist-aria2_3_40_0/envs/global.env similarity index 100% rename from dockge/alist-aria2_3_41_0/envs/global.env rename to dockge/alist-aria2_3_40_0/envs/global.env diff --git a/dockge/alist-ffmpeg/docker-compose.yml b/dockge/alist-ffmpeg/docker-compose.yml index 8da9f3b40..37149a612 100644 --- a/dockge/alist-ffmpeg/docker-compose.yml +++ b/dockge/alist-ffmpeg/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0-ffmpeg + image: xhofe/alist:v3.45.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_45_0/.env b/dockge/alist-ffmpeg_3_40_0/.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/.env rename to dockge/alist-ffmpeg_3_40_0/.env diff --git a/dockge/alist-ffmpeg_3_45_0/docker-compose.yml b/dockge/alist-ffmpeg_3_40_0/docker-compose.yml similarity index 93% rename from dockge/alist-ffmpeg_3_45_0/docker-compose.yml rename to dockge/alist-ffmpeg_3_40_0/docker-compose.yml index 37149a612..8da9f3b40 100644 --- a/dockge/alist-ffmpeg_3_45_0/docker-compose.yml +++ b/dockge/alist-ffmpeg_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0-ffmpeg + image: qyg2297248353/alist:v3.40.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_45_0/envs/default.env b/dockge/alist-ffmpeg_3_40_0/envs/default.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/envs/default.env rename to dockge/alist-ffmpeg_3_40_0/envs/default.env diff --git a/dockge/alist-ffmpeg_3_45_0/envs/global.env b/dockge/alist-ffmpeg_3_40_0/envs/global.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/envs/global.env rename to dockge/alist-ffmpeg_3_40_0/envs/global.env diff --git a/dockge/alist/docker-compose.yml b/dockge/alist/docker-compose.yml index a5363b529..baa8abfb1 100644 --- a/dockge/alist/docker-compose.yml +++ b/dockge/alist/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0 + image: xhofe/alist:v3.45.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_45_0/.env b/dockge/alist_3_40_0/.env similarity index 100% rename from dockge/alist_3_45_0/.env rename to dockge/alist_3_40_0/.env diff --git a/dockge/alist_3_45_0/docker-compose.yml b/dockge/alist_3_40_0/docker-compose.yml similarity index 94% rename from dockge/alist_3_45_0/docker-compose.yml rename to dockge/alist_3_40_0/docker-compose.yml index baa8abfb1..a5363b529 100644 --- a/dockge/alist_3_45_0/docker-compose.yml +++ b/dockge/alist_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0 + image: qyg2297248353/alist:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_45_0/envs/default.env b/dockge/alist_3_40_0/envs/default.env similarity index 100% rename from dockge/alist_3_45_0/envs/default.env rename to dockge/alist_3_40_0/envs/default.env diff --git a/dockge/alist_3_45_0/envs/global.env b/dockge/alist_3_40_0/envs/global.env similarity index 100% rename from dockge/alist_3_45_0/envs/global.env rename to dockge/alist_3_40_0/envs/global.env diff --git a/dockge/auto-lady/.env b/dockge/auto-lady/.env index a6f1eb1e9..3258da058 100644 --- a/dockge/auto-lady/.env +++ b/dockge/auto-lady/.env @@ -13,3 +13,9 @@ CUSTOM_MOUNT_DIRECTORY_2= # 自定义挂载目录 3 CUSTOM_MOUNT_DIRECTORY_3= +# 网络代理地址 +HTTP_PROXY= + +# 跳过代理地址 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local + diff --git a/dockge/auto-lady/docker-compose.yml b/dockge/auto-lady/docker-compose.yml index 40b13df53..d9c6c701e 100644 --- a/dockge/auto-lady/docker-compose.yml +++ b/dockge/auto-lady/docker-compose.yml @@ -7,7 +7,11 @@ services: env_file: - ./envs/global.env - .env - image: orekiiiiiiiiiiiii/auto-lady:1.4.5 + environment: + - HTTPS_PROXY=${HTTP_PROXY} + - HTTP_PROXY=${HTTP_PROXY:-} + - NO_PROXY=${NO_PROXY:-} + image: envyafish/byte-muse:1.5.3 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/.env b/dockge/auto-lady_1_4_5/.env new file mode 100644 index 000000000..a6f1eb1e9 --- /dev/null +++ b/dockge/auto-lady_1_4_5/.env @@ -0,0 +1,15 @@ +# 数据持久化路径 [必填] +AUTO_LADY_ROOT_PATH=/home/auto-lady + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/dockge/auto-lady_1_4_5/docker-compose.yml b/dockge/auto-lady_1_4_5/docker-compose.yml new file mode 100644 index 000000000..40b13df53 --- /dev/null +++ b/dockge/auto-lady_1_4_5/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + auto-lady: + container_name: auto-lady + env_file: + - ./envs/global.env + - .env + image: orekiiiiiiiiiiiii/auto-lady:1.4.5 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + volumes: + - ${AUTO_LADY_ROOT_PATH}/config:/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/auto-lady_1_5_3/envs/default.env b/dockge/auto-lady_1_4_5/envs/default.env similarity index 100% rename from dockge/auto-lady_1_5_3/envs/default.env rename to dockge/auto-lady_1_4_5/envs/default.env diff --git a/dockge/auto-lady_1_5_3/envs/global.env b/dockge/auto-lady_1_4_5/envs/global.env similarity index 100% rename from dockge/auto-lady_1_5_3/envs/global.env rename to dockge/auto-lady_1_4_5/envs/global.env diff --git a/dockge/bili-fetcher/docker-compose.yml b/dockge/bili-fetcher/docker-compose.yml index c68c76b14..d6ac7c0ac 100644 --- a/dockge/bili-fetcher/docker-compose.yml +++ b/dockge/bili-fetcher/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:latest + image: qyg2297248353/bili-fetcher:v1.6.0 networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:latest + image: qyg2297248353/bili-fetcher-web:v1.6.0 labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_0/.env b/dockge/bili-fetcher_latest/.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/.env rename to dockge/bili-fetcher_latest/.env diff --git a/dockge/bili-fetcher_1_6_0/config/categories.json b/dockge/bili-fetcher_latest/config/categories.json similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/categories.json rename to dockge/bili-fetcher_latest/config/categories.json diff --git a/dockge/bili-fetcher_1_6_0/config/config.yaml b/dockge/bili-fetcher_latest/config/config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/config.yaml rename to dockge/bili-fetcher_latest/config/config.yaml diff --git a/dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml b/dockge/bili-fetcher_latest/config/scheduler_config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml rename to dockge/bili-fetcher_latest/config/scheduler_config.yaml diff --git a/dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py b/dockge/bili-fetcher_latest/config/sql_statements_mysql.py similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py rename to dockge/bili-fetcher_latest/config/sql_statements_mysql.py diff --git a/dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py b/dockge/bili-fetcher_latest/config/sql_statements_sqlite.py similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py rename to dockge/bili-fetcher_latest/config/sql_statements_sqlite.py diff --git a/dockge/bili-fetcher_1_6_0/config/template.html b/dockge/bili-fetcher_latest/config/template.html similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/template.html rename to dockge/bili-fetcher_latest/config/template.html diff --git a/dockge/bili-fetcher_1_6_0/docker-compose.yml b/dockge/bili-fetcher_latest/docker-compose.yml similarity index 88% rename from dockge/bili-fetcher_1_6_0/docker-compose.yml rename to dockge/bili-fetcher_latest/docker-compose.yml index d6ac7c0ac..c68c76b14 100644 --- a/dockge/bili-fetcher_1_6_0/docker-compose.yml +++ b/dockge/bili-fetcher_latest/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:v1.6.0 + image: qyg2297248353/bili-fetcher:latest networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:v1.6.0 + image: qyg2297248353/bili-fetcher-web:latest labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_0/envs/default.env b/dockge/bili-fetcher_latest/envs/default.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/envs/default.env rename to dockge/bili-fetcher_latest/envs/default.env diff --git a/dockge/bili-fetcher_1_6_0/envs/global.env b/dockge/bili-fetcher_latest/envs/global.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/envs/global.env rename to dockge/bili-fetcher_latest/envs/global.env diff --git a/dockge/byte-muse/.env b/dockge/byte-muse/.env index 7198039bd..e633719fd 100644 --- a/dockge/byte-muse/.env +++ b/dockge/byte-muse/.env @@ -1,21 +1,3 @@ -# 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/byte-muse - # WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8080 - -# 自定义挂载目录 1 -CUSTOM_MOUNT_DIRECTORY_1= - -# 自定义挂载目录 2 -CUSTOM_MOUNT_DIRECTORY_2= - -# 自定义挂载目录 3 -CUSTOM_MOUNT_DIRECTORY_3= - -# 网络代理地址 -HTTP_PROXY= - -# 跳过代理地址 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local +PANEL_APP_PORT_HTTP=5000 diff --git a/dockge/byte-muse/docker-compose.yml b/dockge/byte-muse/docker-compose.yml index 3eb8188b7..e70ac8e43 100644 --- a/dockge/byte-muse/docker-compose.yml +++ b/dockge/byte-muse/docker-compose.yml @@ -2,25 +2,13 @@ networks: 1panel-network: external: true services: - auto-lady: + byte-muse-license: container_name: byte-muse - env_file: - - ./envs/global.env - - .env - environment: - - HTTPS_PROXY=${HTTP_PROXY} - - HTTP_PROXY=${HTTP_PROXY:-} - - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.11.8 + image: envyafish/byte-muse-license:latest labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:80 + - ${PANEL_APP_PORT_HTTP}:5000 restart: always - volumes: - - ${AUTO_LADY_ROOT_PATH}/config:/data - - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} - - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} - - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/auto-lady_1_5_3/.env b/dockge/byte-muse_1_11_8/.env similarity index 91% rename from dockge/auto-lady_1_5_3/.env rename to dockge/byte-muse_1_11_8/.env index 3258da058..7198039bd 100644 --- a/dockge/auto-lady_1_5_3/.env +++ b/dockge/byte-muse_1_11_8/.env @@ -1,5 +1,5 @@ # 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/auto-lady +AUTO_LADY_ROOT_PATH=/home/byte-muse # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=8080 diff --git a/dockge/auto-lady_1_5_3/docker-compose.yml b/dockge/byte-muse_1_11_8/docker-compose.yml similarity index 91% rename from dockge/auto-lady_1_5_3/docker-compose.yml rename to dockge/byte-muse_1_11_8/docker-compose.yml index d9c6c701e..3eb8188b7 100644 --- a/dockge/auto-lady_1_5_3/docker-compose.yml +++ b/dockge/byte-muse_1_11_8/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: auto-lady: - container_name: auto-lady + container_name: byte-muse env_file: - ./envs/global.env - .env @@ -11,7 +11,7 @@ services: - HTTPS_PROXY=${HTTP_PROXY} - HTTP_PROXY=${HTTP_PROXY:-} - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.5.3 + image: envyafish/byte-muse:1.11.8 labels: createdBy: Apps networks: diff --git a/dockge/byte-muse_license/envs/default.env b/dockge/byte-muse_1_11_8/envs/default.env similarity index 100% rename from dockge/byte-muse_license/envs/default.env rename to dockge/byte-muse_1_11_8/envs/default.env diff --git a/dockge/byte-muse_license/envs/global.env b/dockge/byte-muse_1_11_8/envs/global.env similarity index 100% rename from dockge/byte-muse_license/envs/global.env rename to dockge/byte-muse_1_11_8/envs/global.env diff --git a/dockge/byte-muse_license/.env b/dockge/byte-muse_license/.env deleted file mode 100644 index e633719fd..000000000 --- a/dockge/byte-muse_license/.env +++ /dev/null @@ -1,3 +0,0 @@ -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=5000 - diff --git a/dockge/byte-muse_license/docker-compose.yml b/dockge/byte-muse_license/docker-compose.yml deleted file mode 100644 index e70ac8e43..000000000 --- a/dockge/byte-muse_license/docker-compose.yml +++ /dev/null @@ -1,14 +0,0 @@ -networks: - 1panel-network: - external: true -services: - byte-muse-license: - container_name: byte-muse - image: envyafish/byte-muse-license:latest - labels: - createdBy: Apps - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:5000 - restart: always diff --git a/dockge/emby/docker-compose.yml b/dockge/emby/docker-compose.yml index e2d892aa1..a461e63ac 100644 --- a/dockge/emby/docker-compose.yml +++ b/dockge/emby/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_8_11_0/.env b/dockge/emby_4_9_1_1/.env similarity index 100% rename from dockge/emby_4_8_11_0/.env rename to dockge/emby_4_9_1_1/.env diff --git a/dockge/emby_4_8_11_0/docker-compose.yml b/dockge/emby_4_9_1_1/docker-compose.yml similarity index 96% rename from dockge/emby_4_8_11_0/docker-compose.yml rename to dockge/emby_4_9_1_1/docker-compose.yml index a461e63ac..e2d892aa1 100644 --- a/dockge/emby_4_8_11_0/docker-compose.yml +++ b/dockge/emby_4_9_1_1/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.8.11.0 + image: emby/embyserver:4.9.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_8_11_0/envs/default.env b/dockge/emby_4_9_1_1/envs/default.env similarity index 100% rename from dockge/emby_4_8_11_0/envs/default.env rename to dockge/emby_4_9_1_1/envs/default.env diff --git a/dockge/emby_4_8_11_0/envs/global.env b/dockge/emby_4_9_1_1/envs/global.env similarity index 100% rename from dockge/emby_4_8_11_0/envs/global.env rename to dockge/emby_4_9_1_1/envs/global.env diff --git a/dockge/homarr/.env b/dockge/homarr/.env index 39cbf2014..ab5a7db42 100644 --- a/dockge/homarr/.env +++ b/dockge/homarr/.env @@ -4,6 +4,3 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 -# 密钥 [必填] -SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 - diff --git a/dockge/homarr/docker-compose.yml b/dockge/homarr/docker-compose.yml index c9303a621..3b26c2c66 100644 --- a/dockge/homarr/docker-compose.yml +++ b/dockge/homarr/docker-compose.yml @@ -16,4 +16,6 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/appdata:/appdata + - ${HOMARR_ROOT_PATH}/configs:/app/data/configs + - ${HOMARR_ROOT_PATH}/icons:/app/public/icons + - ${HOMARR_ROOT_PATH}/data:/data diff --git a/dockge/homarr_0_15_10/.env b/dockge/homarr_1_18_1/.env similarity index 52% rename from dockge/homarr_0_15_10/.env rename to dockge/homarr_1_18_1/.env index ab5a7db42..39cbf2014 100644 --- a/dockge/homarr_0_15_10/.env +++ b/dockge/homarr_1_18_1/.env @@ -4,3 +4,6 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 +# 密钥 [必填] +SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 + diff --git a/dockge/homarr_0_15_10/docker-compose.yml b/dockge/homarr_1_18_1/docker-compose.yml similarity index 73% rename from dockge/homarr_0_15_10/docker-compose.yml rename to dockge/homarr_1_18_1/docker-compose.yml index 3b26c2c66..c9303a621 100644 --- a/dockge/homarr_0_15_10/docker-compose.yml +++ b/dockge/homarr_1_18_1/docker-compose.yml @@ -16,6 +16,4 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/configs:/app/data/configs - - ${HOMARR_ROOT_PATH}/icons:/app/public/icons - - ${HOMARR_ROOT_PATH}/data:/data + - ${HOMARR_ROOT_PATH}/appdata:/appdata diff --git a/dockge/homarr_0_15_10/envs/default.env b/dockge/homarr_1_18_1/envs/default.env similarity index 100% rename from dockge/homarr_0_15_10/envs/default.env rename to dockge/homarr_1_18_1/envs/default.env diff --git a/dockge/homarr_0_15_10/envs/global.env b/dockge/homarr_1_18_1/envs/global.env similarity index 100% rename from dockge/homarr_0_15_10/envs/global.env rename to dockge/homarr_1_18_1/envs/global.env diff --git a/dockge/immich-machine-learning/docker-compose.yml b/dockge/immich-machine-learning/docker-compose.yml index 0c0530ffe..8aa758179 100644 --- a/dockge/immich-machine-learning/docker-compose.yml +++ b/dockge/immich-machine-learning/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_135_3/.env b/dockge/immich-machine-learning_1_132_3/.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/.env rename to dockge/immich-machine-learning_1_132_3/.env diff --git a/dockge/immich-machine-learning_1_135_3/docker-compose.yml b/dockge/immich-machine-learning_1_132_3/docker-compose.yml similarity index 87% rename from dockge/immich-machine-learning_1_135_3/docker-compose.yml rename to dockge/immich-machine-learning_1_132_3/docker-compose.yml index 8aa758179..0c0530ffe 100644 --- a/dockge/immich-machine-learning_1_135_3/docker-compose.yml +++ b/dockge/immich-machine-learning_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_135_3/envs/default.env b/dockge/immich-machine-learning_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/envs/default.env rename to dockge/immich-machine-learning_1_132_3/envs/default.env diff --git a/dockge/immich-machine-learning_1_135_3/envs/global.env b/dockge/immich-machine-learning_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/envs/global.env rename to dockge/immich-machine-learning_1_132_3/envs/global.env diff --git a/dockge/immich-no-machine/docker-compose.yml b/dockge/immich-no-machine/docker-compose.yml index 0ad713e57..b174763a8 100644 --- a/dockge/immich-no-machine/docker-compose.yml +++ b/dockge/immich-no-machine/docker-compose.yml @@ -4,36 +4,13 @@ networks: external: true services: immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -52,7 +29,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_135_3/.env b/dockge/immich-no-machine_1_132_3/.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/.env rename to dockge/immich-no-machine_1_132_3/.env diff --git a/dockge/immich-no-machine_1_135_3/docker-compose.yml b/dockge/immich-no-machine_1_132_3/docker-compose.yml similarity index 54% rename from dockge/immich-no-machine_1_135_3/docker-compose.yml rename to dockge/immich-no-machine_1_132_3/docker-compose.yml index b174763a8..0ad713e57 100644 --- a/dockge/immich-no-machine_1_135_3/docker-compose.yml +++ b/dockge/immich-no-machine_1_132_3/docker-compose.yml @@ -4,13 +4,36 @@ networks: external: true services: immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -29,7 +52,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_135_3/envs/default.env b/dockge/immich-no-machine_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/envs/default.env rename to dockge/immich-no-machine_1_132_3/envs/default.env diff --git a/dockge/immich-no-machine_1_135_3/envs/global.env b/dockge/immich-no-machine_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/envs/global.env rename to dockge/immich-no-machine_1_132_3/envs/global.env diff --git a/dockge/immich-server/docker-compose.yml b/dockge/immich-server/docker-compose.yml index 1f7695a07..a6a472d9a 100644 --- a/dockge/immich-server/docker-compose.yml +++ b/dockge/immich-server/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_135_3/.env b/dockge/immich-server_1_132_3/.env similarity index 100% rename from dockge/immich-server_1_135_3/.env rename to dockge/immich-server_1_132_3/.env diff --git a/dockge/immich-server_1_135_3/docker-compose.yml b/dockge/immich-server_1_132_3/docker-compose.yml similarity index 89% rename from dockge/immich-server_1_135_3/docker-compose.yml rename to dockge/immich-server_1_132_3/docker-compose.yml index a6a472d9a..1f7695a07 100644 --- a/dockge/immich-server_1_135_3/docker-compose.yml +++ b/dockge/immich-server_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_135_3/envs/default.env b/dockge/immich-server_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-server_1_135_3/envs/default.env rename to dockge/immich-server_1_132_3/envs/default.env diff --git a/dockge/immich-server_1_135_3/envs/global.env b/dockge/immich-server_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-server_1_135_3/envs/global.env rename to dockge/immich-server_1_132_3/envs/global.env diff --git a/dockge/immich/docker-compose.yml b/dockge/immich/docker-compose.yml index 44a2398ec..680035b9c 100644 --- a/dockge/immich/docker-compose.yml +++ b/dockge/immich/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: @@ -21,36 +21,13 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -68,7 +45,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_135_3/.env b/dockge/immich_1_132_3/.env similarity index 100% rename from dockge/immich_1_135_3/.env rename to dockge/immich_1_132_3/.env diff --git a/dockge/immich_1_135_3/docker-compose.yml b/dockge/immich_1_132_3/docker-compose.yml similarity index 59% rename from dockge/immich_1_135_3/docker-compose.yml rename to dockge/immich_1_132_3/docker-compose.yml index 680035b9c..44a2398ec 100644 --- a/dockge/immich_1_135_3/docker-compose.yml +++ b/dockge/immich_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: @@ -21,13 +21,36 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -45,7 +68,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_135_3/envs/default.env b/dockge/immich_1_132_3/envs/default.env similarity index 100% rename from dockge/immich_1_135_3/envs/default.env rename to dockge/immich_1_132_3/envs/default.env diff --git a/dockge/immich_1_135_3/envs/global.env b/dockge/immich_1_132_3/envs/global.env similarity index 100% rename from dockge/immich_1_135_3/envs/global.env rename to dockge/immich_1_132_3/envs/global.env diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index b251702e4..6182f6569 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.5.1 + image: mdcng/mdc:1.6.0 labels: createdBy: Apps networks: diff --git a/dockge/nodepassdash/docker-compose.yml b/dockge/nodepassdash/docker-compose.yml index 6ee3077a7..e2fdb3097 100644 --- a/dockge/nodepassdash/docker-compose.yml +++ b/dockge/nodepassdash/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.0.3 + image: ghcr.io/nodepassproject/nodepassdash:2.0.4 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/ollama/docker-compose.yml b/dockge/ollama/docker-compose.yml index c8edbfdc7..98d812028 100644 --- a/dockge/ollama/docker-compose.yml +++ b/dockge/ollama/docker-compose.yml @@ -18,7 +18,7 @@ services: - OLLAMA_MAX_QUEUE=512 - OLLAMA_FLASH_ATTENTION=0 - OLLAMA_KV_CACHE_TYPE=f16 - image: ollama/ollama:0.9.2 + image: ollama/ollama:0.9.3 labels: createdBy: Apps networks: diff --git a/dockge/postgresql/docker-compose.yml b/dockge/postgresql/docker-compose.yml index 6826af067..aad82d79a 100644 --- a/dockge/postgresql/docker-compose.yml +++ b/dockge/postgresql/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: pg16-alpine-postgresql + container_name: postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16-alpine + image: postgres:16.9-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_16_9-alpine/.env b/dockge/postgresql_pg16-alpine/.env similarity index 100% rename from dockge/postgresql_16_9-alpine/.env rename to dockge/postgresql_pg16-alpine/.env diff --git a/dockge/postgresql_16_9-alpine/docker-compose.yml b/dockge/postgresql_pg16-alpine/docker-compose.yml similarity index 87% rename from dockge/postgresql_16_9-alpine/docker-compose.yml rename to dockge/postgresql_pg16-alpine/docker-compose.yml index aad82d79a..6826af067 100644 --- a/dockge/postgresql_16_9-alpine/docker-compose.yml +++ b/dockge/postgresql_pg16-alpine/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: postgresql + container_name: pg16-alpine-postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16.9-alpine + image: postgres:16-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_16_9-alpine/envs/default.env b/dockge/postgresql_pg16-alpine/envs/default.env similarity index 100% rename from dockge/postgresql_16_9-alpine/envs/default.env rename to dockge/postgresql_pg16-alpine/envs/default.env diff --git a/dockge/postgresql_16_9-alpine/envs/global.env b/dockge/postgresql_pg16-alpine/envs/global.env similarity index 100% rename from dockge/postgresql_16_9-alpine/envs/global.env rename to dockge/postgresql_pg16-alpine/envs/global.env diff --git a/dockge/qbittorrent/docker-compose.yml b/dockge/qbittorrent/docker-compose.yml index 5ec4b458b..5dd224da4 100644 --- a/dockge/qbittorrent/docker-compose.yml +++ b/dockge/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:4.6.7 + image: linuxserver/qbittorrent:5.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_1/.env b/dockge/qbittorrent_4_6_7/.env similarity index 100% rename from dockge/qbittorrent_5_1_1/.env rename to dockge/qbittorrent_4_6_7/.env diff --git a/dockge/qbittorrent_5_1_1/docker-compose.yml b/dockge/qbittorrent_4_6_7/docker-compose.yml similarity index 95% rename from dockge/qbittorrent_5_1_1/docker-compose.yml rename to dockge/qbittorrent_4_6_7/docker-compose.yml index 5dd224da4..5ec4b458b 100644 --- a/dockge/qbittorrent_5_1_1/docker-compose.yml +++ b/dockge/qbittorrent_4_6_7/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:5.1.1 + image: linuxserver/qbittorrent:4.6.7 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_1/envs/default.env b/dockge/qbittorrent_4_6_7/envs/default.env similarity index 100% rename from dockge/qbittorrent_5_1_1/envs/default.env rename to dockge/qbittorrent_4_6_7/envs/default.env diff --git a/dockge/qbittorrent_5_1_1/envs/global.env b/dockge/qbittorrent_4_6_7/envs/global.env similarity index 100% rename from dockge/qbittorrent_5_1_1/envs/global.env rename to dockge/qbittorrent_4_6_7/envs/global.env diff --git a/dockge/redis/config/redis.conf b/dockge/redis/config/redis.conf index 8795ae291..ca22ec9f6 100644 --- a/dockge/redis/config/redis.conf +++ b/dockge/redis/config/redis.conf @@ -32,17 +32,8 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # -# Included paths may contain wildcards. All files matching the wildcards will -# be included in alphabetical order. -# Note that if an include path contains a wildcards but no files match it when -# the server is started, the include statement will be ignored and no error will -# be emitted. It is safe, therefore, to include wildcard files from empty -# directories. -# # include /path/to/local.conf # include /path/to/other.conf -# include /path/to/fragments/*.conf -# ################################## MODULES ##################################### @@ -58,81 +49,43 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. -# Each address can be prefixed by "-", which means that redis will not fail to -# start if the address is not available. Being not available only refers to -# addresses that does not correspond to any network interface. Addresses that -# are already in use will always fail, and unsupported protocols will always BE -# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses -# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 -# bind * -::* # like the default, all available interfaces +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis -# will only be able to accept client connections from the same host that it is -# running on). +# IPv4 loopback interface address (this means Redis will only be able to +# accept client connections from the same host that it is running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# COMMENT OUT THE FOLLOWING LINE. -# -# You will also need to set a password unless you explicitly disable protected -# mode. +# JUST COMMENT OUT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 -# By default, outgoing connections (from replica to master, from Sentinel to -# instances, cluster bus, etc.) are not bound to a specific local address. In -# most cases, this means the operating system will handle that based on routing -# and the interface through which the connection goes out. -# -# Using bind-source-addr it is possible to configure a specific address to bind -# to, which may also affect how the connection gets routed. -# -# Example: -# -# bind-source-addr 10.0.0.1 - # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and the default user has no password, the server -# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address -# (::1) or Unix domain sockets. +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured. +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. protected-mode yes -# Redis uses default hardened security configuration directives to reduce the -# attack surface on innocent users. Therefore, several sensitive configuration -# directives are immutable, and some potentially-dangerous commands are blocked. -# -# Configuration directives that control files that Redis writes to (e.g., 'dir' -# and 'dbfilename') and that aren't usually modified during runtime -# are protected by making them immutable. -# -# Commands that can increase the attack surface of Redis and that aren't usually -# called by users are blocked by default. -# -# These can be exposed to either all connections or just local ones by setting -# each of the configs listed below to either of these values: -# -# no - Block for any connection (remain immutable) -# yes - Allow for any connection (no protection) -# local - Allow only for local connections. Ones originating from the -# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. -# -# enable-protected-configs no -# enable-debug-command no -# enable-module-command no - # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -152,7 +105,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /run/redis.sock +# unixsocket /tmp/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -175,16 +128,6 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 -# Apply OS-specific mechanism to mark the listening socket with the specified -# ID, to support advanced routing and filtering capabilities. -# -# On Linux, the ID represents a connection mark. -# On FreeBSD, the ID represents a socket cookie ID. -# On OpenBSD, the ID represents a route table ID. -# -# The default value is 0, which implies no marking is required. -# socket-mark-id 0 - ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -200,32 +143,8 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret -# Normally Redis uses the same certificate for both server functions (accepting -# connections) and client functions (replicating from a master, establishing -# cluster bus connections, etc.). -# -# Sometimes certificates are issued with attributes that designate them as -# client-only or server-only certificates. In that case it may be desired to use -# different certificates for incoming (server) and outgoing (client) -# connections. To do that, use the following directives: -# -# tls-client-cert-file client.crt -# tls-client-key-file client.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-client-key-file-pass secret - -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, -# required by older versions of OpenSSL (<3.0). Newer versions do not require -# this configuration and recommend against it. +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: # # tls-dh-params-file redis.dh @@ -258,12 +177,9 @@ tcp-keepalive 300 # # tls-cluster yes -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: +# Explicitly specify TLS versions to support. Allowed values are case insensitive +# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or +# any combination. To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -305,7 +221,6 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -314,17 +229,11 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# on startup, and updating Redis status on a regular -# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -# -# The default is "no". To run under upstart/systemd, you can simply uncomment -# the line below: -# -# supervised auto +supervised no # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -335,9 +244,6 @@ daemonize no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. -# -# Note that on modern Linux systems "/run/redis.pid" is more conforming -# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -363,74 +269,44 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 -# To disable the built in crash log, which will possibly produce cleaner core -# dumps when they are needed, uncomment the following: -# -# crash-log-enabled no - -# To disable the fast memory check that's run as part of the crash log, which -# will possibly let redis terminate sooner, uncomment the following: -# -# crash-memcheck-enabled no - # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY and syslog logging is -# disabled. Basically this means that normally a logo is displayed only in -# interactive sessions. +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo no - -# By default, Redis modifies the process title (as seen in 'top' and 'ps') to -# provide some runtime information. It is possible to disable this and leave -# the process name as executed by setting the following to no. -set-proc-title yes - -# When changing the process title, Redis uses the following template to construct -# the modified title. -# -# Template variables are specified in curly brackets. The following variables are -# supported: -# -# {title} Name of process as executed if parent, or type of child process. -# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or -# Unix socket if only that's available. -# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". -# {port} TCP port listening on, or 0. -# {tls-port} TLS port listening on, or 0. -# {unixsocket} Unix domain socket listening on, or "". -# {config-file} Name of configuration file used. -# -proc-title-template "{title} {listen-addr} {server-mode}" +always-show-logo yes ################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behavior will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" -# Save the DB to disk. -# -# save [ ...] -# -# Redis will save the DB if the given number of seconds elapsed and it -# surpassed the given number of write operations against the DB. -# -# Snapshotting can be completely disabled with a single empty string argument -# as in following example: -# -# save "" -# -# Unless specified otherwise, by default Redis will save the DB: -# * After 3600 seconds (an hour) if at least 1 change was performed -# * After 300 seconds (5 minutes) if at least 100 changes were performed -# * After 60 seconds if at least 10000 changes were performed -# -# You can set these explicitly by uncommenting the following line. -# -# save 3600 1 300 100 60 10000 +save 900 1 +save 300 10 +save 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -462,21 +338,6 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes -# Enables or disables full sanitization checks for ziplist and listpack etc when -# loading an RDB or RESTORE payload. This reduces the chances of a assertion or -# crash later on while processing commands. -# Options: -# no - Never perform full sanitization -# yes - Always perform full sanitization -# clients - Perform full sanitization only for user connections. -# Excludes: RDB files, RESTORE commands received from the master -# connection, and client connections which have the -# skip-sanitize-payload ACL flag. -# The default should be 'clients' but since it currently affects cluster -# resharding via MIGRATE, it is temporarily set to 'no' by default. -# -# sanitize-dump-payload no - # The filename where to dump the DB dbfilename dump.rdb @@ -551,10 +412,9 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error -# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" -# to all data access commands, excluding commands such as: -# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -603,7 +463,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync yes +repl-diskless-sync no # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -617,18 +477,12 @@ repl-diskless-sync yes # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 -# When diskless replication is enabled with a delay, it is possible to let -# the replication start before the maximum delay is reached if the maximum -# number of replicas expected have connected. Default of 0 means that the -# maximum is not defined and Redis will wait the full delay. -repl-diskless-sync-max-replicas 0 - # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if you know what you are doing. +# stage with the master. Use only if your do what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -637,23 +491,19 @@ repl-diskless-sync-max-replicas 0 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and replica buffers). +# Copy on Write memory and salve buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep current db contents in RAM while parsing the data directly -# from the socket. Replicas in this mode can keep serving current -# data set while replication is in progress, except for cases where -# they can't recognize master as having a data set from same -# replication history. -# Note that this requires sufficient memory, if you don't have it, -# you risk an OOM kill. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. repl-diskless-load disabled -# Master send PINGs to its replicas in a predefined interval. It's possible to +# Replicas send PINGs to server in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -728,43 +578,6 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 -# The propagation error behavior controls how Redis will behave when it is -# unable to handle a command being processed in the replication stream from a master -# or processed while reading from an AOF file. Errors that occur during propagation -# are unexpected, and can cause data inconsistency. However, there are edge cases -# in earlier versions of Redis where it was possible for the server to replicate or persist -# commands that would fail on future versions. For this reason the default behavior -# is to ignore such errors and continue processing commands. -# -# If an application wants to ensure there is no data divergence, this configuration -# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' -# to only panic when a replica encounters an error on the replication stream. One of -# these two panic values will become the default value in the future once there are -# sufficient safety mechanisms in place to prevent false positive crashes. -# -# propagation-error-behavior ignore - -# Replica ignore disk write errors controls the behavior of a replica when it is -# unable to persist a write command received from its master to disk. By default, -# this configuration is set to 'no' and will crash the replica in this condition. -# It is not recommended to change this default, however in order to be compatible -# with older versions of Redis this config can be toggled to 'yes' which will just -# log a warning and execute the write command it got from the master. -# -# replica-ignore-disk-write-errors no - -# ----------------------------------------------------------------------------- -# By default, Redis Sentinel includes all replicas in its reports. A replica -# can be excluded from Redis Sentinel's announcements. An unannounced replica -# will be ignored by the 'sentinel replicas ' command and won't be -# exposed to Redis Sentinel's clients. -# -# This option does not change the behavior of replica-priority. Even with -# replica-announced set to 'no', the replica can be promoted to master. To -# prevent this behavior, set replica-priority to 0. -# -# replica-announced yes - # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -820,7 +633,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# a radix key indexed by key name, what clients have which keys. In turn +# 16 millions of slots, what clients may have certain subsets of keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -884,12 +697,8 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. -# sanitize-payload RESTORE dump-payload is sanitized (default). -# + Allow the execution of that command. -# May be used with `|` for allowing subcommands (e.g "+config|get") -# - Disallow the execution of that command. -# May be used with `|` for blocking subcommands (e.g "-config|set") +# + Allow the execution of that command +# - Disallow the execution of that command # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -897,11 +706,10 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|first-arg Allow a specific first argument of an otherwise -# disabled command. It is only supported on commands with -# no sub-commands, and is not allowed as negative form -# like -SELECT|1, only additive starting with "+". This -# feature is deprecated and may be removed in the future. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -909,17 +717,8 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. -# %R~ Add key read pattern that specifies which keys can be read -# from. -# %W~ Add key write pattern that specifies which keys can be -# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. -# & Add a glob-style pattern of Pub/Sub channels that can be -# accessed by the user. It is possible to specify multiple channel -# patterns. -# allchannels Alias for &* -# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -938,14 +737,6 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. -# () Create a new selector with the options specified within the -# parentheses and attach it to the user. Each option should be -# space separated. The first character must be ( and the last -# character must be ). -# clearselectors Remove all of the currently attached selectors. -# Note this does not change the "root" user permissions, -# which are the permissions directly applied onto the -# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -967,40 +758,6 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # -# The following is a list of command categories and their meanings: -# * keyspace - Writing or reading from keys, databases, or their metadata -# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, -# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, -# key or metadata will also have `write` category. Commands that only read -# the keyspace, key or metadata will have the `read` category. -# * read - Reading from keys (values or metadata). Note that commands that don't -# interact with keys, will not have either `read` or `write`. -# * write - Writing to keys (values or metadata) -# * admin - Administrative commands. Normal applications will never need to use -# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. -# * dangerous - Potentially dangerous (each should be considered with care for -# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, -# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. -# * connection - Commands affecting the connection or other connections. -# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. -# * blocking - Potentially blocking the connection until released by another -# command. -# * fast - Fast O(1) commands. May loop on the number of arguments, but not the -# number of elements in the key. -# * slow - All commands that are not Fast. -# * pubsub - PUBLISH / SUBSCRIBE related -# * transaction - WATCH / MULTI / EXEC related commands. -# * scripting - Scripting related. -# * set - Data type: sets related. -# * sortedset - Data type: zsets related. -# * list - Data type: lists related. -# * hash - Data type: hashes related. -# * string - Data type: strings related. -# * bitmap - Data type: bitmaps related. -# * hyperloglog - Data type: hyperloglog related. -# * geo - Data type: geo related. -# * stream - Data type: streams related. -# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -1030,24 +787,8 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # -# The requirepass is not compatible with aclfile option and the ACL LOAD -# command, these will cause requirepass to be ignored. -# # requirepass foobared -# New users are initialized with restrictive permissions by default, via the -# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it -# is possible to manage access to Pub/Sub channels with ACL rules as well. The -# default Pub/Sub channels permission if new users is controlled by the -# acl-pubsub-default configuration directive, which accepts one of these values: -# -# allchannels: grants access to all Pub/Sub channels -# resetchannels: revokes access to all Pub/Sub channels -# -# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. -# -# acl-pubsub-default resetchannels - # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -1136,12 +877,14 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, when there are no suitable keys for -# eviction, Redis will return an error on write operations that require -# more memory. These are usually commands that create new keys, add data or -# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, -# SORT (due to the STORE argument), and EXEC (if the transaction includes any -# command that requires memory). +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort # # The default is: # @@ -1158,14 +901,6 @@ acllog-max-len 128 # # maxmemory-samples 5 -# Eviction processing is designed to function well with the default setting. -# If there is an unusually large amount of write traffic, this value may need to -# be increased. Decreasing this value may reduce latency at the risk of -# eviction processing effectiveness -# 0 = minimum latency, 10 = default, 100 = process without regard to latency -# -# maxmemory-eviction-tenacity 10 - # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -1259,13 +994,6 @@ replica-lazy-flush no lazyfree-lazy-user-del no -# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous -# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the -# commands. When neither flag is passed, this directive will be used to determine -# if the data should be deleted asynchronously. - -lazyfree-lazy-user-flush no - ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1304,7 +1032,7 @@ lazyfree-lazy-user-flush no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Also, this feature currently does not work when SSL is +# CONFIG SET. Aso this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1322,7 +1050,7 @@ lazyfree-lazy-user-flush no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports these options: +# Redis supports three options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1343,19 +1071,6 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 - -#################### KERNEL transparent hugepage CONTROL ###################### - -# Usually the kernel Transparent Huge Pages control is set to "madvise" or -# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which -# case this config has no effect. On systems in which it is set to "always", -# redis will attempt to disable it specifically for the redis process in order -# to avoid latency problems specifically with fork(2) and CoW. -# If for some reason you prefer to keep it enabled, you can set this config to -# "no" and the kernel global to "always". - -disable-thp yes - ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1374,43 +1089,14 @@ disable-thp yes # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check https://redis.io/topics/persistence for more information. +# Please check http://redis.io/topics/persistence for more information. appendonly no -# The base name of the append only file. -# -# Redis 7 and newer use a set of append-only files to persist the dataset -# and changes applied to it. There are two basic types of files in use: -# -# - Base files, which are a snapshot representing the complete state of the -# dataset at the time the file was created. Base files can be either in -# the form of RDB (binary serialized) or AOF (textual commands). -# - Incremental files, which contain additional commands that were applied -# to the dataset following the previous file. -# -# In addition, manifest files are used to track the files and the order in -# which they were created and should be applied. -# -# Append-only file names are created by Redis following a specific pattern. -# The file name's prefix is based on the 'appendfilename' configuration -# parameter, followed by additional information about the sequence and type. -# -# For example, if appendfilename is set to appendonly.aof, the following file -# names could be derived: -# -# - appendonly.aof.1.base.rdb as a base file. -# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. -# - appendonly.aof.manifest as a manifest file. +# The name of the append only file (default: "appendonly.aof") appendfilename "appendonly.aof" -# For convenience, Redis stores all persistent append-only files in a dedicated -# directory. The name of the directory is determined by the appenddirname -# configuration parameter. - -appenddirname "appendonlydir" - # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1450,7 +1136,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync no". In practical terms, this means that it is +# the same as "appendfsync none". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1503,69 +1189,34 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# Redis can create append-only base files in either RDB or AOF formats. Using -# the RDB format is always faster and more efficient, and disabling it is only -# supported for backward compatibility purposes. +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. aof-use-rdb-preamble yes -# Redis supports recording timestamp annotations in the AOF to support restoring -# the data from a specific point-in-time. However, using this capability changes -# the AOF format in a way that may not be compatible with existing AOF parsers. -aof-timestamp-enabled no +################################ LUA SCRIPTING ############################### -################################ SHUTDOWN ##################################### - -# Maximum time to wait for replicas when shutting down, in seconds. +# Max execution time of a Lua script in milliseconds. # -# During shut down, a grace period allows any lagging replicas to catch up with -# the latest replication offset before the master exists. This period can -# prevent data loss, especially for deployments without configured disk backups. +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. # -# The 'shutdown-timeout' value is the grace period's duration in seconds. It is -# only applicable when the instance has replicas. To disable the feature, set -# the value to 0. +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. # -# shutdown-timeout 10 - -# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default -# an RDB snapshot is written to disk in a blocking operation if save points are configured. -# The options used on signaled shutdown can include the following values: -# default: Saves RDB snapshot only if save points are configured. -# Waits for lagging replicas to catch up. -# save: Forces a DB saving operation even if no save points are configured. -# nosave: Prevents DB saving operation even if one or more save points are configured. -# now: Skips waiting for lagging replicas. -# force: Ignores any errors that would normally prevent the server from exiting. -# -# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. -# Example: "nosave force now" -# -# shutdown-on-sigint default -# shutdown-on-sigterm default - -################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### - -# Maximum time in milliseconds for EVAL scripts, functions and in some cases -# modules' commands before Redis can start processing or rejecting other clients. -# -# If the maximum execution time is reached Redis will start to reply to most -# commands with a BUSY error. -# -# In this state Redis will only allow a handful of commands to be executed. -# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some -# module specific 'allow-busy' commands. -# -# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not -# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop -# the server in the case a write command was already issued by the script when -# the user doesn't want to wait for the natural termination of the script. -# -# The default is 5 seconds. It is possible to set it to 0 or a negative value -# to disable this mechanism (uninterrupted execution). Note that in the past -# this config had a different name, which is now an alias, so both of these do -# the same: -# lua-time-limit 5000 -# busy-reply-threshold 5000 +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 ################################ REDIS CLUSTER ############################### @@ -1589,11 +1240,6 @@ aof-timestamp-enabled no # # cluster-node-timeout 15000 -# The cluster port is the port that the cluster bus will listen for inbound connections on. When set -# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires -# you to specify the cluster bus port when executing cluster meet. -# cluster-port 0 - # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1652,21 +1298,12 @@ aof-timestamp-enabled no # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value or -# set cluster-allow-replica-migration to 'no'. +# one replica). To disable migration just set it to a very large value. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 -# Turning off this option allows to use less automatic cluster configuration. -# It both disables migration to orphaned masters and migration from masters -# that became empty. -# -# Default is 'yes' (allow automatic migrations). -# -# cluster-allow-replica-migration yes - # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1681,7 +1318,7 @@ aof-timestamp-enabled no # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the replica can still perform a +# master during master failures. However the master can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1691,7 +1328,7 @@ aof-timestamp-enabled no # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# cluster is in a down state, as long as it believes it owns the slots. +# the cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1706,54 +1343,8 @@ aof-timestamp-enabled no # # cluster-allow-reads-when-down no -# This option, when set to yes, allows nodes to serve pubsub shard traffic while -# the cluster is in a down state, as long as it believes it owns the slots. -# -# This is useful if the application would like to use the pubsub feature even when -# the cluster global stable state is not OK. If the application wants to make sure only -# one shard is serving a given channel, this feature should be kept as yes. -# -# cluster-allow-pubsubshard-when-down yes - -# Cluster link send buffer limit is the limit on the memory usage of an individual -# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed -# this limit. This is to primarily prevent send buffers from growing unbounded on links -# toward slow peers (E.g. PubSub messages being piled up). -# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field -# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. -# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single -# PubSub message by default. (client-query-buffer-limit default value is 1gb) -# -# cluster-link-sendbuf-limit 0 - -# Clusters can configure their announced hostname using this config. This is a common use case for -# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based -# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS -# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is -# communicated along the clusterbus to all nodes, setting it to an empty string will remove -# the hostname and also propagate the removal. -# -# cluster-announce-hostname "" - -# Clusters can advertise how clients should connect to them using either their IP address, -# a user defined hostname, or by declaring they have no endpoint. Which endpoint is -# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type -# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how -# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. -# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' -# will be returned instead. -# -# When a cluster advertises itself as having an unknown endpoint, it's indicating that -# the server doesn't know how clients can reach the cluster. This can happen in certain -# networking situations where there are multiple possible routes to the node, and the -# server doesn't know which one the client took. In this case, the server is expecting -# the client to reach out on the same endpoint it used for making the last request, but use -# the port provided in the response. -# -# cluster-preferred-endpoint-type ip - # In order to setup your cluster make sure to read the documentation -# available at https://redis.io web site. +# available at http://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1763,21 +1354,16 @@ aof-timestamp-enabled no # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following four options are used for this scope, and are: +# following two options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port -# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client ports (for connections -# without and with TLS) and cluster message bus port. The information is then -# published in the header of the bus packets so that other nodes will be able to -# correctly map the address of the node publishing the information. -# -# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set -# to zero, then cluster-announce-port refers to the TLS port. Note also that -# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# Each instructs the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1790,8 +1376,7 @@ aof-timestamp-enabled no # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-tls-port 6379 -# cluster-announce-port 0 +# cluster-announce-port 6379 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1839,24 +1424,10 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 -################################ LATENCY TRACKING ############################## - -# The Redis extended latency monitoring tracks the per command latencies and enables -# exporting the percentile distribution via the INFO latencystats command, -# and cumulative latency distributions (histograms) via the LATENCY command. -# -# By default, the extended latency monitoring is enabled since the overhead -# of keeping track of the command latency is very small. -# latency-tracking yes - -# By default the exported latency percentiles via the INFO latencystats command -# are the p50, p99, and p999. -# latency-tracking-info-percentiles 50 99 99.9 - ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at https://redis.io/topics/notifications +# This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1878,11 +1449,9 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) -# n New key events (Note: not included in the 'A' class) # t Stream commands -# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# A Alias for g$lshzxet, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1905,13 +1474,71 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-listpack-entries 512 -hash-max-listpack-value 64 +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1926,7 +1553,7 @@ hash-max-listpack-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-listpack-size -2 +list-max-ziplist-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1954,8 +1581,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-listpack-entries 128 -zset-max-listpack-value 64 +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1977,7 +1604,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entries limit by setting max-bytes to 0 and max-entries to the desired +# max entires limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -2010,7 +1637,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -2034,13 +1661,6 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # -# Note that it doesn't make sense to set the replica clients output buffer -# limit lower than the repl-backlog-size config (partial sync will succeed -# and then replica will get disconnected). -# Such a configuration is ignored (the size of repl-backlog-size will be used). -# This doesn't have memory consumption implications since the replica client -# will share the backlog buffers memory. -# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -2054,25 +1674,6 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb -# In some scenarios client connections can hog up memory leading to OOM -# errors or data eviction. To avoid this we can cap the accumulated memory -# used by all client connections (all pubsub and normal clients). Once we -# reach that limit connections will be dropped by the server freeing up -# memory. The server will attempt to drop the connections using the most -# memory first. We call this mechanism "client eviction". -# -# Client eviction is configured using the maxmemory-clients setting as follows: -# 0 - client eviction is disabled (default) -# -# A memory value can be used for the client eviction threshold, -# for example: -# maxmemory-clients 1g -# -# A percentage value (between 1% and 100%) means the client eviction threshold -# is based on a percentage of the maxmemory setting. For example to set client -# eviction at 5% of maxmemory: -# maxmemory-clients 5% - # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -2113,13 +1714,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -2216,7 +1817,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Active defragmentation is disabled by default +# Enabled active defragmentation # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis/docker-compose.yml b/dockge/redis/docker-compose.yml index 08fd078c6..cadefa142 100644 --- a/dockge/redis/docker-compose.yml +++ b/dockge/redis/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:7.4.4-alpine + image: redis:6.2.18-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_18/.env b/dockge/redis_7_4_4/.env similarity index 100% rename from dockge/redis_6_2_18/.env rename to dockge/redis_7_4_4/.env diff --git a/dockge/redis_6_2_18/config/redis.conf b/dockge/redis_7_4_4/config/redis.conf similarity index 72% rename from dockge/redis_6_2_18/config/redis.conf rename to dockge/redis_7_4_4/config/redis.conf index ca22ec9f6..8795ae291 100644 --- a/dockge/redis_6_2_18/config/redis.conf +++ b/dockge/redis_7_4_4/config/redis.conf @@ -32,8 +32,17 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # +# Included paths may contain wildcards. All files matching the wildcards will +# be included in alphabetical order. +# Note that if an include path contains a wildcards but no files match it when +# the server is started, the include statement will be ignored and no error will +# be emitted. It is safe, therefore, to include wildcard files from empty +# directories. +# # include /path/to/local.conf # include /path/to/other.conf +# include /path/to/fragments/*.conf +# ################################## MODULES ##################################### @@ -49,43 +58,81 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interface. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 loopback interface address (this means Redis will only be able to -# accept client connections from the same host that it is running on). +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT OUT THE FOLLOWING LINE. +# COMMENT OUT THE FOLLOWING LINE. +# +# You will also need to set a password unless you explicitly disable protected +# mode. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 +# By default, outgoing connections (from replica to master, from Sentinel to +# instances, cluster bus, etc.) are not bound to a specific local address. In +# most cases, this means the operating system will handle that based on routing +# and the interface through which the connection goes out. +# +# Using bind-source-addr it is possible to configure a specific address to bind +# to, which may also affect how the connection gets routed. +# +# Example: +# +# bind-source-addr 10.0.0.1 + # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. +# When protected mode is on and the default user has no password, the server +# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address +# (::1) or Unix domain sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. +# even if no authentication is configured. protected-mode yes +# Redis uses default hardened security configuration directives to reduce the +# attack surface on innocent users. Therefore, several sensitive configuration +# directives are immutable, and some potentially-dangerous commands are blocked. +# +# Configuration directives that control files that Redis writes to (e.g., 'dir' +# and 'dbfilename') and that aren't usually modified during runtime +# are protected by making them immutable. +# +# Commands that can increase the attack surface of Redis and that aren't usually +# called by users are blocked by default. +# +# These can be exposed to either all connections or just local ones by setting +# each of the configs listed below to either of these values: +# +# no - Block for any connection (remain immutable) +# yes - Allow for any connection (no protection) +# local - Allow only for local connections. Ones originating from the +# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. +# +# enable-protected-configs no +# enable-debug-command no +# enable-module-command no + # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -105,7 +152,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /tmp/redis.sock +# unixsocket /run/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -128,6 +175,16 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 +# Apply OS-specific mechanism to mark the listening socket with the specified +# ID, to support advanced routing and filtering capabilities. +# +# On Linux, the ID represents a connection mark. +# On FreeBSD, the ID represents a socket cookie ID. +# On OpenBSD, the ID represents a route table ID. +# +# The default value is 0, which implies no marking is required. +# socket-mark-id 0 + ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -143,8 +200,32 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, +# required by older versions of OpenSSL (<3.0). Newer versions do not require +# this configuration and recommend against it. # # tls-dh-params-file redis.dh @@ -177,9 +258,12 @@ tcp-keepalive 300 # # tls-cluster yes -# Explicitly specify TLS versions to support. Allowed values are case insensitive -# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or -# any combination. To enable only TLSv1.2 and TLSv1.3, use: +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -221,6 +305,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -229,11 +314,17 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -supervised no +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -244,6 +335,9 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -269,44 +363,74 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" ################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behavior will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" -save 900 1 -save 300 10 -save 60 10000 +# Save the DB to disk. +# +# save [ ...] +# +# Redis will save the DB if the given number of seconds elapsed and it +# surpassed the given number of write operations against the DB. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 change was performed +# * After 300 seconds (5 minutes) if at least 100 changes were performed +# * After 60 seconds if at least 10000 changes were performed +# +# You can set these explicitly by uncommenting the following line. +# +# save 3600 1 300 100 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -338,6 +462,21 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes +# Enables or disables full sanitization checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitization +# yes - Always perform full sanitization +# clients - Perform full sanitization only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + # The filename where to dump the DB dbfilename dump.rdb @@ -412,9 +551,10 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with -# an error "SYNC with master in progress" to all commands except: -# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error +# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" +# to all data access commands, excluding commands such as: +# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -463,7 +603,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync no +repl-diskless-sync yes # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -477,12 +617,18 @@ repl-diskless-sync no # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 +# When diskless replication is enabled with a delay, it is possible to let +# the replication start before the maximum delay is reached if the maximum +# number of replicas expected have connected. Default of 0 means that the +# maximum is not defined and Redis will wait the full delay. +repl-diskless-sync-max-replicas 0 + # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if your do what you are doing. +# stage with the master. Use only if you know what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -491,19 +637,23 @@ repl-diskless-sync-delay 5 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and salve buffers). +# Copy on Write memory and replica buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep a copy of the current db contents in RAM while parsing -# the data directly from the socket. note that this requires -# sufficient memory, if you don't have it, you risk an OOM kill. +# "swapdb" - Keep current db contents in RAM while parsing the data directly +# from the socket. Replicas in this mode can keep serving current +# data set while replication is in progress, except for cases where +# they can't recognize master as having a data set from same +# replication history. +# Note that this requires sufficient memory, if you don't have it, +# you risk an OOM kill. repl-diskless-load disabled -# Replicas send PINGs to server in a predefined interval. It's possible to +# Master send PINGs to its replicas in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -578,6 +728,43 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 +# The propagation error behavior controls how Redis will behave when it is +# unable to handle a command being processed in the replication stream from a master +# or processed while reading from an AOF file. Errors that occur during propagation +# are unexpected, and can cause data inconsistency. However, there are edge cases +# in earlier versions of Redis where it was possible for the server to replicate or persist +# commands that would fail on future versions. For this reason the default behavior +# is to ignore such errors and continue processing commands. +# +# If an application wants to ensure there is no data divergence, this configuration +# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' +# to only panic when a replica encounters an error on the replication stream. One of +# these two panic values will become the default value in the future once there are +# sufficient safety mechanisms in place to prevent false positive crashes. +# +# propagation-error-behavior ignore + +# Replica ignore disk write errors controls the behavior of a replica when it is +# unable to persist a write command received from its master to disk. By default, +# this configuration is set to 'no' and will crash the replica in this condition. +# It is not recommended to change this default, however in order to be compatible +# with older versions of Redis this config can be toggled to 'yes' which will just +# log a warning and execute the write command it got from the master. +# +# replica-ignore-disk-write-errors no + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -633,7 +820,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# 16 millions of slots, what clients may have certain subsets of keys. In turn +# a radix key indexed by key name, what clients have which keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -697,8 +884,12 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# + Allow the execution of that command -# - Disallow the execution of that command +# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command. +# May be used with `|` for allowing subcommands (e.g "+config|get") +# - Disallow the execution of that command. +# May be used with `|` for blocking subcommands (e.g "-config|set") # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -706,10 +897,11 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|subcommand Allow a specific subcommand of an otherwise -# disabled command. Note that this form is not -# allowed as negative like -DEBUG|SEGFAULT, but -# only additive starting with "+". +# +|first-arg Allow a specific first argument of an otherwise +# disabled command. It is only supported on commands with +# no sub-commands, and is not allowed as negative form +# like -SELECT|1, only additive starting with "+". This +# feature is deprecated and may be removed in the future. # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -717,8 +909,17 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. +# %R~ Add key read pattern that specifies which keys can be read +# from. +# %W~ Add key write pattern that specifies which keys can be +# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -737,6 +938,14 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. +# () Create a new selector with the options specified within the +# parentheses and attach it to the user. Each option should be +# space separated. The first character must be ( and the last +# character must be ). +# clearselectors Remove all of the currently attached selectors. +# Note this does not change the "root" user permissions, +# which are the permissions directly applied onto the +# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -758,6 +967,40 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # +# The following is a list of command categories and their meanings: +# * keyspace - Writing or reading from keys, databases, or their metadata +# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, +# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, +# key or metadata will also have `write` category. Commands that only read +# the keyspace, key or metadata will have the `read` category. +# * read - Reading from keys (values or metadata). Note that commands that don't +# interact with keys, will not have either `read` or `write`. +# * write - Writing to keys (values or metadata) +# * admin - Administrative commands. Normal applications will never need to use +# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. +# * dangerous - Potentially dangerous (each should be considered with care for +# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, +# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. +# * connection - Commands affecting the connection or other connections. +# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. +# * blocking - Potentially blocking the connection until released by another +# command. +# * fast - Fast O(1) commands. May loop on the number of arguments, but not the +# number of elements in the key. +# * slow - All commands that are not Fast. +# * pubsub - PUBLISH / SUBSCRIBE related +# * transaction - WATCH / MULTI / EXEC related commands. +# * scripting - Scripting related. +# * set - Data type: sets related. +# * sortedset - Data type: zsets related. +# * list - Data type: lists related. +# * hash - Data type: hashes related. +# * string - Data type: strings related. +# * bitmap - Data type: bitmaps related. +# * hyperloglog - Data type: hyperloglog related. +# * geo - Data type: geo related. +# * stream - Data type: streams related. +# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -787,8 +1030,24 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # +# The requirepass is not compatible with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# # requirepass foobared +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. +# +# acl-pubsub-default resetchannels + # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -877,14 +1136,12 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). # # The default is: # @@ -901,6 +1158,14 @@ acllog-max-len 128 # # maxmemory-samples 5 +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -994,6 +1259,13 @@ replica-lazy-flush no lazyfree-lazy-user-del no +# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1032,7 +1304,7 @@ lazyfree-lazy-user-del no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Aso this feature currently does not work when SSL is +# CONFIG SET. Also, this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1050,7 +1322,7 @@ lazyfree-lazy-user-del no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports three options: +# Redis supports these options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1071,6 +1343,19 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1089,14 +1374,43 @@ oom-score-adj-values 0 200 800 # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check http://redis.io/topics/persistence for more information. +# Please check https://redis.io/topics/persistence for more information. appendonly no -# The name of the append only file (default: "appendonly.aof") +# The base name of the append only file. +# +# Redis 7 and newer use a set of append-only files to persist the dataset +# and changes applied to it. There are two basic types of files in use: +# +# - Base files, which are a snapshot representing the complete state of the +# dataset at the time the file was created. Base files can be either in +# the form of RDB (binary serialized) or AOF (textual commands). +# - Incremental files, which contain additional commands that were applied +# to the dataset following the previous file. +# +# In addition, manifest files are used to track the files and the order in +# which they were created and should be applied. +# +# Append-only file names are created by Redis following a specific pattern. +# The file name's prefix is based on the 'appendfilename' configuration +# parameter, followed by additional information about the sequence and type. +# +# For example, if appendfilename is set to appendonly.aof, the following file +# names could be derived: +# +# - appendonly.aof.1.base.rdb as a base file. +# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. +# - appendonly.aof.manifest as a manifest file. appendfilename "appendonly.aof" +# For convenience, Redis stores all persistent append-only files in a dedicated +# directory. The name of the directory is determined by the appenddirname +# configuration parameter. + +appenddirname "appendonlydir" + # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1136,7 +1450,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is +# the same as "appendfsync no". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1189,34 +1503,69 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading, Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, then continues loading the AOF -# tail. +# Redis can create append-only base files in either RDB or AOF formats. Using +# the RDB format is always faster and more efficient, and disabling it is only +# supported for backward compatibility purposes. aof-use-rdb-preamble yes -################################ LUA SCRIPTING ############################### +# Redis supports recording timestamp annotations in the AOF to support restoring +# the data from a specific point-in-time. However, using this capability changes +# the AOF format in a way that may not be compatible with existing AOF parsers. +aof-timestamp-enabled no -# Max execution time of a Lua script in milliseconds. +################################ SHUTDOWN ##################################### + +# Maximum time to wait for replicas when shutting down, in seconds. # -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. +# During shut down, a grace period allows any lagging replicas to catch up with +# the latest replication offset before the master exists. This period can +# prevent data loss, especially for deployments without configured disk backups. # -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet call any write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. +# The 'shutdown-timeout' value is the grace period's duration in seconds. It is +# only applicable when the instance has replicas. To disable the feature, set +# the value to 0. # -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 +# shutdown-timeout 10 + +# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default +# an RDB snapshot is written to disk in a blocking operation if save points are configured. +# The options used on signaled shutdown can include the following values: +# default: Saves RDB snapshot only if save points are configured. +# Waits for lagging replicas to catch up. +# save: Forces a DB saving operation even if no save points are configured. +# nosave: Prevents DB saving operation even if one or more save points are configured. +# now: Skips waiting for lagging replicas. +# force: Ignores any errors that would normally prevent the server from exiting. +# +# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. +# Example: "nosave force now" +# +# shutdown-on-sigint default +# shutdown-on-sigterm default + +################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### + +# Maximum time in milliseconds for EVAL scripts, functions and in some cases +# modules' commands before Redis can start processing or rejecting other clients. +# +# If the maximum execution time is reached Redis will start to reply to most +# commands with a BUSY error. +# +# In this state Redis will only allow a handful of commands to be executed. +# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some +# module specific 'allow-busy' commands. +# +# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not +# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop +# the server in the case a write command was already issued by the script when +# the user doesn't want to wait for the natural termination of the script. +# +# The default is 5 seconds. It is possible to set it to 0 or a negative value +# to disable this mechanism (uninterrupted execution). Note that in the past +# this config had a different name, which is now an alias, so both of these do +# the same: +# lua-time-limit 5000 +# busy-reply-threshold 5000 ################################ REDIS CLUSTER ############################### @@ -1240,6 +1589,11 @@ lua-time-limit 5000 # # cluster-node-timeout 15000 +# The cluster port is the port that the cluster bus will listen for inbound connections on. When set +# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires +# you to specify the cluster bus port when executing cluster meet. +# cluster-port 0 + # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1298,12 +1652,21 @@ lua-time-limit 5000 # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value. +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1318,7 +1681,7 @@ lua-time-limit 5000 # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the master can still perform a +# master during master failures. However the replica can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1328,7 +1691,7 @@ lua-time-limit 5000 # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# the cluster is in a down state, as long as it believes it owns the slots. +# cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1343,8 +1706,54 @@ lua-time-limit 5000 # # cluster-allow-reads-when-down no +# This option, when set to yes, allows nodes to serve pubsub shard traffic while +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful if the application would like to use the pubsub feature even when +# the cluster global stable state is not OK. If the application wants to make sure only +# one shard is serving a given channel, this feature should be kept as yes. +# +# cluster-allow-pubsubshard-when-down yes + +# Cluster link send buffer limit is the limit on the memory usage of an individual +# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed +# this limit. This is to primarily prevent send buffers from growing unbounded on links +# toward slow peers (E.g. PubSub messages being piled up). +# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field +# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. +# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single +# PubSub message by default. (client-query-buffer-limit default value is 1gb) +# +# cluster-link-sendbuf-limit 0 + +# Clusters can configure their announced hostname using this config. This is a common use case for +# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based +# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS +# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is +# communicated along the clusterbus to all nodes, setting it to an empty string will remove +# the hostname and also propagate the removal. +# +# cluster-announce-hostname "" + +# Clusters can advertise how clients should connect to them using either their IP address, +# a user defined hostname, or by declaring they have no endpoint. Which endpoint is +# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type +# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how +# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. +# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' +# will be returned instead. +# +# When a cluster advertises itself as having an unknown endpoint, it's indicating that +# the server doesn't know how clients can reach the cluster. This can happen in certain +# networking situations where there are multiple possible routes to the node, and the +# server doesn't know which one the client took. In this case, the server is expecting +# the client to reach out on the same endpoint it used for making the last request, but use +# the port provided in the response. +# +# cluster-preferred-endpoint-type ip + # In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. +# available at https://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1354,16 +1763,21 @@ lua-time-limit 5000 # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: +# following four options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port +# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1376,7 +1790,8 @@ lua-time-limit 5000 # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1424,10 +1839,24 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 +################################ LATENCY TRACKING ############################## + +# The Redis extended latency monitoring tracks the per command latencies and enables +# exporting the percentile distribution via the INFO latencystats command, +# and cumulative latency distributions (histograms) via the LATENCY command. +# +# By default, the extended latency monitoring is enabled since the overhead +# of keeping track of the command latency is very small. +# latency-tracking yes + +# By default the exported latency percentiles via the INFO latencystats command +# are the p50, p99, and p999. +# latency-tracking-info-percentiles 50 99 99.9 + ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications +# This feature is documented at https://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1449,9 +1878,11 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) +# n New key events (Note: not included in the 'A' class) # t Stream commands +# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxet, so that the "AKE" string means all the events +# A Alias for g$lshzxetd, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1474,71 +1905,13 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" -############################### GOPHER SERVER ################################# - -# Redis contains an implementation of the Gopher protocol, as specified in -# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). -# -# The Gopher protocol was very popular in the late '90s. It is an alternative -# to the web, and the implementation both server and client side is so simple -# that the Redis server has just 100 lines of code in order to implement this -# support. -# -# What do you do with Gopher nowadays? Well Gopher never *really* died, and -# lately there is a movement in order for the Gopher more hierarchical content -# composed of just plain text documents to be resurrected. Some want a simpler -# internet, others believe that the mainstream internet became too much -# controlled, and it's cool to create an alternative space for people that -# want a bit of fresh air. -# -# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol -# as a gift. -# -# --- HOW IT WORKS? --- -# -# The Redis Gopher support uses the inline protocol of Redis, and specifically -# two kind of inline requests that were anyway illegal: an empty request -# or any request that starts with "/" (there are no Redis commands starting -# with such a slash). Normal RESP2/RESP3 requests are completely out of the -# path of the Gopher protocol implementation and are served as usual as well. -# -# If you open a connection to Redis when Gopher is enabled and send it -# a string like "/foo", if there is a key named "/foo" it is served via the -# Gopher protocol. -# -# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher -# talking), you likely need a script like the following: -# -# https://github.com/antirez/gopher2redis -# -# --- SECURITY WARNING --- -# -# If you plan to put Redis on the internet in a publicly accessible address -# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. -# Once a password is set: -# -# 1. The Gopher server (when enabled, not by default) will still serve -# content via Gopher. -# 2. However other commands cannot be called before the client will -# authenticate. -# -# So use the 'requirepass' option to protect your instance. -# -# Note that Gopher is not currently supported when 'io-threads-do-reads' -# is enabled. -# -# To enable Gopher support, uncomment the following line and set the option -# from no (the default) to yes. -# -# gopher-enabled no - ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 +hash-max-listpack-entries 512 +hash-max-listpack-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1553,7 +1926,7 @@ hash-max-ziplist-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 +list-max-listpack-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1581,8 +1954,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1604,7 +1977,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entires limit by setting max-bytes to 0 and max-entries to the desired +# max entries limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -1637,7 +2010,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -1661,6 +2034,13 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # +# Note that it doesn't make sense to set the replica clients output buffer +# limit lower than the repl-backlog-size config (partial sync will succeed +# and then replica will get disconnected). +# Such a configuration is ignored (the size of repl-backlog-size will be used). +# This doesn't have memory consumption implications since the replica client +# will share the backlog buffers memory. +# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -1674,6 +2054,25 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb +# In some scenarios client connections can hog up memory leading to OOM +# errors or data eviction. To avoid this we can cap the accumulated memory +# used by all client connections (all pubsub and normal clients). Once we +# reach that limit connections will be dropped by the server freeing up +# memory. The server will attempt to drop the connections using the most +# memory first. We call this mechanism "client eviction". +# +# Client eviction is configured using the maxmemory-clients setting as follows: +# 0 - client eviction is disabled (default) +# +# A memory value can be used for the client eviction threshold, +# for example: +# maxmemory-clients 1g +# +# A percentage value (between 1% and 100%) means the client eviction threshold +# is based on a percentage of the maxmemory setting. For example to set client +# eviction at 5% of maxmemory: +# maxmemory-clients 5% + # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -1714,13 +2113,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -1817,7 +2216,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Enabled active defragmentation +# Active defragmentation is disabled by default # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis_6_2_18/docker-compose.yml b/dockge/redis_7_4_4/docker-compose.yml similarity index 94% rename from dockge/redis_6_2_18/docker-compose.yml rename to dockge/redis_7_4_4/docker-compose.yml index cadefa142..08fd078c6 100644 --- a/dockge/redis_6_2_18/docker-compose.yml +++ b/dockge/redis_7_4_4/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:6.2.18-alpine + image: redis:7.4.4-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_18/envs/default.env b/dockge/redis_7_4_4/envs/default.env similarity index 100% rename from dockge/redis_6_2_18/envs/default.env rename to dockge/redis_7_4_4/envs/default.env diff --git a/dockge/redis_6_2_18/envs/global.env b/dockge/redis_7_4_4/envs/global.env similarity index 100% rename from dockge/redis_6_2_18/envs/global.env rename to dockge/redis_7_4_4/envs/global.env diff --git a/dockge/stream-rec/docker-compose.yml b/dockge/stream-rec/docker-compose.yml index 4076f23a1..8465b7136 100644 --- a/dockge/stream-rec/docker-compose.yml +++ b/dockge/stream-rec/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:main + image: streamrec/stream-rec:dev labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:dev labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_dev/.env b/dockge/stream-rec_main/.env similarity index 100% rename from dockge/stream-rec_dev/.env rename to dockge/stream-rec_main/.env diff --git a/dockge/stream-rec_dev/docker-compose.yml b/dockge/stream-rec_main/docker-compose.yml similarity index 92% rename from dockge/stream-rec_dev/docker-compose.yml rename to dockge/stream-rec_main/docker-compose.yml index 8465b7136..4076f23a1 100644 --- a/dockge/stream-rec_dev/docker-compose.yml +++ b/dockge/stream-rec_main/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:dev + image: streamrec/stream-rec:main labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:dev + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_dev/envs/default.env b/dockge/stream-rec_main/envs/default.env similarity index 100% rename from dockge/stream-rec_dev/envs/default.env rename to dockge/stream-rec_main/envs/default.env diff --git a/dockge/stream-rec_dev/envs/global.env b/dockge/stream-rec_main/envs/global.env similarity index 100% rename from dockge/stream-rec_dev/envs/global.env rename to dockge/stream-rec_main/envs/global.env diff --git a/dockge/umami-mysql/docker-compose.yml b/dockge/umami-mysql/docker-compose.yml index 2bc7a13bc..0347d07c0 100644 --- a/dockge/umami-mysql/docker-compose.yml +++ b/dockge/umami-mysql/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.16.0 + image: umamisoftware/umami:mysql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_18_1/.env b/dockge/umami-mysql_2_16_0/.env similarity index 100% rename from dockge/umami-mysql_2_18_1/.env rename to dockge/umami-mysql_2_16_0/.env diff --git a/dockge/umami-mysql_2_18_1/docker-compose.yml b/dockge/umami-mysql_2_16_0/docker-compose.yml similarity index 91% rename from dockge/umami-mysql_2_18_1/docker-compose.yml rename to dockge/umami-mysql_2_16_0/docker-compose.yml index 0347d07c0..2bc7a13bc 100644 --- a/dockge/umami-mysql_2_18_1/docker-compose.yml +++ b/dockge/umami-mysql_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.18.1 + image: umamisoftware/umami:mysql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_18_1/envs/default.env b/dockge/umami-mysql_2_16_0/envs/default.env similarity index 100% rename from dockge/umami-mysql_2_18_1/envs/default.env rename to dockge/umami-mysql_2_16_0/envs/default.env diff --git a/dockge/umami-mysql_2_18_1/envs/global.env b/dockge/umami-mysql_2_16_0/envs/global.env similarity index 100% rename from dockge/umami-mysql_2_18_1/envs/global.env rename to dockge/umami-mysql_2_16_0/envs/global.env diff --git a/dockge/umami/docker-compose.yml b/dockge/umami/docker-compose.yml index 7f7a58660..9bbf23909 100644 --- a/dockge/umami/docker-compose.yml +++ b/dockge/umami/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.16.0 + image: umamisoftware/umami:postgresql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_18_1/.env b/dockge/umami_2_16_0/.env similarity index 100% rename from dockge/umami_2_18_1/.env rename to dockge/umami_2_16_0/.env diff --git a/dockge/umami_2_18_1/docker-compose.yml b/dockge/umami_2_16_0/docker-compose.yml similarity index 90% rename from dockge/umami_2_18_1/docker-compose.yml rename to dockge/umami_2_16_0/docker-compose.yml index 9bbf23909..7f7a58660 100644 --- a/dockge/umami_2_18_1/docker-compose.yml +++ b/dockge/umami_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.18.1 + image: umamisoftware/umami:postgresql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_18_1/envs/default.env b/dockge/umami_2_16_0/envs/default.env similarity index 100% rename from dockge/umami_2_18_1/envs/default.env rename to dockge/umami_2_16_0/envs/default.env diff --git a/dockge/umami_2_18_1/envs/global.env b/dockge/umami_2_16_0/envs/global.env similarity index 100% rename from dockge/umami_2_18_1/envs/global.env rename to dockge/umami_2_16_0/envs/global.env diff --git a/dockge/uptime-kuma/.env b/dockge/uptime-kuma/.env index 32a291fcd..5fa74c158 100644 --- a/dockge/uptime-kuma/.env +++ b/dockge/uptime-kuma/.env @@ -4,3 +4,9 @@ UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=3001 +# Cloudflared 隧道令牌 +UPTIME_KUMA_CLOUDFLARED_TOKEN= + +# 禁用 Frame SameOrigin [必填] +UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false + diff --git a/dockge/uptime-kuma/docker-compose.yml b/dockge/uptime-kuma/docker-compose.yml index c6ee97339..03b4560f7 100644 --- a/dockge/uptime-kuma/docker-compose.yml +++ b/dockge/uptime-kuma/docker-compose.yml @@ -7,7 +7,16 @@ services: env_file: - ./envs/global.env - .env - image: louislam/uptime-kuma:2.0.0-beta.3 + environment: + - PUID=0 + - PGID=0 + - UPTIME_KUMA_PORT=3001 + - UPTIME_KUMA_HOST=0.0.0.0 + - DATA_DIR=/app/data + - NODE_TLS_REJECT_UNAUTHORIZED=0 + - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 + - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like + image: louislam/uptime-kuma:1.23.16 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/.env b/dockge/uptime-kuma_1_23_16/.env deleted file mode 100644 index 5fa74c158..000000000 --- a/dockge/uptime-kuma_1_23_16/.env +++ /dev/null @@ -1,12 +0,0 @@ -# 数据持久化路径 [必填] -UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3001 - -# Cloudflared 隧道令牌 -UPTIME_KUMA_CLOUDFLARED_TOKEN= - -# 禁用 Frame SameOrigin [必填] -UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false - diff --git a/dockge/uptime-kuma_2_0_0/.env b/dockge/uptime-kuma_2_0_0/.env new file mode 100644 index 000000000..32a291fcd --- /dev/null +++ b/dockge/uptime-kuma_2_0_0/.env @@ -0,0 +1,6 @@ +# 数据持久化路径 [必填] +UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3001 + diff --git a/dockge/uptime-kuma_1_23_16/docker-compose.yml b/dockge/uptime-kuma_2_0_0/docker-compose.yml similarity index 57% rename from dockge/uptime-kuma_1_23_16/docker-compose.yml rename to dockge/uptime-kuma_2_0_0/docker-compose.yml index 03b4560f7..c6ee97339 100644 --- a/dockge/uptime-kuma_1_23_16/docker-compose.yml +++ b/dockge/uptime-kuma_2_0_0/docker-compose.yml @@ -7,16 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - PUID=0 - - PGID=0 - - UPTIME_KUMA_PORT=3001 - - UPTIME_KUMA_HOST=0.0.0.0 - - DATA_DIR=/app/data - - NODE_TLS_REJECT_UNAUTHORIZED=0 - - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 - - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like - image: louislam/uptime-kuma:1.23.16 + image: louislam/uptime-kuma:2.0.0-beta.3 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/envs/default.env b/dockge/uptime-kuma_2_0_0/envs/default.env similarity index 100% rename from dockge/uptime-kuma_1_23_16/envs/default.env rename to dockge/uptime-kuma_2_0_0/envs/default.env diff --git a/dockge/uptime-kuma_1_23_16/envs/global.env b/dockge/uptime-kuma_2_0_0/envs/global.env similarity index 100% rename from dockge/uptime-kuma_1_23_16/envs/global.env rename to dockge/uptime-kuma_2_0_0/envs/global.env From b2f3802bdece4cbc45eb3f1a40e5bb50befb98a5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 12:49:08 +0000 Subject: [PATCH 38/96] Update mdcng/mdc Docker tag to v1.6.1 --- apps/mdc-ng/1.6.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.6.0/docker-compose.yml b/apps/mdc-ng/1.6.0/docker-compose.yml index 12f9ac1d2..11fbe64c2 100644 --- a/apps/mdc-ng/1.6.0/docker-compose.yml +++ b/apps/mdc-ng/1.6.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.6.0 + image: mdcng/mdc:1.6.1 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From b7e3834099b81a5ab6d63036200bb8e7a8e4388f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 12:49:21 +0000 Subject: [PATCH 39/96] Update app version [skip ci] --- apps/mdc-ng/{1.6.0 => 1.6.1}/data.yml | 0 apps/mdc-ng/{1.6.0 => 1.6.1}/docker-compose.yml | 0 apps/mdc-ng/{1.6.0 => 1.6.1}/envs/default.env | 0 apps/mdc-ng/{1.6.0 => 1.6.1}/envs/global.env | 0 apps/mdc-ng/{1.6.0 => 1.6.1}/scripts/init.sh | 0 apps/mdc-ng/{1.6.0 => 1.6.1}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.6.0 => 1.6.1}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.6.0 => 1.6.1}/data.yml (100%) rename apps/mdc-ng/{1.6.0 => 1.6.1}/docker-compose.yml (100%) rename apps/mdc-ng/{1.6.0 => 1.6.1}/envs/default.env (100%) rename apps/mdc-ng/{1.6.0 => 1.6.1}/envs/global.env (100%) rename apps/mdc-ng/{1.6.0 => 1.6.1}/scripts/init.sh (100%) rename apps/mdc-ng/{1.6.0 => 1.6.1}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.6.0 => 1.6.1}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.6.0/data.yml b/apps/mdc-ng/1.6.1/data.yml similarity index 100% rename from apps/mdc-ng/1.6.0/data.yml rename to apps/mdc-ng/1.6.1/data.yml diff --git a/apps/mdc-ng/1.6.0/docker-compose.yml b/apps/mdc-ng/1.6.1/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.6.0/docker-compose.yml rename to apps/mdc-ng/1.6.1/docker-compose.yml diff --git a/apps/mdc-ng/1.6.0/envs/default.env b/apps/mdc-ng/1.6.1/envs/default.env similarity index 100% rename from apps/mdc-ng/1.6.0/envs/default.env rename to apps/mdc-ng/1.6.1/envs/default.env diff --git a/apps/mdc-ng/1.6.0/envs/global.env b/apps/mdc-ng/1.6.1/envs/global.env similarity index 100% rename from apps/mdc-ng/1.6.0/envs/global.env rename to apps/mdc-ng/1.6.1/envs/global.env diff --git a/apps/mdc-ng/1.6.0/scripts/init.sh b/apps/mdc-ng/1.6.1/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.6.0/scripts/init.sh rename to apps/mdc-ng/1.6.1/scripts/init.sh diff --git a/apps/mdc-ng/1.6.0/scripts/uninstall.sh b/apps/mdc-ng/1.6.1/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.6.0/scripts/uninstall.sh rename to apps/mdc-ng/1.6.1/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.6.0/scripts/upgrade.sh b/apps/mdc-ng/1.6.1/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.6.0/scripts/upgrade.sh rename to apps/mdc-ng/1.6.1/scripts/upgrade.sh From 4140628a4be00a47307c967c5734644e101e1689 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 26 Jun 2025 15:23:56 +0000 Subject: [PATCH 40/96] Processed apps directory via GitHub Actions --- appstore/mdc-ng/{1.6.0 => 1.6.1}/.env | 0 appstore/mdc-ng/{1.6.0 => 1.6.1}/data.yml | 0 appstore/mdc-ng/{1.6.0 => 1.6.1}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.6.0 => 1.6.1}/envs/default.env | 0 appstore/mdc-ng/{1.6.0 => 1.6.1}/envs/global.env | 0 appstore/mdc-ng/{1.6.0 => 1.6.1}/scripts/init.sh | 0 appstore/mdc-ng/{1.6.0 => 1.6.1}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.6.0 => 1.6.1}/scripts/upgrade.sh | 0 dockge/mdc-ng/docker-compose.yml | 2 +- 9 files changed, 2 insertions(+), 2 deletions(-) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/.env (100%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/data.yml (100%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/envs/default.env (100%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/envs/global.env (100%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.6.0 => 1.6.1}/scripts/upgrade.sh (100%) diff --git a/appstore/mdc-ng/1.6.0/.env b/appstore/mdc-ng/1.6.1/.env similarity index 100% rename from appstore/mdc-ng/1.6.0/.env rename to appstore/mdc-ng/1.6.1/.env diff --git a/appstore/mdc-ng/1.6.0/data.yml b/appstore/mdc-ng/1.6.1/data.yml similarity index 100% rename from appstore/mdc-ng/1.6.0/data.yml rename to appstore/mdc-ng/1.6.1/data.yml diff --git a/appstore/mdc-ng/1.6.0/docker-compose.yml b/appstore/mdc-ng/1.6.1/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.6.0/docker-compose.yml rename to appstore/mdc-ng/1.6.1/docker-compose.yml index 6182f6569..8adfa9a8a 100644 --- a/appstore/mdc-ng/1.6.0/docker-compose.yml +++ b/appstore/mdc-ng/1.6.1/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.6.0 + image: mdcng/mdc:1.6.1 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.6.0/envs/default.env b/appstore/mdc-ng/1.6.1/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.6.0/envs/default.env rename to appstore/mdc-ng/1.6.1/envs/default.env diff --git a/appstore/mdc-ng/1.6.0/envs/global.env b/appstore/mdc-ng/1.6.1/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.6.0/envs/global.env rename to appstore/mdc-ng/1.6.1/envs/global.env diff --git a/appstore/mdc-ng/1.6.0/scripts/init.sh b/appstore/mdc-ng/1.6.1/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.6.0/scripts/init.sh rename to appstore/mdc-ng/1.6.1/scripts/init.sh diff --git a/appstore/mdc-ng/1.6.0/scripts/uninstall.sh b/appstore/mdc-ng/1.6.1/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.6.0/scripts/uninstall.sh rename to appstore/mdc-ng/1.6.1/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.6.0/scripts/upgrade.sh b/appstore/mdc-ng/1.6.1/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.6.0/scripts/upgrade.sh rename to appstore/mdc-ng/1.6.1/scripts/upgrade.sh diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 6182f6569..8adfa9a8a 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.6.0 + image: mdcng/mdc:1.6.1 labels: createdBy: Apps networks: From 1ebff26fd8788ab8a9d8cc85d15f45a7a1c50a03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 15:26:15 +0000 Subject: [PATCH 41/96] Update diygod/rsshub Docker tag to v2025-06-26 --- apps/rsshub/2025-06-25/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rsshub/2025-06-25/docker-compose.yml b/apps/rsshub/2025-06-25/docker-compose.yml index 0c53e17b5..779d36f39 100644 --- a/apps/rsshub/2025-06-25/docker-compose.yml +++ b/apps/rsshub/2025-06-25/docker-compose.yml @@ -23,7 +23,7 @@ services: timeout: 10s retries: 3 rsshub: - image: diygod/rsshub:2025-06-25 + image: diygod/rsshub:2025-06-26 container_name: rsshub-${CONTAINER_NAME} depends_on: - browserless From 9daee827798195bba129bcaa5636c62fc7ad5cbe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 15:26:21 +0000 Subject: [PATCH 42/96] Update halohub/halo Docker tag to v2.21.2 --- apps/halo-h2/2.21.1/docker-compose.yml | 2 +- apps/halo/2.21.1/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/halo-h2/2.21.1/docker-compose.yml b/apps/halo-h2/2.21.1/docker-compose.yml index b320e97a1..d08f3b114 100644 --- a/apps/halo-h2/2.21.1/docker-compose.yml +++ b/apps/halo-h2/2.21.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: halo: - image: halohub/halo:2.21.1 + image: halohub/halo:2.21.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" diff --git a/apps/halo/2.21.1/docker-compose.yml b/apps/halo/2.21.1/docker-compose.yml index 5ce890372..6c8f9e262 100644 --- a/apps/halo/2.21.1/docker-compose.yml +++ b/apps/halo/2.21.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: halo: - image: halohub/halo:2.21.1 + image: halohub/halo:2.21.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 3c331f8739440376086c0b4c4e1226682fac4967 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 15:26:27 +0000 Subject: [PATCH 43/96] Update app version [skip ci] --- apps/rsshub/{2025-06-25 => 2025-06-26}/data.yml | 0 apps/rsshub/{2025-06-25 => 2025-06-26}/docker-compose.yml | 0 apps/rsshub/{2025-06-25 => 2025-06-26}/envs/default.env | 0 apps/rsshub/{2025-06-25 => 2025-06-26}/envs/global.env | 0 apps/rsshub/{2025-06-25 => 2025-06-26}/scripts/init.sh | 0 apps/rsshub/{2025-06-25 => 2025-06-26}/scripts/uninstall.sh | 0 apps/rsshub/{2025-06-25 => 2025-06-26}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/rsshub/{2025-06-25 => 2025-06-26}/data.yml (100%) rename apps/rsshub/{2025-06-25 => 2025-06-26}/docker-compose.yml (100%) rename apps/rsshub/{2025-06-25 => 2025-06-26}/envs/default.env (100%) rename apps/rsshub/{2025-06-25 => 2025-06-26}/envs/global.env (100%) rename apps/rsshub/{2025-06-25 => 2025-06-26}/scripts/init.sh (100%) rename apps/rsshub/{2025-06-25 => 2025-06-26}/scripts/uninstall.sh (100%) rename apps/rsshub/{2025-06-25 => 2025-06-26}/scripts/upgrade.sh (100%) diff --git a/apps/rsshub/2025-06-25/data.yml b/apps/rsshub/2025-06-26/data.yml similarity index 100% rename from apps/rsshub/2025-06-25/data.yml rename to apps/rsshub/2025-06-26/data.yml diff --git a/apps/rsshub/2025-06-25/docker-compose.yml b/apps/rsshub/2025-06-26/docker-compose.yml similarity index 100% rename from apps/rsshub/2025-06-25/docker-compose.yml rename to apps/rsshub/2025-06-26/docker-compose.yml diff --git a/apps/rsshub/2025-06-25/envs/default.env b/apps/rsshub/2025-06-26/envs/default.env similarity index 100% rename from apps/rsshub/2025-06-25/envs/default.env rename to apps/rsshub/2025-06-26/envs/default.env diff --git a/apps/rsshub/2025-06-25/envs/global.env b/apps/rsshub/2025-06-26/envs/global.env similarity index 100% rename from apps/rsshub/2025-06-25/envs/global.env rename to apps/rsshub/2025-06-26/envs/global.env diff --git a/apps/rsshub/2025-06-25/scripts/init.sh b/apps/rsshub/2025-06-26/scripts/init.sh similarity index 100% rename from apps/rsshub/2025-06-25/scripts/init.sh rename to apps/rsshub/2025-06-26/scripts/init.sh diff --git a/apps/rsshub/2025-06-25/scripts/uninstall.sh b/apps/rsshub/2025-06-26/scripts/uninstall.sh similarity index 100% rename from apps/rsshub/2025-06-25/scripts/uninstall.sh rename to apps/rsshub/2025-06-26/scripts/uninstall.sh diff --git a/apps/rsshub/2025-06-25/scripts/upgrade.sh b/apps/rsshub/2025-06-26/scripts/upgrade.sh similarity index 100% rename from apps/rsshub/2025-06-25/scripts/upgrade.sh rename to apps/rsshub/2025-06-26/scripts/upgrade.sh From 38f74cc7728a242b1edf2019feabfe6540d8808e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 15:26:31 +0000 Subject: [PATCH 44/96] Update app version [skip ci] --- apps/halo-h2/{2.21.1 => 2.21.2}/data.yml | 0 apps/halo-h2/{2.21.1 => 2.21.2}/docker-compose.yml | 0 apps/halo-h2/{2.21.1 => 2.21.2}/envs/default.env | 0 apps/halo-h2/{2.21.1 => 2.21.2}/envs/global.env | 0 apps/halo-h2/{2.21.1 => 2.21.2}/scripts/init.sh | 0 apps/halo-h2/{2.21.1 => 2.21.2}/scripts/uninstall.sh | 0 apps/halo-h2/{2.21.1 => 2.21.2}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/halo-h2/{2.21.1 => 2.21.2}/data.yml (100%) rename apps/halo-h2/{2.21.1 => 2.21.2}/docker-compose.yml (100%) rename apps/halo-h2/{2.21.1 => 2.21.2}/envs/default.env (100%) rename apps/halo-h2/{2.21.1 => 2.21.2}/envs/global.env (100%) rename apps/halo-h2/{2.21.1 => 2.21.2}/scripts/init.sh (100%) rename apps/halo-h2/{2.21.1 => 2.21.2}/scripts/uninstall.sh (100%) rename apps/halo-h2/{2.21.1 => 2.21.2}/scripts/upgrade.sh (100%) diff --git a/apps/halo-h2/2.21.1/data.yml b/apps/halo-h2/2.21.2/data.yml similarity index 100% rename from apps/halo-h2/2.21.1/data.yml rename to apps/halo-h2/2.21.2/data.yml diff --git a/apps/halo-h2/2.21.1/docker-compose.yml b/apps/halo-h2/2.21.2/docker-compose.yml similarity index 100% rename from apps/halo-h2/2.21.1/docker-compose.yml rename to apps/halo-h2/2.21.2/docker-compose.yml diff --git a/apps/halo-h2/2.21.1/envs/default.env b/apps/halo-h2/2.21.2/envs/default.env similarity index 100% rename from apps/halo-h2/2.21.1/envs/default.env rename to apps/halo-h2/2.21.2/envs/default.env diff --git a/apps/halo-h2/2.21.1/envs/global.env b/apps/halo-h2/2.21.2/envs/global.env similarity index 100% rename from apps/halo-h2/2.21.1/envs/global.env rename to apps/halo-h2/2.21.2/envs/global.env diff --git a/apps/halo-h2/2.21.1/scripts/init.sh b/apps/halo-h2/2.21.2/scripts/init.sh similarity index 100% rename from apps/halo-h2/2.21.1/scripts/init.sh rename to apps/halo-h2/2.21.2/scripts/init.sh diff --git a/apps/halo-h2/2.21.1/scripts/uninstall.sh b/apps/halo-h2/2.21.2/scripts/uninstall.sh similarity index 100% rename from apps/halo-h2/2.21.1/scripts/uninstall.sh rename to apps/halo-h2/2.21.2/scripts/uninstall.sh diff --git a/apps/halo-h2/2.21.1/scripts/upgrade.sh b/apps/halo-h2/2.21.2/scripts/upgrade.sh similarity index 100% rename from apps/halo-h2/2.21.1/scripts/upgrade.sh rename to apps/halo-h2/2.21.2/scripts/upgrade.sh From ea672bb00c445a972bfa1a989082e330172f7722 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 15:26:32 +0000 Subject: [PATCH 45/96] Update app version [skip ci] --- apps/halo/{2.21.1 => 2.21.2}/data.yml | 0 apps/halo/{2.21.1 => 2.21.2}/docker-compose.yml | 0 apps/halo/{2.21.1 => 2.21.2}/envs/default.env | 0 apps/halo/{2.21.1 => 2.21.2}/envs/global.env | 0 apps/halo/{2.21.1 => 2.21.2}/scripts/init.sh | 0 apps/halo/{2.21.1 => 2.21.2}/scripts/uninstall.sh | 0 apps/halo/{2.21.1 => 2.21.2}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/halo/{2.21.1 => 2.21.2}/data.yml (100%) rename apps/halo/{2.21.1 => 2.21.2}/docker-compose.yml (100%) rename apps/halo/{2.21.1 => 2.21.2}/envs/default.env (100%) rename apps/halo/{2.21.1 => 2.21.2}/envs/global.env (100%) rename apps/halo/{2.21.1 => 2.21.2}/scripts/init.sh (100%) rename apps/halo/{2.21.1 => 2.21.2}/scripts/uninstall.sh (100%) rename apps/halo/{2.21.1 => 2.21.2}/scripts/upgrade.sh (100%) diff --git a/apps/halo/2.21.1/data.yml b/apps/halo/2.21.2/data.yml similarity index 100% rename from apps/halo/2.21.1/data.yml rename to apps/halo/2.21.2/data.yml diff --git a/apps/halo/2.21.1/docker-compose.yml b/apps/halo/2.21.2/docker-compose.yml similarity index 100% rename from apps/halo/2.21.1/docker-compose.yml rename to apps/halo/2.21.2/docker-compose.yml diff --git a/apps/halo/2.21.1/envs/default.env b/apps/halo/2.21.2/envs/default.env similarity index 100% rename from apps/halo/2.21.1/envs/default.env rename to apps/halo/2.21.2/envs/default.env diff --git a/apps/halo/2.21.1/envs/global.env b/apps/halo/2.21.2/envs/global.env similarity index 100% rename from apps/halo/2.21.1/envs/global.env rename to apps/halo/2.21.2/envs/global.env diff --git a/apps/halo/2.21.1/scripts/init.sh b/apps/halo/2.21.2/scripts/init.sh similarity index 100% rename from apps/halo/2.21.1/scripts/init.sh rename to apps/halo/2.21.2/scripts/init.sh diff --git a/apps/halo/2.21.1/scripts/uninstall.sh b/apps/halo/2.21.2/scripts/uninstall.sh similarity index 100% rename from apps/halo/2.21.1/scripts/uninstall.sh rename to apps/halo/2.21.2/scripts/uninstall.sh diff --git a/apps/halo/2.21.1/scripts/upgrade.sh b/apps/halo/2.21.2/scripts/upgrade.sh similarity index 100% rename from apps/halo/2.21.1/scripts/upgrade.sh rename to apps/halo/2.21.2/scripts/upgrade.sh From fb8fd1ccc29d7c7792ab103fec3898086460d8ad Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 16:19:50 +0000 Subject: [PATCH 46/96] Update mdcng/mdc Docker tag to v1.6.2 --- apps/mdc-ng/1.6.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.6.1/docker-compose.yml b/apps/mdc-ng/1.6.1/docker-compose.yml index 11fbe64c2..954c07db0 100644 --- a/apps/mdc-ng/1.6.1/docker-compose.yml +++ b/apps/mdc-ng/1.6.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.6.1 + image: mdcng/mdc:1.6.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From f99da5a5aa1ba96890679b4541b504f9c77da67b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 16:19:55 +0000 Subject: [PATCH 47/96] Update casbin/casdoor Docker tag to v1.949.0 --- apps/casdoor/1.948.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/casdoor/1.948.0/docker-compose.yml b/apps/casdoor/1.948.0/docker-compose.yml index 7b8f40443..241d21030 100644 --- a/apps/casdoor/1.948.0/docker-compose.yml +++ b/apps/casdoor/1.948.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: casdoor: - image: casbin/casdoor:v1.948.0 + image: casbin/casdoor:v1.949.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 8f988c16dd3a765f9170f9761c60d0868ca0d9d4 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 16:20:00 +0000 Subject: [PATCH 48/96] Update app version [skip ci] --- apps/mdc-ng/{1.6.1 => 1.6.2}/data.yml | 0 apps/mdc-ng/{1.6.1 => 1.6.2}/docker-compose.yml | 0 apps/mdc-ng/{1.6.1 => 1.6.2}/envs/default.env | 0 apps/mdc-ng/{1.6.1 => 1.6.2}/envs/global.env | 0 apps/mdc-ng/{1.6.1 => 1.6.2}/scripts/init.sh | 0 apps/mdc-ng/{1.6.1 => 1.6.2}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.6.1 => 1.6.2}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.6.1 => 1.6.2}/data.yml (100%) rename apps/mdc-ng/{1.6.1 => 1.6.2}/docker-compose.yml (100%) rename apps/mdc-ng/{1.6.1 => 1.6.2}/envs/default.env (100%) rename apps/mdc-ng/{1.6.1 => 1.6.2}/envs/global.env (100%) rename apps/mdc-ng/{1.6.1 => 1.6.2}/scripts/init.sh (100%) rename apps/mdc-ng/{1.6.1 => 1.6.2}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.6.1 => 1.6.2}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.6.1/data.yml b/apps/mdc-ng/1.6.2/data.yml similarity index 100% rename from apps/mdc-ng/1.6.1/data.yml rename to apps/mdc-ng/1.6.2/data.yml diff --git a/apps/mdc-ng/1.6.1/docker-compose.yml b/apps/mdc-ng/1.6.2/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.6.1/docker-compose.yml rename to apps/mdc-ng/1.6.2/docker-compose.yml diff --git a/apps/mdc-ng/1.6.1/envs/default.env b/apps/mdc-ng/1.6.2/envs/default.env similarity index 100% rename from apps/mdc-ng/1.6.1/envs/default.env rename to apps/mdc-ng/1.6.2/envs/default.env diff --git a/apps/mdc-ng/1.6.1/envs/global.env b/apps/mdc-ng/1.6.2/envs/global.env similarity index 100% rename from apps/mdc-ng/1.6.1/envs/global.env rename to apps/mdc-ng/1.6.2/envs/global.env diff --git a/apps/mdc-ng/1.6.1/scripts/init.sh b/apps/mdc-ng/1.6.2/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.6.1/scripts/init.sh rename to apps/mdc-ng/1.6.2/scripts/init.sh diff --git a/apps/mdc-ng/1.6.1/scripts/uninstall.sh b/apps/mdc-ng/1.6.2/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.6.1/scripts/uninstall.sh rename to apps/mdc-ng/1.6.2/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.6.1/scripts/upgrade.sh b/apps/mdc-ng/1.6.2/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.6.1/scripts/upgrade.sh rename to apps/mdc-ng/1.6.2/scripts/upgrade.sh From 4231c711ad184620cd6869436d5a4f0e03fe6651 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 16:20:07 +0000 Subject: [PATCH 49/96] Update app version [skip ci] --- apps/casdoor/{1.948.0 => 1.949.0}/config/init_data.json | 0 apps/casdoor/{1.948.0 => 1.949.0}/data.yml | 0 apps/casdoor/{1.948.0 => 1.949.0}/docker-compose.yml | 0 apps/casdoor/{1.948.0 => 1.949.0}/envs/casdoor.env | 0 apps/casdoor/{1.948.0 => 1.949.0}/envs/default.env | 0 apps/casdoor/{1.948.0 => 1.949.0}/envs/global.env | 0 apps/casdoor/{1.948.0 => 1.949.0}/scripts/init.sh | 0 apps/casdoor/{1.948.0 => 1.949.0}/scripts/uninstall.sh | 0 apps/casdoor/{1.948.0 => 1.949.0}/scripts/upgrade.sh | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename apps/casdoor/{1.948.0 => 1.949.0}/config/init_data.json (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/data.yml (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/docker-compose.yml (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/envs/casdoor.env (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/envs/default.env (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/envs/global.env (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/scripts/init.sh (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/scripts/uninstall.sh (100%) rename apps/casdoor/{1.948.0 => 1.949.0}/scripts/upgrade.sh (100%) diff --git a/apps/casdoor/1.948.0/config/init_data.json b/apps/casdoor/1.949.0/config/init_data.json similarity index 100% rename from apps/casdoor/1.948.0/config/init_data.json rename to apps/casdoor/1.949.0/config/init_data.json diff --git a/apps/casdoor/1.948.0/data.yml b/apps/casdoor/1.949.0/data.yml similarity index 100% rename from apps/casdoor/1.948.0/data.yml rename to apps/casdoor/1.949.0/data.yml diff --git a/apps/casdoor/1.948.0/docker-compose.yml b/apps/casdoor/1.949.0/docker-compose.yml similarity index 100% rename from apps/casdoor/1.948.0/docker-compose.yml rename to apps/casdoor/1.949.0/docker-compose.yml diff --git a/apps/casdoor/1.948.0/envs/casdoor.env b/apps/casdoor/1.949.0/envs/casdoor.env similarity index 100% rename from apps/casdoor/1.948.0/envs/casdoor.env rename to apps/casdoor/1.949.0/envs/casdoor.env diff --git a/apps/casdoor/1.948.0/envs/default.env b/apps/casdoor/1.949.0/envs/default.env similarity index 100% rename from apps/casdoor/1.948.0/envs/default.env rename to apps/casdoor/1.949.0/envs/default.env diff --git a/apps/casdoor/1.948.0/envs/global.env b/apps/casdoor/1.949.0/envs/global.env similarity index 100% rename from apps/casdoor/1.948.0/envs/global.env rename to apps/casdoor/1.949.0/envs/global.env diff --git a/apps/casdoor/1.948.0/scripts/init.sh b/apps/casdoor/1.949.0/scripts/init.sh similarity index 100% rename from apps/casdoor/1.948.0/scripts/init.sh rename to apps/casdoor/1.949.0/scripts/init.sh diff --git a/apps/casdoor/1.948.0/scripts/uninstall.sh b/apps/casdoor/1.949.0/scripts/uninstall.sh similarity index 100% rename from apps/casdoor/1.948.0/scripts/uninstall.sh rename to apps/casdoor/1.949.0/scripts/uninstall.sh diff --git a/apps/casdoor/1.948.0/scripts/upgrade.sh b/apps/casdoor/1.949.0/scripts/upgrade.sh similarity index 100% rename from apps/casdoor/1.948.0/scripts/upgrade.sh rename to apps/casdoor/1.949.0/scripts/upgrade.sh From 9303b9efa2a7074d2762aa52b47eeffc849e11b8 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Thu, 26 Jun 2025 18:31:27 +0000 Subject: [PATCH 50/96] Processed apps directory via GitHub Actions --- dockge/alist-aria2/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist-ffmpeg/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist/docker-compose.yml | 2 +- dockge/{alist_3_40_0 => alist_3_45_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/auto-lady/.env | 6 - dockge/auto-lady/docker-compose.yml | 6 +- dockge/auto-lady_1_4_5/.env | 15 - dockge/auto-lady_1_4_5/docker-compose.yml | 22 - .../.env | 2 +- .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/bili-fetcher/docker-compose.yml | 4 +- .../.env | 0 .../config/categories.json | 0 .../config/config.yaml | 0 .../config/scheduler_config.yaml | 0 .../config/sql_statements_mysql.py | 0 .../config/sql_statements_sqlite.py | 0 .../config/template.html | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse/.env | 22 +- dockge/byte-muse/docker-compose.yml | 18 +- dockge/byte-muse_license/.env | 3 + dockge/byte-muse_license/docker-compose.yml | 14 + .../envs/default.env | 0 .../envs/global.env | 0 dockge/emby/docker-compose.yml | 2 +- dockge/{emby_4_9_1_1 => emby_4_8_11_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/homarr/.env | 3 + dockge/homarr/docker-compose.yml | 4 +- dockge/{homarr_1_18_1 => homarr_0_15_10}/.env | 3 - .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 .../docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-no-machine/docker-compose.yml | 27 +- .../.env | 0 .../docker-compose.yml | 27 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-server/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich/docker-compose.yml | 29 +- .../{immich_1_132_3 => immich_1_135_3}/.env | 0 .../docker-compose.yml | 29 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/postgresql/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/qbittorrent/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/redis/config/redis.conf | 759 +++++++++++++----- dockge/redis/docker-compose.yml | 2 +- dockge/{redis_7_4_4 => redis_6_2_18}/.env | 0 .../config/redis.conf | 759 +++++------------- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec/docker-compose.yml | 4 +- .../{stream-rec_main => stream-rec_dev}/.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami-mysql/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami/docker-compose.yml | 2 +- dockge/{umami_2_16_0 => umami_2_18_1}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma/.env | 6 - dockge/uptime-kuma/docker-compose.yml | 11 +- dockge/uptime-kuma_1_23_16/.env | 12 + .../docker-compose.yml | 11 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma_2_0_0/.env | 6 - 110 files changed, 933 insertions(+), 933 deletions(-) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/.env (100%) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/docker-compose.yml (94%) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/envs/default.env (100%) rename dockge/{alist-aria2_3_40_0 => alist-aria2_3_41_0}/envs/global.env (100%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/.env (100%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/docker-compose.yml (93%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/envs/default.env (100%) rename dockge/{alist-ffmpeg_3_40_0 => alist-ffmpeg_3_45_0}/envs/global.env (100%) rename dockge/{alist_3_40_0 => alist_3_45_0}/.env (100%) rename dockge/{alist_3_40_0 => alist_3_45_0}/docker-compose.yml (94%) rename dockge/{alist_3_40_0 => alist_3_45_0}/envs/default.env (100%) rename dockge/{alist_3_40_0 => alist_3_45_0}/envs/global.env (100%) delete mode 100644 dockge/auto-lady_1_4_5/.env delete mode 100644 dockge/auto-lady_1_4_5/docker-compose.yml rename dockge/{byte-muse_1_11_8 => auto-lady_1_5_3}/.env (91%) rename dockge/{byte-muse_1_11_8 => auto-lady_1_5_3}/docker-compose.yml (91%) rename dockge/{auto-lady_1_4_5 => auto-lady_1_5_3}/envs/default.env (100%) rename dockge/{auto-lady_1_4_5 => auto-lady_1_5_3}/envs/global.env (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/.env (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/categories.json (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/config.yaml (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/scheduler_config.yaml (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/sql_statements_mysql.py (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/sql_statements_sqlite.py (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/config/template.html (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/docker-compose.yml (88%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/envs/default.env (100%) rename dockge/{bili-fetcher_latest => bili-fetcher_1_6_0}/envs/global.env (100%) create mode 100644 dockge/byte-muse_license/.env create mode 100644 dockge/byte-muse_license/docker-compose.yml rename dockge/{byte-muse_1_11_8 => byte-muse_license}/envs/default.env (100%) rename dockge/{byte-muse_1_11_8 => byte-muse_license}/envs/global.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/docker-compose.yml (96%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/envs/default.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_8_11_0}/envs/global.env (100%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/.env (52%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/docker-compose.yml (73%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/envs/default.env (100%) rename dockge/{homarr_1_18_1 => homarr_0_15_10}/envs/global.env (100%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/.env (100%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/docker-compose.yml (87%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/envs/default.env (100%) rename dockge/{immich-machine-learning_1_132_3 => immich-machine-learning_1_135_3}/envs/global.env (100%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/.env (100%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/docker-compose.yml (54%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/envs/default.env (100%) rename dockge/{immich-no-machine_1_132_3 => immich-no-machine_1_135_3}/envs/global.env (100%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/.env (100%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/docker-compose.yml (89%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/envs/default.env (100%) rename dockge/{immich-server_1_132_3 => immich-server_1_135_3}/envs/global.env (100%) rename dockge/{immich_1_132_3 => immich_1_135_3}/.env (100%) rename dockge/{immich_1_132_3 => immich_1_135_3}/docker-compose.yml (59%) rename dockge/{immich_1_132_3 => immich_1_135_3}/envs/default.env (100%) rename dockge/{immich_1_132_3 => immich_1_135_3}/envs/global.env (100%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/.env (100%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/docker-compose.yml (87%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/envs/default.env (100%) rename dockge/{postgresql_pg16-alpine => postgresql_16_9-alpine}/envs/global.env (100%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/.env (100%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/docker-compose.yml (95%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/envs/default.env (100%) rename dockge/{qbittorrent_4_6_7 => qbittorrent_5_1_1}/envs/global.env (100%) rename dockge/{redis_7_4_4 => redis_6_2_18}/.env (100%) rename dockge/{redis_7_4_4 => redis_6_2_18}/config/redis.conf (72%) rename dockge/{redis_7_4_4 => redis_6_2_18}/docker-compose.yml (94%) rename dockge/{redis_7_4_4 => redis_6_2_18}/envs/default.env (100%) rename dockge/{redis_7_4_4 => redis_6_2_18}/envs/global.env (100%) rename dockge/{stream-rec_main => stream-rec_dev}/.env (100%) rename dockge/{stream-rec_main => stream-rec_dev}/docker-compose.yml (92%) rename dockge/{stream-rec_main => stream-rec_dev}/envs/default.env (100%) rename dockge/{stream-rec_main => stream-rec_dev}/envs/global.env (100%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/.env (100%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/docker-compose.yml (91%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/envs/default.env (100%) rename dockge/{umami-mysql_2_16_0 => umami-mysql_2_18_1}/envs/global.env (100%) rename dockge/{umami_2_16_0 => umami_2_18_1}/.env (100%) rename dockge/{umami_2_16_0 => umami_2_18_1}/docker-compose.yml (90%) rename dockge/{umami_2_16_0 => umami_2_18_1}/envs/default.env (100%) rename dockge/{umami_2_16_0 => umami_2_18_1}/envs/global.env (100%) create mode 100644 dockge/uptime-kuma_1_23_16/.env rename dockge/{uptime-kuma_2_0_0 => uptime-kuma_1_23_16}/docker-compose.yml (57%) rename dockge/{uptime-kuma_2_0_0 => uptime-kuma_1_23_16}/envs/default.env (100%) rename dockge/{uptime-kuma_2_0_0 => uptime-kuma_1_23_16}/envs/global.env (100%) delete mode 100644 dockge/uptime-kuma_2_0_0/.env diff --git a/dockge/alist-aria2/docker-compose.yml b/dockge/alist-aria2/docker-compose.yml index 987544dc1..a6913980a 100644 --- a/dockge/alist-aria2/docker-compose.yml +++ b/dockge/alist-aria2/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist-aria2:v3.41.0 + image: qyg2297248353/alist-aria2:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_40_0/.env b/dockge/alist-aria2_3_41_0/.env similarity index 100% rename from dockge/alist-aria2_3_40_0/.env rename to dockge/alist-aria2_3_41_0/.env diff --git a/dockge/alist-aria2_3_40_0/docker-compose.yml b/dockge/alist-aria2_3_41_0/docker-compose.yml similarity index 94% rename from dockge/alist-aria2_3_40_0/docker-compose.yml rename to dockge/alist-aria2_3_41_0/docker-compose.yml index a6913980a..987544dc1 100644 --- a/dockge/alist-aria2_3_40_0/docker-compose.yml +++ b/dockge/alist-aria2_3_41_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist-aria2:v3.40.0 + image: xhofe/alist-aria2:v3.41.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_40_0/envs/default.env b/dockge/alist-aria2_3_41_0/envs/default.env similarity index 100% rename from dockge/alist-aria2_3_40_0/envs/default.env rename to dockge/alist-aria2_3_41_0/envs/default.env diff --git a/dockge/alist-aria2_3_40_0/envs/global.env b/dockge/alist-aria2_3_41_0/envs/global.env similarity index 100% rename from dockge/alist-aria2_3_40_0/envs/global.env rename to dockge/alist-aria2_3_41_0/envs/global.env diff --git a/dockge/alist-ffmpeg/docker-compose.yml b/dockge/alist-ffmpeg/docker-compose.yml index 37149a612..8da9f3b40 100644 --- a/dockge/alist-ffmpeg/docker-compose.yml +++ b/dockge/alist-ffmpeg/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0-ffmpeg + image: qyg2297248353/alist:v3.40.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_40_0/.env b/dockge/alist-ffmpeg_3_45_0/.env similarity index 100% rename from dockge/alist-ffmpeg_3_40_0/.env rename to dockge/alist-ffmpeg_3_45_0/.env diff --git a/dockge/alist-ffmpeg_3_40_0/docker-compose.yml b/dockge/alist-ffmpeg_3_45_0/docker-compose.yml similarity index 93% rename from dockge/alist-ffmpeg_3_40_0/docker-compose.yml rename to dockge/alist-ffmpeg_3_45_0/docker-compose.yml index 8da9f3b40..37149a612 100644 --- a/dockge/alist-ffmpeg_3_40_0/docker-compose.yml +++ b/dockge/alist-ffmpeg_3_45_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0-ffmpeg + image: xhofe/alist:v3.45.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_40_0/envs/default.env b/dockge/alist-ffmpeg_3_45_0/envs/default.env similarity index 100% rename from dockge/alist-ffmpeg_3_40_0/envs/default.env rename to dockge/alist-ffmpeg_3_45_0/envs/default.env diff --git a/dockge/alist-ffmpeg_3_40_0/envs/global.env b/dockge/alist-ffmpeg_3_45_0/envs/global.env similarity index 100% rename from dockge/alist-ffmpeg_3_40_0/envs/global.env rename to dockge/alist-ffmpeg_3_45_0/envs/global.env diff --git a/dockge/alist/docker-compose.yml b/dockge/alist/docker-compose.yml index baa8abfb1..a5363b529 100644 --- a/dockge/alist/docker-compose.yml +++ b/dockge/alist/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0 + image: qyg2297248353/alist:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_40_0/.env b/dockge/alist_3_45_0/.env similarity index 100% rename from dockge/alist_3_40_0/.env rename to dockge/alist_3_45_0/.env diff --git a/dockge/alist_3_40_0/docker-compose.yml b/dockge/alist_3_45_0/docker-compose.yml similarity index 94% rename from dockge/alist_3_40_0/docker-compose.yml rename to dockge/alist_3_45_0/docker-compose.yml index a5363b529..baa8abfb1 100644 --- a/dockge/alist_3_40_0/docker-compose.yml +++ b/dockge/alist_3_45_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0 + image: xhofe/alist:v3.45.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_40_0/envs/default.env b/dockge/alist_3_45_0/envs/default.env similarity index 100% rename from dockge/alist_3_40_0/envs/default.env rename to dockge/alist_3_45_0/envs/default.env diff --git a/dockge/alist_3_40_0/envs/global.env b/dockge/alist_3_45_0/envs/global.env similarity index 100% rename from dockge/alist_3_40_0/envs/global.env rename to dockge/alist_3_45_0/envs/global.env diff --git a/dockge/auto-lady/.env b/dockge/auto-lady/.env index 3258da058..a6f1eb1e9 100644 --- a/dockge/auto-lady/.env +++ b/dockge/auto-lady/.env @@ -13,9 +13,3 @@ CUSTOM_MOUNT_DIRECTORY_2= # 自定义挂载目录 3 CUSTOM_MOUNT_DIRECTORY_3= -# 网络代理地址 -HTTP_PROXY= - -# 跳过代理地址 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local - diff --git a/dockge/auto-lady/docker-compose.yml b/dockge/auto-lady/docker-compose.yml index d9c6c701e..40b13df53 100644 --- a/dockge/auto-lady/docker-compose.yml +++ b/dockge/auto-lady/docker-compose.yml @@ -7,11 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - HTTPS_PROXY=${HTTP_PROXY} - - HTTP_PROXY=${HTTP_PROXY:-} - - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.5.3 + image: orekiiiiiiiiiiiii/auto-lady:1.4.5 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/.env b/dockge/auto-lady_1_4_5/.env deleted file mode 100644 index a6f1eb1e9..000000000 --- a/dockge/auto-lady_1_4_5/.env +++ /dev/null @@ -1,15 +0,0 @@ -# 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/auto-lady - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8080 - -# 自定义挂载目录 1 -CUSTOM_MOUNT_DIRECTORY_1= - -# 自定义挂载目录 2 -CUSTOM_MOUNT_DIRECTORY_2= - -# 自定义挂载目录 3 -CUSTOM_MOUNT_DIRECTORY_3= - diff --git a/dockge/auto-lady_1_4_5/docker-compose.yml b/dockge/auto-lady_1_4_5/docker-compose.yml deleted file mode 100644 index 40b13df53..000000000 --- a/dockge/auto-lady_1_4_5/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ -networks: - 1panel-network: - external: true -services: - auto-lady: - container_name: auto-lady - env_file: - - ./envs/global.env - - .env - image: orekiiiiiiiiiiiii/auto-lady:1.4.5 - labels: - createdBy: Apps - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:80 - restart: always - volumes: - - ${AUTO_LADY_ROOT_PATH}/config:/data - - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} - - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} - - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/byte-muse_1_11_8/.env b/dockge/auto-lady_1_5_3/.env similarity index 91% rename from dockge/byte-muse_1_11_8/.env rename to dockge/auto-lady_1_5_3/.env index 7198039bd..3258da058 100644 --- a/dockge/byte-muse_1_11_8/.env +++ b/dockge/auto-lady_1_5_3/.env @@ -1,5 +1,5 @@ # 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/byte-muse +AUTO_LADY_ROOT_PATH=/home/auto-lady # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=8080 diff --git a/dockge/byte-muse_1_11_8/docker-compose.yml b/dockge/auto-lady_1_5_3/docker-compose.yml similarity index 91% rename from dockge/byte-muse_1_11_8/docker-compose.yml rename to dockge/auto-lady_1_5_3/docker-compose.yml index 3eb8188b7..d9c6c701e 100644 --- a/dockge/byte-muse_1_11_8/docker-compose.yml +++ b/dockge/auto-lady_1_5_3/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: auto-lady: - container_name: byte-muse + container_name: auto-lady env_file: - ./envs/global.env - .env @@ -11,7 +11,7 @@ services: - HTTPS_PROXY=${HTTP_PROXY} - HTTP_PROXY=${HTTP_PROXY:-} - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.11.8 + image: envyafish/byte-muse:1.5.3 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/envs/default.env b/dockge/auto-lady_1_5_3/envs/default.env similarity index 100% rename from dockge/auto-lady_1_4_5/envs/default.env rename to dockge/auto-lady_1_5_3/envs/default.env diff --git a/dockge/auto-lady_1_4_5/envs/global.env b/dockge/auto-lady_1_5_3/envs/global.env similarity index 100% rename from dockge/auto-lady_1_4_5/envs/global.env rename to dockge/auto-lady_1_5_3/envs/global.env diff --git a/dockge/bili-fetcher/docker-compose.yml b/dockge/bili-fetcher/docker-compose.yml index d6ac7c0ac..c68c76b14 100644 --- a/dockge/bili-fetcher/docker-compose.yml +++ b/dockge/bili-fetcher/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:v1.6.0 + image: qyg2297248353/bili-fetcher:latest networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:v1.6.0 + image: qyg2297248353/bili-fetcher-web:latest labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_latest/.env b/dockge/bili-fetcher_1_6_0/.env similarity index 100% rename from dockge/bili-fetcher_latest/.env rename to dockge/bili-fetcher_1_6_0/.env diff --git a/dockge/bili-fetcher_latest/config/categories.json b/dockge/bili-fetcher_1_6_0/config/categories.json similarity index 100% rename from dockge/bili-fetcher_latest/config/categories.json rename to dockge/bili-fetcher_1_6_0/config/categories.json diff --git a/dockge/bili-fetcher_latest/config/config.yaml b/dockge/bili-fetcher_1_6_0/config/config.yaml similarity index 100% rename from dockge/bili-fetcher_latest/config/config.yaml rename to dockge/bili-fetcher_1_6_0/config/config.yaml diff --git a/dockge/bili-fetcher_latest/config/scheduler_config.yaml b/dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml similarity index 100% rename from dockge/bili-fetcher_latest/config/scheduler_config.yaml rename to dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml diff --git a/dockge/bili-fetcher_latest/config/sql_statements_mysql.py b/dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py similarity index 100% rename from dockge/bili-fetcher_latest/config/sql_statements_mysql.py rename to dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py diff --git a/dockge/bili-fetcher_latest/config/sql_statements_sqlite.py b/dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py similarity index 100% rename from dockge/bili-fetcher_latest/config/sql_statements_sqlite.py rename to dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py diff --git a/dockge/bili-fetcher_latest/config/template.html b/dockge/bili-fetcher_1_6_0/config/template.html similarity index 100% rename from dockge/bili-fetcher_latest/config/template.html rename to dockge/bili-fetcher_1_6_0/config/template.html diff --git a/dockge/bili-fetcher_latest/docker-compose.yml b/dockge/bili-fetcher_1_6_0/docker-compose.yml similarity index 88% rename from dockge/bili-fetcher_latest/docker-compose.yml rename to dockge/bili-fetcher_1_6_0/docker-compose.yml index c68c76b14..d6ac7c0ac 100644 --- a/dockge/bili-fetcher_latest/docker-compose.yml +++ b/dockge/bili-fetcher_1_6_0/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:latest + image: qyg2297248353/bili-fetcher:v1.6.0 networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:latest + image: qyg2297248353/bili-fetcher-web:v1.6.0 labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_latest/envs/default.env b/dockge/bili-fetcher_1_6_0/envs/default.env similarity index 100% rename from dockge/bili-fetcher_latest/envs/default.env rename to dockge/bili-fetcher_1_6_0/envs/default.env diff --git a/dockge/bili-fetcher_latest/envs/global.env b/dockge/bili-fetcher_1_6_0/envs/global.env similarity index 100% rename from dockge/bili-fetcher_latest/envs/global.env rename to dockge/bili-fetcher_1_6_0/envs/global.env diff --git a/dockge/byte-muse/.env b/dockge/byte-muse/.env index e633719fd..7198039bd 100644 --- a/dockge/byte-muse/.env +++ b/dockge/byte-muse/.env @@ -1,3 +1,21 @@ -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=5000 +# 数据持久化路径 [必填] +AUTO_LADY_ROOT_PATH=/home/byte-muse + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + +# 网络代理地址 +HTTP_PROXY= + +# 跳过代理地址 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local diff --git a/dockge/byte-muse/docker-compose.yml b/dockge/byte-muse/docker-compose.yml index e70ac8e43..3eb8188b7 100644 --- a/dockge/byte-muse/docker-compose.yml +++ b/dockge/byte-muse/docker-compose.yml @@ -2,13 +2,25 @@ networks: 1panel-network: external: true services: - byte-muse-license: + auto-lady: container_name: byte-muse - image: envyafish/byte-muse-license:latest + env_file: + - ./envs/global.env + - .env + environment: + - HTTPS_PROXY=${HTTP_PROXY} + - HTTP_PROXY=${HTTP_PROXY:-} + - NO_PROXY=${NO_PROXY:-} + image: envyafish/byte-muse:1.11.8 labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:5000 + - ${PANEL_APP_PORT_HTTP}:80 restart: always + volumes: + - ${AUTO_LADY_ROOT_PATH}/config:/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/byte-muse_license/.env b/dockge/byte-muse_license/.env new file mode 100644 index 000000000..e633719fd --- /dev/null +++ b/dockge/byte-muse_license/.env @@ -0,0 +1,3 @@ +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=5000 + diff --git a/dockge/byte-muse_license/docker-compose.yml b/dockge/byte-muse_license/docker-compose.yml new file mode 100644 index 000000000..e70ac8e43 --- /dev/null +++ b/dockge/byte-muse_license/docker-compose.yml @@ -0,0 +1,14 @@ +networks: + 1panel-network: + external: true +services: + byte-muse-license: + container_name: byte-muse + image: envyafish/byte-muse-license:latest + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:5000 + restart: always diff --git a/dockge/byte-muse_1_11_8/envs/default.env b/dockge/byte-muse_license/envs/default.env similarity index 100% rename from dockge/byte-muse_1_11_8/envs/default.env rename to dockge/byte-muse_license/envs/default.env diff --git a/dockge/byte-muse_1_11_8/envs/global.env b/dockge/byte-muse_license/envs/global.env similarity index 100% rename from dockge/byte-muse_1_11_8/envs/global.env rename to dockge/byte-muse_license/envs/global.env diff --git a/dockge/emby/docker-compose.yml b/dockge/emby/docker-compose.yml index a461e63ac..e2d892aa1 100644 --- a/dockge/emby/docker-compose.yml +++ b/dockge/emby/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.8.11.0 + image: emby/embyserver:4.9.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_1_1/.env b/dockge/emby_4_8_11_0/.env similarity index 100% rename from dockge/emby_4_9_1_1/.env rename to dockge/emby_4_8_11_0/.env diff --git a/dockge/emby_4_9_1_1/docker-compose.yml b/dockge/emby_4_8_11_0/docker-compose.yml similarity index 96% rename from dockge/emby_4_9_1_1/docker-compose.yml rename to dockge/emby_4_8_11_0/docker-compose.yml index e2d892aa1..a461e63ac 100644 --- a/dockge/emby_4_9_1_1/docker-compose.yml +++ b/dockge/emby_4_8_11_0/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_1_1/envs/default.env b/dockge/emby_4_8_11_0/envs/default.env similarity index 100% rename from dockge/emby_4_9_1_1/envs/default.env rename to dockge/emby_4_8_11_0/envs/default.env diff --git a/dockge/emby_4_9_1_1/envs/global.env b/dockge/emby_4_8_11_0/envs/global.env similarity index 100% rename from dockge/emby_4_9_1_1/envs/global.env rename to dockge/emby_4_8_11_0/envs/global.env diff --git a/dockge/homarr/.env b/dockge/homarr/.env index ab5a7db42..39cbf2014 100644 --- a/dockge/homarr/.env +++ b/dockge/homarr/.env @@ -4,3 +4,6 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 +# 密钥 [必填] +SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 + diff --git a/dockge/homarr/docker-compose.yml b/dockge/homarr/docker-compose.yml index 3b26c2c66..c9303a621 100644 --- a/dockge/homarr/docker-compose.yml +++ b/dockge/homarr/docker-compose.yml @@ -16,6 +16,4 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/configs:/app/data/configs - - ${HOMARR_ROOT_PATH}/icons:/app/public/icons - - ${HOMARR_ROOT_PATH}/data:/data + - ${HOMARR_ROOT_PATH}/appdata:/appdata diff --git a/dockge/homarr_1_18_1/.env b/dockge/homarr_0_15_10/.env similarity index 52% rename from dockge/homarr_1_18_1/.env rename to dockge/homarr_0_15_10/.env index 39cbf2014..ab5a7db42 100644 --- a/dockge/homarr_1_18_1/.env +++ b/dockge/homarr_0_15_10/.env @@ -4,6 +4,3 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 -# 密钥 [必填] -SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 - diff --git a/dockge/homarr_1_18_1/docker-compose.yml b/dockge/homarr_0_15_10/docker-compose.yml similarity index 73% rename from dockge/homarr_1_18_1/docker-compose.yml rename to dockge/homarr_0_15_10/docker-compose.yml index c9303a621..3b26c2c66 100644 --- a/dockge/homarr_1_18_1/docker-compose.yml +++ b/dockge/homarr_0_15_10/docker-compose.yml @@ -16,4 +16,6 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/appdata:/appdata + - ${HOMARR_ROOT_PATH}/configs:/app/data/configs + - ${HOMARR_ROOT_PATH}/icons:/app/public/icons + - ${HOMARR_ROOT_PATH}/data:/data diff --git a/dockge/homarr_1_18_1/envs/default.env b/dockge/homarr_0_15_10/envs/default.env similarity index 100% rename from dockge/homarr_1_18_1/envs/default.env rename to dockge/homarr_0_15_10/envs/default.env diff --git a/dockge/homarr_1_18_1/envs/global.env b/dockge/homarr_0_15_10/envs/global.env similarity index 100% rename from dockge/homarr_1_18_1/envs/global.env rename to dockge/homarr_0_15_10/envs/global.env diff --git a/dockge/immich-machine-learning/docker-compose.yml b/dockge/immich-machine-learning/docker-compose.yml index 8aa758179..0c0530ffe 100644 --- a/dockge/immich-machine-learning/docker-compose.yml +++ b/dockge/immich-machine-learning/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_132_3/.env b/dockge/immich-machine-learning_1_135_3/.env similarity index 100% rename from dockge/immich-machine-learning_1_132_3/.env rename to dockge/immich-machine-learning_1_135_3/.env diff --git a/dockge/immich-machine-learning_1_132_3/docker-compose.yml b/dockge/immich-machine-learning_1_135_3/docker-compose.yml similarity index 87% rename from dockge/immich-machine-learning_1_132_3/docker-compose.yml rename to dockge/immich-machine-learning_1_135_3/docker-compose.yml index 0c0530ffe..8aa758179 100644 --- a/dockge/immich-machine-learning_1_132_3/docker-compose.yml +++ b/dockge/immich-machine-learning_1_135_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_132_3/envs/default.env b/dockge/immich-machine-learning_1_135_3/envs/default.env similarity index 100% rename from dockge/immich-machine-learning_1_132_3/envs/default.env rename to dockge/immich-machine-learning_1_135_3/envs/default.env diff --git a/dockge/immich-machine-learning_1_132_3/envs/global.env b/dockge/immich-machine-learning_1_135_3/envs/global.env similarity index 100% rename from dockge/immich-machine-learning_1_132_3/envs/global.env rename to dockge/immich-machine-learning_1_135_3/envs/global.env diff --git a/dockge/immich-no-machine/docker-compose.yml b/dockge/immich-no-machine/docker-compose.yml index b174763a8..0ad713e57 100644 --- a/dockge/immich-no-machine/docker-compose.yml +++ b/dockge/immich-no-machine/docker-compose.yml @@ -4,13 +4,36 @@ networks: external: true services: immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -29,7 +52,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_132_3/.env b/dockge/immich-no-machine_1_135_3/.env similarity index 100% rename from dockge/immich-no-machine_1_132_3/.env rename to dockge/immich-no-machine_1_135_3/.env diff --git a/dockge/immich-no-machine_1_132_3/docker-compose.yml b/dockge/immich-no-machine_1_135_3/docker-compose.yml similarity index 54% rename from dockge/immich-no-machine_1_132_3/docker-compose.yml rename to dockge/immich-no-machine_1_135_3/docker-compose.yml index 0ad713e57..b174763a8 100644 --- a/dockge/immich-no-machine_1_132_3/docker-compose.yml +++ b/dockge/immich-no-machine_1_135_3/docker-compose.yml @@ -4,36 +4,13 @@ networks: external: true services: immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -52,7 +29,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_132_3/envs/default.env b/dockge/immich-no-machine_1_135_3/envs/default.env similarity index 100% rename from dockge/immich-no-machine_1_132_3/envs/default.env rename to dockge/immich-no-machine_1_135_3/envs/default.env diff --git a/dockge/immich-no-machine_1_132_3/envs/global.env b/dockge/immich-no-machine_1_135_3/envs/global.env similarity index 100% rename from dockge/immich-no-machine_1_132_3/envs/global.env rename to dockge/immich-no-machine_1_135_3/envs/global.env diff --git a/dockge/immich-server/docker-compose.yml b/dockge/immich-server/docker-compose.yml index a6a472d9a..1f7695a07 100644 --- a/dockge/immich-server/docker-compose.yml +++ b/dockge/immich-server/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_132_3/.env b/dockge/immich-server_1_135_3/.env similarity index 100% rename from dockge/immich-server_1_132_3/.env rename to dockge/immich-server_1_135_3/.env diff --git a/dockge/immich-server_1_132_3/docker-compose.yml b/dockge/immich-server_1_135_3/docker-compose.yml similarity index 89% rename from dockge/immich-server_1_132_3/docker-compose.yml rename to dockge/immich-server_1_135_3/docker-compose.yml index 1f7695a07..a6a472d9a 100644 --- a/dockge/immich-server_1_132_3/docker-compose.yml +++ b/dockge/immich-server_1_135_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_132_3/envs/default.env b/dockge/immich-server_1_135_3/envs/default.env similarity index 100% rename from dockge/immich-server_1_132_3/envs/default.env rename to dockge/immich-server_1_135_3/envs/default.env diff --git a/dockge/immich-server_1_132_3/envs/global.env b/dockge/immich-server_1_135_3/envs/global.env similarity index 100% rename from dockge/immich-server_1_132_3/envs/global.env rename to dockge/immich-server_1_135_3/envs/global.env diff --git a/dockge/immich/docker-compose.yml b/dockge/immich/docker-compose.yml index 680035b9c..44a2398ec 100644 --- a/dockge/immich/docker-compose.yml +++ b/dockge/immich/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: @@ -21,13 +21,36 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -45,7 +68,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_132_3/.env b/dockge/immich_1_135_3/.env similarity index 100% rename from dockge/immich_1_132_3/.env rename to dockge/immich_1_135_3/.env diff --git a/dockge/immich_1_132_3/docker-compose.yml b/dockge/immich_1_135_3/docker-compose.yml similarity index 59% rename from dockge/immich_1_132_3/docker-compose.yml rename to dockge/immich_1_135_3/docker-compose.yml index 44a2398ec..680035b9c 100644 --- a/dockge/immich_1_132_3/docker-compose.yml +++ b/dockge/immich_1_135_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: @@ -21,36 +21,13 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -68,7 +45,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_132_3/envs/default.env b/dockge/immich_1_135_3/envs/default.env similarity index 100% rename from dockge/immich_1_132_3/envs/default.env rename to dockge/immich_1_135_3/envs/default.env diff --git a/dockge/immich_1_132_3/envs/global.env b/dockge/immich_1_135_3/envs/global.env similarity index 100% rename from dockge/immich_1_132_3/envs/global.env rename to dockge/immich_1_135_3/envs/global.env diff --git a/dockge/postgresql/docker-compose.yml b/dockge/postgresql/docker-compose.yml index aad82d79a..6826af067 100644 --- a/dockge/postgresql/docker-compose.yml +++ b/dockge/postgresql/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: postgresql + container_name: pg16-alpine-postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16.9-alpine + image: postgres:16-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_pg16-alpine/.env b/dockge/postgresql_16_9-alpine/.env similarity index 100% rename from dockge/postgresql_pg16-alpine/.env rename to dockge/postgresql_16_9-alpine/.env diff --git a/dockge/postgresql_pg16-alpine/docker-compose.yml b/dockge/postgresql_16_9-alpine/docker-compose.yml similarity index 87% rename from dockge/postgresql_pg16-alpine/docker-compose.yml rename to dockge/postgresql_16_9-alpine/docker-compose.yml index 6826af067..aad82d79a 100644 --- a/dockge/postgresql_pg16-alpine/docker-compose.yml +++ b/dockge/postgresql_16_9-alpine/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: pg16-alpine-postgresql + container_name: postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16-alpine + image: postgres:16.9-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_pg16-alpine/envs/default.env b/dockge/postgresql_16_9-alpine/envs/default.env similarity index 100% rename from dockge/postgresql_pg16-alpine/envs/default.env rename to dockge/postgresql_16_9-alpine/envs/default.env diff --git a/dockge/postgresql_pg16-alpine/envs/global.env b/dockge/postgresql_16_9-alpine/envs/global.env similarity index 100% rename from dockge/postgresql_pg16-alpine/envs/global.env rename to dockge/postgresql_16_9-alpine/envs/global.env diff --git a/dockge/qbittorrent/docker-compose.yml b/dockge/qbittorrent/docker-compose.yml index 5dd224da4..5ec4b458b 100644 --- a/dockge/qbittorrent/docker-compose.yml +++ b/dockge/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:5.1.1 + image: linuxserver/qbittorrent:4.6.7 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_4_6_7/.env b/dockge/qbittorrent_5_1_1/.env similarity index 100% rename from dockge/qbittorrent_4_6_7/.env rename to dockge/qbittorrent_5_1_1/.env diff --git a/dockge/qbittorrent_4_6_7/docker-compose.yml b/dockge/qbittorrent_5_1_1/docker-compose.yml similarity index 95% rename from dockge/qbittorrent_4_6_7/docker-compose.yml rename to dockge/qbittorrent_5_1_1/docker-compose.yml index 5ec4b458b..5dd224da4 100644 --- a/dockge/qbittorrent_4_6_7/docker-compose.yml +++ b/dockge/qbittorrent_5_1_1/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:4.6.7 + image: linuxserver/qbittorrent:5.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_4_6_7/envs/default.env b/dockge/qbittorrent_5_1_1/envs/default.env similarity index 100% rename from dockge/qbittorrent_4_6_7/envs/default.env rename to dockge/qbittorrent_5_1_1/envs/default.env diff --git a/dockge/qbittorrent_4_6_7/envs/global.env b/dockge/qbittorrent_5_1_1/envs/global.env similarity index 100% rename from dockge/qbittorrent_4_6_7/envs/global.env rename to dockge/qbittorrent_5_1_1/envs/global.env diff --git a/dockge/redis/config/redis.conf b/dockge/redis/config/redis.conf index ca22ec9f6..8795ae291 100644 --- a/dockge/redis/config/redis.conf +++ b/dockge/redis/config/redis.conf @@ -32,8 +32,17 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # +# Included paths may contain wildcards. All files matching the wildcards will +# be included in alphabetical order. +# Note that if an include path contains a wildcards but no files match it when +# the server is started, the include statement will be ignored and no error will +# be emitted. It is safe, therefore, to include wildcard files from empty +# directories. +# # include /path/to/local.conf # include /path/to/other.conf +# include /path/to/fragments/*.conf +# ################################## MODULES ##################################### @@ -49,43 +58,81 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interface. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 loopback interface address (this means Redis will only be able to -# accept client connections from the same host that it is running on). +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT OUT THE FOLLOWING LINE. +# COMMENT OUT THE FOLLOWING LINE. +# +# You will also need to set a password unless you explicitly disable protected +# mode. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 +# By default, outgoing connections (from replica to master, from Sentinel to +# instances, cluster bus, etc.) are not bound to a specific local address. In +# most cases, this means the operating system will handle that based on routing +# and the interface through which the connection goes out. +# +# Using bind-source-addr it is possible to configure a specific address to bind +# to, which may also affect how the connection gets routed. +# +# Example: +# +# bind-source-addr 10.0.0.1 + # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. +# When protected mode is on and the default user has no password, the server +# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address +# (::1) or Unix domain sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. +# even if no authentication is configured. protected-mode yes +# Redis uses default hardened security configuration directives to reduce the +# attack surface on innocent users. Therefore, several sensitive configuration +# directives are immutable, and some potentially-dangerous commands are blocked. +# +# Configuration directives that control files that Redis writes to (e.g., 'dir' +# and 'dbfilename') and that aren't usually modified during runtime +# are protected by making them immutable. +# +# Commands that can increase the attack surface of Redis and that aren't usually +# called by users are blocked by default. +# +# These can be exposed to either all connections or just local ones by setting +# each of the configs listed below to either of these values: +# +# no - Block for any connection (remain immutable) +# yes - Allow for any connection (no protection) +# local - Allow only for local connections. Ones originating from the +# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. +# +# enable-protected-configs no +# enable-debug-command no +# enable-module-command no + # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -105,7 +152,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /tmp/redis.sock +# unixsocket /run/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -128,6 +175,16 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 +# Apply OS-specific mechanism to mark the listening socket with the specified +# ID, to support advanced routing and filtering capabilities. +# +# On Linux, the ID represents a connection mark. +# On FreeBSD, the ID represents a socket cookie ID. +# On OpenBSD, the ID represents a route table ID. +# +# The default value is 0, which implies no marking is required. +# socket-mark-id 0 + ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -143,8 +200,32 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, +# required by older versions of OpenSSL (<3.0). Newer versions do not require +# this configuration and recommend against it. # # tls-dh-params-file redis.dh @@ -177,9 +258,12 @@ tcp-keepalive 300 # # tls-cluster yes -# Explicitly specify TLS versions to support. Allowed values are case insensitive -# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or -# any combination. To enable only TLSv1.2 and TLSv1.3, use: +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -221,6 +305,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -229,11 +314,17 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -supervised no +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -244,6 +335,9 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -269,44 +363,74 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" ################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behavior will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" -save 900 1 -save 300 10 -save 60 10000 +# Save the DB to disk. +# +# save [ ...] +# +# Redis will save the DB if the given number of seconds elapsed and it +# surpassed the given number of write operations against the DB. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 change was performed +# * After 300 seconds (5 minutes) if at least 100 changes were performed +# * After 60 seconds if at least 10000 changes were performed +# +# You can set these explicitly by uncommenting the following line. +# +# save 3600 1 300 100 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -338,6 +462,21 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes +# Enables or disables full sanitization checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitization +# yes - Always perform full sanitization +# clients - Perform full sanitization only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + # The filename where to dump the DB dbfilename dump.rdb @@ -412,9 +551,10 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with -# an error "SYNC with master in progress" to all commands except: -# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error +# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" +# to all data access commands, excluding commands such as: +# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -463,7 +603,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync no +repl-diskless-sync yes # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -477,12 +617,18 @@ repl-diskless-sync no # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 +# When diskless replication is enabled with a delay, it is possible to let +# the replication start before the maximum delay is reached if the maximum +# number of replicas expected have connected. Default of 0 means that the +# maximum is not defined and Redis will wait the full delay. +repl-diskless-sync-max-replicas 0 + # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if your do what you are doing. +# stage with the master. Use only if you know what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -491,19 +637,23 @@ repl-diskless-sync-delay 5 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and salve buffers). +# Copy on Write memory and replica buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep a copy of the current db contents in RAM while parsing -# the data directly from the socket. note that this requires -# sufficient memory, if you don't have it, you risk an OOM kill. +# "swapdb" - Keep current db contents in RAM while parsing the data directly +# from the socket. Replicas in this mode can keep serving current +# data set while replication is in progress, except for cases where +# they can't recognize master as having a data set from same +# replication history. +# Note that this requires sufficient memory, if you don't have it, +# you risk an OOM kill. repl-diskless-load disabled -# Replicas send PINGs to server in a predefined interval. It's possible to +# Master send PINGs to its replicas in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -578,6 +728,43 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 +# The propagation error behavior controls how Redis will behave when it is +# unable to handle a command being processed in the replication stream from a master +# or processed while reading from an AOF file. Errors that occur during propagation +# are unexpected, and can cause data inconsistency. However, there are edge cases +# in earlier versions of Redis where it was possible for the server to replicate or persist +# commands that would fail on future versions. For this reason the default behavior +# is to ignore such errors and continue processing commands. +# +# If an application wants to ensure there is no data divergence, this configuration +# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' +# to only panic when a replica encounters an error on the replication stream. One of +# these two panic values will become the default value in the future once there are +# sufficient safety mechanisms in place to prevent false positive crashes. +# +# propagation-error-behavior ignore + +# Replica ignore disk write errors controls the behavior of a replica when it is +# unable to persist a write command received from its master to disk. By default, +# this configuration is set to 'no' and will crash the replica in this condition. +# It is not recommended to change this default, however in order to be compatible +# with older versions of Redis this config can be toggled to 'yes' which will just +# log a warning and execute the write command it got from the master. +# +# replica-ignore-disk-write-errors no + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -633,7 +820,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# 16 millions of slots, what clients may have certain subsets of keys. In turn +# a radix key indexed by key name, what clients have which keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -697,8 +884,12 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# + Allow the execution of that command -# - Disallow the execution of that command +# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command. +# May be used with `|` for allowing subcommands (e.g "+config|get") +# - Disallow the execution of that command. +# May be used with `|` for blocking subcommands (e.g "-config|set") # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -706,10 +897,11 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|subcommand Allow a specific subcommand of an otherwise -# disabled command. Note that this form is not -# allowed as negative like -DEBUG|SEGFAULT, but -# only additive starting with "+". +# +|first-arg Allow a specific first argument of an otherwise +# disabled command. It is only supported on commands with +# no sub-commands, and is not allowed as negative form +# like -SELECT|1, only additive starting with "+". This +# feature is deprecated and may be removed in the future. # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -717,8 +909,17 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. +# %R~ Add key read pattern that specifies which keys can be read +# from. +# %W~ Add key write pattern that specifies which keys can be +# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -737,6 +938,14 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. +# () Create a new selector with the options specified within the +# parentheses and attach it to the user. Each option should be +# space separated. The first character must be ( and the last +# character must be ). +# clearselectors Remove all of the currently attached selectors. +# Note this does not change the "root" user permissions, +# which are the permissions directly applied onto the +# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -758,6 +967,40 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # +# The following is a list of command categories and their meanings: +# * keyspace - Writing or reading from keys, databases, or their metadata +# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, +# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, +# key or metadata will also have `write` category. Commands that only read +# the keyspace, key or metadata will have the `read` category. +# * read - Reading from keys (values or metadata). Note that commands that don't +# interact with keys, will not have either `read` or `write`. +# * write - Writing to keys (values or metadata) +# * admin - Administrative commands. Normal applications will never need to use +# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. +# * dangerous - Potentially dangerous (each should be considered with care for +# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, +# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. +# * connection - Commands affecting the connection or other connections. +# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. +# * blocking - Potentially blocking the connection until released by another +# command. +# * fast - Fast O(1) commands. May loop on the number of arguments, but not the +# number of elements in the key. +# * slow - All commands that are not Fast. +# * pubsub - PUBLISH / SUBSCRIBE related +# * transaction - WATCH / MULTI / EXEC related commands. +# * scripting - Scripting related. +# * set - Data type: sets related. +# * sortedset - Data type: zsets related. +# * list - Data type: lists related. +# * hash - Data type: hashes related. +# * string - Data type: strings related. +# * bitmap - Data type: bitmaps related. +# * hyperloglog - Data type: hyperloglog related. +# * geo - Data type: geo related. +# * stream - Data type: streams related. +# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -787,8 +1030,24 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # +# The requirepass is not compatible with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# # requirepass foobared +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. +# +# acl-pubsub-default resetchannels + # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -877,14 +1136,12 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). # # The default is: # @@ -901,6 +1158,14 @@ acllog-max-len 128 # # maxmemory-samples 5 +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -994,6 +1259,13 @@ replica-lazy-flush no lazyfree-lazy-user-del no +# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1032,7 +1304,7 @@ lazyfree-lazy-user-del no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Aso this feature currently does not work when SSL is +# CONFIG SET. Also, this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1050,7 +1322,7 @@ lazyfree-lazy-user-del no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports three options: +# Redis supports these options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1071,6 +1343,19 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1089,14 +1374,43 @@ oom-score-adj-values 0 200 800 # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check http://redis.io/topics/persistence for more information. +# Please check https://redis.io/topics/persistence for more information. appendonly no -# The name of the append only file (default: "appendonly.aof") +# The base name of the append only file. +# +# Redis 7 and newer use a set of append-only files to persist the dataset +# and changes applied to it. There are two basic types of files in use: +# +# - Base files, which are a snapshot representing the complete state of the +# dataset at the time the file was created. Base files can be either in +# the form of RDB (binary serialized) or AOF (textual commands). +# - Incremental files, which contain additional commands that were applied +# to the dataset following the previous file. +# +# In addition, manifest files are used to track the files and the order in +# which they were created and should be applied. +# +# Append-only file names are created by Redis following a specific pattern. +# The file name's prefix is based on the 'appendfilename' configuration +# parameter, followed by additional information about the sequence and type. +# +# For example, if appendfilename is set to appendonly.aof, the following file +# names could be derived: +# +# - appendonly.aof.1.base.rdb as a base file. +# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. +# - appendonly.aof.manifest as a manifest file. appendfilename "appendonly.aof" +# For convenience, Redis stores all persistent append-only files in a dedicated +# directory. The name of the directory is determined by the appenddirname +# configuration parameter. + +appenddirname "appendonlydir" + # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1136,7 +1450,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is +# the same as "appendfsync no". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1189,34 +1503,69 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading, Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, then continues loading the AOF -# tail. +# Redis can create append-only base files in either RDB or AOF formats. Using +# the RDB format is always faster and more efficient, and disabling it is only +# supported for backward compatibility purposes. aof-use-rdb-preamble yes -################################ LUA SCRIPTING ############################### +# Redis supports recording timestamp annotations in the AOF to support restoring +# the data from a specific point-in-time. However, using this capability changes +# the AOF format in a way that may not be compatible with existing AOF parsers. +aof-timestamp-enabled no -# Max execution time of a Lua script in milliseconds. +################################ SHUTDOWN ##################################### + +# Maximum time to wait for replicas when shutting down, in seconds. # -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. +# During shut down, a grace period allows any lagging replicas to catch up with +# the latest replication offset before the master exists. This period can +# prevent data loss, especially for deployments without configured disk backups. # -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet call any write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. +# The 'shutdown-timeout' value is the grace period's duration in seconds. It is +# only applicable when the instance has replicas. To disable the feature, set +# the value to 0. # -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 +# shutdown-timeout 10 + +# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default +# an RDB snapshot is written to disk in a blocking operation if save points are configured. +# The options used on signaled shutdown can include the following values: +# default: Saves RDB snapshot only if save points are configured. +# Waits for lagging replicas to catch up. +# save: Forces a DB saving operation even if no save points are configured. +# nosave: Prevents DB saving operation even if one or more save points are configured. +# now: Skips waiting for lagging replicas. +# force: Ignores any errors that would normally prevent the server from exiting. +# +# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. +# Example: "nosave force now" +# +# shutdown-on-sigint default +# shutdown-on-sigterm default + +################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### + +# Maximum time in milliseconds for EVAL scripts, functions and in some cases +# modules' commands before Redis can start processing or rejecting other clients. +# +# If the maximum execution time is reached Redis will start to reply to most +# commands with a BUSY error. +# +# In this state Redis will only allow a handful of commands to be executed. +# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some +# module specific 'allow-busy' commands. +# +# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not +# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop +# the server in the case a write command was already issued by the script when +# the user doesn't want to wait for the natural termination of the script. +# +# The default is 5 seconds. It is possible to set it to 0 or a negative value +# to disable this mechanism (uninterrupted execution). Note that in the past +# this config had a different name, which is now an alias, so both of these do +# the same: +# lua-time-limit 5000 +# busy-reply-threshold 5000 ################################ REDIS CLUSTER ############################### @@ -1240,6 +1589,11 @@ lua-time-limit 5000 # # cluster-node-timeout 15000 +# The cluster port is the port that the cluster bus will listen for inbound connections on. When set +# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires +# you to specify the cluster bus port when executing cluster meet. +# cluster-port 0 + # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1298,12 +1652,21 @@ lua-time-limit 5000 # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value. +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1318,7 +1681,7 @@ lua-time-limit 5000 # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the master can still perform a +# master during master failures. However the replica can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1328,7 +1691,7 @@ lua-time-limit 5000 # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# the cluster is in a down state, as long as it believes it owns the slots. +# cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1343,8 +1706,54 @@ lua-time-limit 5000 # # cluster-allow-reads-when-down no +# This option, when set to yes, allows nodes to serve pubsub shard traffic while +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful if the application would like to use the pubsub feature even when +# the cluster global stable state is not OK. If the application wants to make sure only +# one shard is serving a given channel, this feature should be kept as yes. +# +# cluster-allow-pubsubshard-when-down yes + +# Cluster link send buffer limit is the limit on the memory usage of an individual +# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed +# this limit. This is to primarily prevent send buffers from growing unbounded on links +# toward slow peers (E.g. PubSub messages being piled up). +# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field +# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. +# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single +# PubSub message by default. (client-query-buffer-limit default value is 1gb) +# +# cluster-link-sendbuf-limit 0 + +# Clusters can configure their announced hostname using this config. This is a common use case for +# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based +# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS +# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is +# communicated along the clusterbus to all nodes, setting it to an empty string will remove +# the hostname and also propagate the removal. +# +# cluster-announce-hostname "" + +# Clusters can advertise how clients should connect to them using either their IP address, +# a user defined hostname, or by declaring they have no endpoint. Which endpoint is +# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type +# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how +# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. +# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' +# will be returned instead. +# +# When a cluster advertises itself as having an unknown endpoint, it's indicating that +# the server doesn't know how clients can reach the cluster. This can happen in certain +# networking situations where there are multiple possible routes to the node, and the +# server doesn't know which one the client took. In this case, the server is expecting +# the client to reach out on the same endpoint it used for making the last request, but use +# the port provided in the response. +# +# cluster-preferred-endpoint-type ip + # In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. +# available at https://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1354,16 +1763,21 @@ lua-time-limit 5000 # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: +# following four options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port +# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1376,7 +1790,8 @@ lua-time-limit 5000 # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1424,10 +1839,24 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 +################################ LATENCY TRACKING ############################## + +# The Redis extended latency monitoring tracks the per command latencies and enables +# exporting the percentile distribution via the INFO latencystats command, +# and cumulative latency distributions (histograms) via the LATENCY command. +# +# By default, the extended latency monitoring is enabled since the overhead +# of keeping track of the command latency is very small. +# latency-tracking yes + +# By default the exported latency percentiles via the INFO latencystats command +# are the p50, p99, and p999. +# latency-tracking-info-percentiles 50 99 99.9 + ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications +# This feature is documented at https://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1449,9 +1878,11 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) +# n New key events (Note: not included in the 'A' class) # t Stream commands +# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxet, so that the "AKE" string means all the events +# A Alias for g$lshzxetd, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1474,71 +1905,13 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" -############################### GOPHER SERVER ################################# - -# Redis contains an implementation of the Gopher protocol, as specified in -# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). -# -# The Gopher protocol was very popular in the late '90s. It is an alternative -# to the web, and the implementation both server and client side is so simple -# that the Redis server has just 100 lines of code in order to implement this -# support. -# -# What do you do with Gopher nowadays? Well Gopher never *really* died, and -# lately there is a movement in order for the Gopher more hierarchical content -# composed of just plain text documents to be resurrected. Some want a simpler -# internet, others believe that the mainstream internet became too much -# controlled, and it's cool to create an alternative space for people that -# want a bit of fresh air. -# -# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol -# as a gift. -# -# --- HOW IT WORKS? --- -# -# The Redis Gopher support uses the inline protocol of Redis, and specifically -# two kind of inline requests that were anyway illegal: an empty request -# or any request that starts with "/" (there are no Redis commands starting -# with such a slash). Normal RESP2/RESP3 requests are completely out of the -# path of the Gopher protocol implementation and are served as usual as well. -# -# If you open a connection to Redis when Gopher is enabled and send it -# a string like "/foo", if there is a key named "/foo" it is served via the -# Gopher protocol. -# -# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher -# talking), you likely need a script like the following: -# -# https://github.com/antirez/gopher2redis -# -# --- SECURITY WARNING --- -# -# If you plan to put Redis on the internet in a publicly accessible address -# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. -# Once a password is set: -# -# 1. The Gopher server (when enabled, not by default) will still serve -# content via Gopher. -# 2. However other commands cannot be called before the client will -# authenticate. -# -# So use the 'requirepass' option to protect your instance. -# -# Note that Gopher is not currently supported when 'io-threads-do-reads' -# is enabled. -# -# To enable Gopher support, uncomment the following line and set the option -# from no (the default) to yes. -# -# gopher-enabled no - ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 +hash-max-listpack-entries 512 +hash-max-listpack-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1553,7 +1926,7 @@ hash-max-ziplist-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 +list-max-listpack-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1581,8 +1954,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1604,7 +1977,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entires limit by setting max-bytes to 0 and max-entries to the desired +# max entries limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -1637,7 +2010,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -1661,6 +2034,13 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # +# Note that it doesn't make sense to set the replica clients output buffer +# limit lower than the repl-backlog-size config (partial sync will succeed +# and then replica will get disconnected). +# Such a configuration is ignored (the size of repl-backlog-size will be used). +# This doesn't have memory consumption implications since the replica client +# will share the backlog buffers memory. +# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -1674,6 +2054,25 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb +# In some scenarios client connections can hog up memory leading to OOM +# errors or data eviction. To avoid this we can cap the accumulated memory +# used by all client connections (all pubsub and normal clients). Once we +# reach that limit connections will be dropped by the server freeing up +# memory. The server will attempt to drop the connections using the most +# memory first. We call this mechanism "client eviction". +# +# Client eviction is configured using the maxmemory-clients setting as follows: +# 0 - client eviction is disabled (default) +# +# A memory value can be used for the client eviction threshold, +# for example: +# maxmemory-clients 1g +# +# A percentage value (between 1% and 100%) means the client eviction threshold +# is based on a percentage of the maxmemory setting. For example to set client +# eviction at 5% of maxmemory: +# maxmemory-clients 5% + # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -1714,13 +2113,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -1817,7 +2216,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Enabled active defragmentation +# Active defragmentation is disabled by default # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis/docker-compose.yml b/dockge/redis/docker-compose.yml index cadefa142..08fd078c6 100644 --- a/dockge/redis/docker-compose.yml +++ b/dockge/redis/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:6.2.18-alpine + image: redis:7.4.4-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_7_4_4/.env b/dockge/redis_6_2_18/.env similarity index 100% rename from dockge/redis_7_4_4/.env rename to dockge/redis_6_2_18/.env diff --git a/dockge/redis_7_4_4/config/redis.conf b/dockge/redis_6_2_18/config/redis.conf similarity index 72% rename from dockge/redis_7_4_4/config/redis.conf rename to dockge/redis_6_2_18/config/redis.conf index 8795ae291..ca22ec9f6 100644 --- a/dockge/redis_7_4_4/config/redis.conf +++ b/dockge/redis_6_2_18/config/redis.conf @@ -32,17 +32,8 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # -# Included paths may contain wildcards. All files matching the wildcards will -# be included in alphabetical order. -# Note that if an include path contains a wildcards but no files match it when -# the server is started, the include statement will be ignored and no error will -# be emitted. It is safe, therefore, to include wildcard files from empty -# directories. -# # include /path/to/local.conf # include /path/to/other.conf -# include /path/to/fragments/*.conf -# ################################## MODULES ##################################### @@ -58,81 +49,43 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. -# Each address can be prefixed by "-", which means that redis will not fail to -# start if the address is not available. Being not available only refers to -# addresses that does not correspond to any network interface. Addresses that -# are already in use will always fail, and unsupported protocols will always BE -# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses -# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 -# bind * -::* # like the default, all available interfaces +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis -# will only be able to accept client connections from the same host that it is -# running on). +# IPv4 loopback interface address (this means Redis will only be able to +# accept client connections from the same host that it is running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# COMMENT OUT THE FOLLOWING LINE. -# -# You will also need to set a password unless you explicitly disable protected -# mode. +# JUST COMMENT OUT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 -# By default, outgoing connections (from replica to master, from Sentinel to -# instances, cluster bus, etc.) are not bound to a specific local address. In -# most cases, this means the operating system will handle that based on routing -# and the interface through which the connection goes out. -# -# Using bind-source-addr it is possible to configure a specific address to bind -# to, which may also affect how the connection gets routed. -# -# Example: -# -# bind-source-addr 10.0.0.1 - # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and the default user has no password, the server -# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address -# (::1) or Unix domain sockets. +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured. +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. protected-mode yes -# Redis uses default hardened security configuration directives to reduce the -# attack surface on innocent users. Therefore, several sensitive configuration -# directives are immutable, and some potentially-dangerous commands are blocked. -# -# Configuration directives that control files that Redis writes to (e.g., 'dir' -# and 'dbfilename') and that aren't usually modified during runtime -# are protected by making them immutable. -# -# Commands that can increase the attack surface of Redis and that aren't usually -# called by users are blocked by default. -# -# These can be exposed to either all connections or just local ones by setting -# each of the configs listed below to either of these values: -# -# no - Block for any connection (remain immutable) -# yes - Allow for any connection (no protection) -# local - Allow only for local connections. Ones originating from the -# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. -# -# enable-protected-configs no -# enable-debug-command no -# enable-module-command no - # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -152,7 +105,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /run/redis.sock +# unixsocket /tmp/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -175,16 +128,6 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 -# Apply OS-specific mechanism to mark the listening socket with the specified -# ID, to support advanced routing and filtering capabilities. -# -# On Linux, the ID represents a connection mark. -# On FreeBSD, the ID represents a socket cookie ID. -# On OpenBSD, the ID represents a route table ID. -# -# The default value is 0, which implies no marking is required. -# socket-mark-id 0 - ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -200,32 +143,8 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret -# Normally Redis uses the same certificate for both server functions (accepting -# connections) and client functions (replicating from a master, establishing -# cluster bus connections, etc.). -# -# Sometimes certificates are issued with attributes that designate them as -# client-only or server-only certificates. In that case it may be desired to use -# different certificates for incoming (server) and outgoing (client) -# connections. To do that, use the following directives: -# -# tls-client-cert-file client.crt -# tls-client-key-file client.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-client-key-file-pass secret - -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, -# required by older versions of OpenSSL (<3.0). Newer versions do not require -# this configuration and recommend against it. +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: # # tls-dh-params-file redis.dh @@ -258,12 +177,9 @@ tcp-keepalive 300 # # tls-cluster yes -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: +# Explicitly specify TLS versions to support. Allowed values are case insensitive +# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or +# any combination. To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -305,7 +221,6 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -314,17 +229,11 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# on startup, and updating Redis status on a regular -# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -# -# The default is "no". To run under upstart/systemd, you can simply uncomment -# the line below: -# -# supervised auto +supervised no # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -335,9 +244,6 @@ daemonize no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. -# -# Note that on modern Linux systems "/run/redis.pid" is more conforming -# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -363,74 +269,44 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 -# To disable the built in crash log, which will possibly produce cleaner core -# dumps when they are needed, uncomment the following: -# -# crash-log-enabled no - -# To disable the fast memory check that's run as part of the crash log, which -# will possibly let redis terminate sooner, uncomment the following: -# -# crash-memcheck-enabled no - # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY and syslog logging is -# disabled. Basically this means that normally a logo is displayed only in -# interactive sessions. +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo no - -# By default, Redis modifies the process title (as seen in 'top' and 'ps') to -# provide some runtime information. It is possible to disable this and leave -# the process name as executed by setting the following to no. -set-proc-title yes - -# When changing the process title, Redis uses the following template to construct -# the modified title. -# -# Template variables are specified in curly brackets. The following variables are -# supported: -# -# {title} Name of process as executed if parent, or type of child process. -# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or -# Unix socket if only that's available. -# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". -# {port} TCP port listening on, or 0. -# {tls-port} TLS port listening on, or 0. -# {unixsocket} Unix domain socket listening on, or "". -# {config-file} Name of configuration file used. -# -proc-title-template "{title} {listen-addr} {server-mode}" +always-show-logo yes ################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behavior will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" -# Save the DB to disk. -# -# save [ ...] -# -# Redis will save the DB if the given number of seconds elapsed and it -# surpassed the given number of write operations against the DB. -# -# Snapshotting can be completely disabled with a single empty string argument -# as in following example: -# -# save "" -# -# Unless specified otherwise, by default Redis will save the DB: -# * After 3600 seconds (an hour) if at least 1 change was performed -# * After 300 seconds (5 minutes) if at least 100 changes were performed -# * After 60 seconds if at least 10000 changes were performed -# -# You can set these explicitly by uncommenting the following line. -# -# save 3600 1 300 100 60 10000 +save 900 1 +save 300 10 +save 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -462,21 +338,6 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes -# Enables or disables full sanitization checks for ziplist and listpack etc when -# loading an RDB or RESTORE payload. This reduces the chances of a assertion or -# crash later on while processing commands. -# Options: -# no - Never perform full sanitization -# yes - Always perform full sanitization -# clients - Perform full sanitization only for user connections. -# Excludes: RDB files, RESTORE commands received from the master -# connection, and client connections which have the -# skip-sanitize-payload ACL flag. -# The default should be 'clients' but since it currently affects cluster -# resharding via MIGRATE, it is temporarily set to 'no' by default. -# -# sanitize-dump-payload no - # The filename where to dump the DB dbfilename dump.rdb @@ -551,10 +412,9 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error -# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" -# to all data access commands, excluding commands such as: -# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -603,7 +463,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync yes +repl-diskless-sync no # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -617,18 +477,12 @@ repl-diskless-sync yes # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 -# When diskless replication is enabled with a delay, it is possible to let -# the replication start before the maximum delay is reached if the maximum -# number of replicas expected have connected. Default of 0 means that the -# maximum is not defined and Redis will wait the full delay. -repl-diskless-sync-max-replicas 0 - # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if you know what you are doing. +# stage with the master. Use only if your do what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -637,23 +491,19 @@ repl-diskless-sync-max-replicas 0 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and replica buffers). +# Copy on Write memory and salve buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep current db contents in RAM while parsing the data directly -# from the socket. Replicas in this mode can keep serving current -# data set while replication is in progress, except for cases where -# they can't recognize master as having a data set from same -# replication history. -# Note that this requires sufficient memory, if you don't have it, -# you risk an OOM kill. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. repl-diskless-load disabled -# Master send PINGs to its replicas in a predefined interval. It's possible to +# Replicas send PINGs to server in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -728,43 +578,6 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 -# The propagation error behavior controls how Redis will behave when it is -# unable to handle a command being processed in the replication stream from a master -# or processed while reading from an AOF file. Errors that occur during propagation -# are unexpected, and can cause data inconsistency. However, there are edge cases -# in earlier versions of Redis where it was possible for the server to replicate or persist -# commands that would fail on future versions. For this reason the default behavior -# is to ignore such errors and continue processing commands. -# -# If an application wants to ensure there is no data divergence, this configuration -# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' -# to only panic when a replica encounters an error on the replication stream. One of -# these two panic values will become the default value in the future once there are -# sufficient safety mechanisms in place to prevent false positive crashes. -# -# propagation-error-behavior ignore - -# Replica ignore disk write errors controls the behavior of a replica when it is -# unable to persist a write command received from its master to disk. By default, -# this configuration is set to 'no' and will crash the replica in this condition. -# It is not recommended to change this default, however in order to be compatible -# with older versions of Redis this config can be toggled to 'yes' which will just -# log a warning and execute the write command it got from the master. -# -# replica-ignore-disk-write-errors no - -# ----------------------------------------------------------------------------- -# By default, Redis Sentinel includes all replicas in its reports. A replica -# can be excluded from Redis Sentinel's announcements. An unannounced replica -# will be ignored by the 'sentinel replicas ' command and won't be -# exposed to Redis Sentinel's clients. -# -# This option does not change the behavior of replica-priority. Even with -# replica-announced set to 'no', the replica can be promoted to master. To -# prevent this behavior, set replica-priority to 0. -# -# replica-announced yes - # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -820,7 +633,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# a radix key indexed by key name, what clients have which keys. In turn +# 16 millions of slots, what clients may have certain subsets of keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -884,12 +697,8 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. -# sanitize-payload RESTORE dump-payload is sanitized (default). -# + Allow the execution of that command. -# May be used with `|` for allowing subcommands (e.g "+config|get") -# - Disallow the execution of that command. -# May be used with `|` for blocking subcommands (e.g "-config|set") +# + Allow the execution of that command +# - Disallow the execution of that command # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -897,11 +706,10 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|first-arg Allow a specific first argument of an otherwise -# disabled command. It is only supported on commands with -# no sub-commands, and is not allowed as negative form -# like -SELECT|1, only additive starting with "+". This -# feature is deprecated and may be removed in the future. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -909,17 +717,8 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. -# %R~ Add key read pattern that specifies which keys can be read -# from. -# %W~ Add key write pattern that specifies which keys can be -# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. -# & Add a glob-style pattern of Pub/Sub channels that can be -# accessed by the user. It is possible to specify multiple channel -# patterns. -# allchannels Alias for &* -# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -938,14 +737,6 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. -# () Create a new selector with the options specified within the -# parentheses and attach it to the user. Each option should be -# space separated. The first character must be ( and the last -# character must be ). -# clearselectors Remove all of the currently attached selectors. -# Note this does not change the "root" user permissions, -# which are the permissions directly applied onto the -# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -967,40 +758,6 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # -# The following is a list of command categories and their meanings: -# * keyspace - Writing or reading from keys, databases, or their metadata -# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, -# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, -# key or metadata will also have `write` category. Commands that only read -# the keyspace, key or metadata will have the `read` category. -# * read - Reading from keys (values or metadata). Note that commands that don't -# interact with keys, will not have either `read` or `write`. -# * write - Writing to keys (values or metadata) -# * admin - Administrative commands. Normal applications will never need to use -# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. -# * dangerous - Potentially dangerous (each should be considered with care for -# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, -# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. -# * connection - Commands affecting the connection or other connections. -# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. -# * blocking - Potentially blocking the connection until released by another -# command. -# * fast - Fast O(1) commands. May loop on the number of arguments, but not the -# number of elements in the key. -# * slow - All commands that are not Fast. -# * pubsub - PUBLISH / SUBSCRIBE related -# * transaction - WATCH / MULTI / EXEC related commands. -# * scripting - Scripting related. -# * set - Data type: sets related. -# * sortedset - Data type: zsets related. -# * list - Data type: lists related. -# * hash - Data type: hashes related. -# * string - Data type: strings related. -# * bitmap - Data type: bitmaps related. -# * hyperloglog - Data type: hyperloglog related. -# * geo - Data type: geo related. -# * stream - Data type: streams related. -# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -1030,24 +787,8 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # -# The requirepass is not compatible with aclfile option and the ACL LOAD -# command, these will cause requirepass to be ignored. -# # requirepass foobared -# New users are initialized with restrictive permissions by default, via the -# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it -# is possible to manage access to Pub/Sub channels with ACL rules as well. The -# default Pub/Sub channels permission if new users is controlled by the -# acl-pubsub-default configuration directive, which accepts one of these values: -# -# allchannels: grants access to all Pub/Sub channels -# resetchannels: revokes access to all Pub/Sub channels -# -# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. -# -# acl-pubsub-default resetchannels - # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -1136,12 +877,14 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, when there are no suitable keys for -# eviction, Redis will return an error on write operations that require -# more memory. These are usually commands that create new keys, add data or -# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, -# SORT (due to the STORE argument), and EXEC (if the transaction includes any -# command that requires memory). +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort # # The default is: # @@ -1158,14 +901,6 @@ acllog-max-len 128 # # maxmemory-samples 5 -# Eviction processing is designed to function well with the default setting. -# If there is an unusually large amount of write traffic, this value may need to -# be increased. Decreasing this value may reduce latency at the risk of -# eviction processing effectiveness -# 0 = minimum latency, 10 = default, 100 = process without regard to latency -# -# maxmemory-eviction-tenacity 10 - # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -1259,13 +994,6 @@ replica-lazy-flush no lazyfree-lazy-user-del no -# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous -# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the -# commands. When neither flag is passed, this directive will be used to determine -# if the data should be deleted asynchronously. - -lazyfree-lazy-user-flush no - ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1304,7 +1032,7 @@ lazyfree-lazy-user-flush no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Also, this feature currently does not work when SSL is +# CONFIG SET. Aso this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1322,7 +1050,7 @@ lazyfree-lazy-user-flush no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports these options: +# Redis supports three options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1343,19 +1071,6 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 - -#################### KERNEL transparent hugepage CONTROL ###################### - -# Usually the kernel Transparent Huge Pages control is set to "madvise" or -# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which -# case this config has no effect. On systems in which it is set to "always", -# redis will attempt to disable it specifically for the redis process in order -# to avoid latency problems specifically with fork(2) and CoW. -# If for some reason you prefer to keep it enabled, you can set this config to -# "no" and the kernel global to "always". - -disable-thp yes - ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1374,43 +1089,14 @@ disable-thp yes # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check https://redis.io/topics/persistence for more information. +# Please check http://redis.io/topics/persistence for more information. appendonly no -# The base name of the append only file. -# -# Redis 7 and newer use a set of append-only files to persist the dataset -# and changes applied to it. There are two basic types of files in use: -# -# - Base files, which are a snapshot representing the complete state of the -# dataset at the time the file was created. Base files can be either in -# the form of RDB (binary serialized) or AOF (textual commands). -# - Incremental files, which contain additional commands that were applied -# to the dataset following the previous file. -# -# In addition, manifest files are used to track the files and the order in -# which they were created and should be applied. -# -# Append-only file names are created by Redis following a specific pattern. -# The file name's prefix is based on the 'appendfilename' configuration -# parameter, followed by additional information about the sequence and type. -# -# For example, if appendfilename is set to appendonly.aof, the following file -# names could be derived: -# -# - appendonly.aof.1.base.rdb as a base file. -# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. -# - appendonly.aof.manifest as a manifest file. +# The name of the append only file (default: "appendonly.aof") appendfilename "appendonly.aof" -# For convenience, Redis stores all persistent append-only files in a dedicated -# directory. The name of the directory is determined by the appenddirname -# configuration parameter. - -appenddirname "appendonlydir" - # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1450,7 +1136,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync no". In practical terms, this means that it is +# the same as "appendfsync none". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1503,69 +1189,34 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# Redis can create append-only base files in either RDB or AOF formats. Using -# the RDB format is always faster and more efficient, and disabling it is only -# supported for backward compatibility purposes. +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. aof-use-rdb-preamble yes -# Redis supports recording timestamp annotations in the AOF to support restoring -# the data from a specific point-in-time. However, using this capability changes -# the AOF format in a way that may not be compatible with existing AOF parsers. -aof-timestamp-enabled no +################################ LUA SCRIPTING ############################### -################################ SHUTDOWN ##################################### - -# Maximum time to wait for replicas when shutting down, in seconds. +# Max execution time of a Lua script in milliseconds. # -# During shut down, a grace period allows any lagging replicas to catch up with -# the latest replication offset before the master exists. This period can -# prevent data loss, especially for deployments without configured disk backups. +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. # -# The 'shutdown-timeout' value is the grace period's duration in seconds. It is -# only applicable when the instance has replicas. To disable the feature, set -# the value to 0. +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. # -# shutdown-timeout 10 - -# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default -# an RDB snapshot is written to disk in a blocking operation if save points are configured. -# The options used on signaled shutdown can include the following values: -# default: Saves RDB snapshot only if save points are configured. -# Waits for lagging replicas to catch up. -# save: Forces a DB saving operation even if no save points are configured. -# nosave: Prevents DB saving operation even if one or more save points are configured. -# now: Skips waiting for lagging replicas. -# force: Ignores any errors that would normally prevent the server from exiting. -# -# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. -# Example: "nosave force now" -# -# shutdown-on-sigint default -# shutdown-on-sigterm default - -################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### - -# Maximum time in milliseconds for EVAL scripts, functions and in some cases -# modules' commands before Redis can start processing or rejecting other clients. -# -# If the maximum execution time is reached Redis will start to reply to most -# commands with a BUSY error. -# -# In this state Redis will only allow a handful of commands to be executed. -# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some -# module specific 'allow-busy' commands. -# -# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not -# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop -# the server in the case a write command was already issued by the script when -# the user doesn't want to wait for the natural termination of the script. -# -# The default is 5 seconds. It is possible to set it to 0 or a negative value -# to disable this mechanism (uninterrupted execution). Note that in the past -# this config had a different name, which is now an alias, so both of these do -# the same: -# lua-time-limit 5000 -# busy-reply-threshold 5000 +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 ################################ REDIS CLUSTER ############################### @@ -1589,11 +1240,6 @@ aof-timestamp-enabled no # # cluster-node-timeout 15000 -# The cluster port is the port that the cluster bus will listen for inbound connections on. When set -# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires -# you to specify the cluster bus port when executing cluster meet. -# cluster-port 0 - # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1652,21 +1298,12 @@ aof-timestamp-enabled no # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value or -# set cluster-allow-replica-migration to 'no'. +# one replica). To disable migration just set it to a very large value. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 -# Turning off this option allows to use less automatic cluster configuration. -# It both disables migration to orphaned masters and migration from masters -# that became empty. -# -# Default is 'yes' (allow automatic migrations). -# -# cluster-allow-replica-migration yes - # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1681,7 +1318,7 @@ aof-timestamp-enabled no # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the replica can still perform a +# master during master failures. However the master can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1691,7 +1328,7 @@ aof-timestamp-enabled no # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# cluster is in a down state, as long as it believes it owns the slots. +# the cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1706,54 +1343,8 @@ aof-timestamp-enabled no # # cluster-allow-reads-when-down no -# This option, when set to yes, allows nodes to serve pubsub shard traffic while -# the cluster is in a down state, as long as it believes it owns the slots. -# -# This is useful if the application would like to use the pubsub feature even when -# the cluster global stable state is not OK. If the application wants to make sure only -# one shard is serving a given channel, this feature should be kept as yes. -# -# cluster-allow-pubsubshard-when-down yes - -# Cluster link send buffer limit is the limit on the memory usage of an individual -# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed -# this limit. This is to primarily prevent send buffers from growing unbounded on links -# toward slow peers (E.g. PubSub messages being piled up). -# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field -# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. -# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single -# PubSub message by default. (client-query-buffer-limit default value is 1gb) -# -# cluster-link-sendbuf-limit 0 - -# Clusters can configure their announced hostname using this config. This is a common use case for -# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based -# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS -# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is -# communicated along the clusterbus to all nodes, setting it to an empty string will remove -# the hostname and also propagate the removal. -# -# cluster-announce-hostname "" - -# Clusters can advertise how clients should connect to them using either their IP address, -# a user defined hostname, or by declaring they have no endpoint. Which endpoint is -# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type -# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how -# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. -# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' -# will be returned instead. -# -# When a cluster advertises itself as having an unknown endpoint, it's indicating that -# the server doesn't know how clients can reach the cluster. This can happen in certain -# networking situations where there are multiple possible routes to the node, and the -# server doesn't know which one the client took. In this case, the server is expecting -# the client to reach out on the same endpoint it used for making the last request, but use -# the port provided in the response. -# -# cluster-preferred-endpoint-type ip - # In order to setup your cluster make sure to read the documentation -# available at https://redis.io web site. +# available at http://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1763,21 +1354,16 @@ aof-timestamp-enabled no # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following four options are used for this scope, and are: +# following two options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port -# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client ports (for connections -# without and with TLS) and cluster message bus port. The information is then -# published in the header of the bus packets so that other nodes will be able to -# correctly map the address of the node publishing the information. -# -# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set -# to zero, then cluster-announce-port refers to the TLS port. Note also that -# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# Each instructs the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1790,8 +1376,7 @@ aof-timestamp-enabled no # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-tls-port 6379 -# cluster-announce-port 0 +# cluster-announce-port 6379 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1839,24 +1424,10 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 -################################ LATENCY TRACKING ############################## - -# The Redis extended latency monitoring tracks the per command latencies and enables -# exporting the percentile distribution via the INFO latencystats command, -# and cumulative latency distributions (histograms) via the LATENCY command. -# -# By default, the extended latency monitoring is enabled since the overhead -# of keeping track of the command latency is very small. -# latency-tracking yes - -# By default the exported latency percentiles via the INFO latencystats command -# are the p50, p99, and p999. -# latency-tracking-info-percentiles 50 99 99.9 - ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at https://redis.io/topics/notifications +# This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1878,11 +1449,9 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) -# n New key events (Note: not included in the 'A' class) # t Stream commands -# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# A Alias for g$lshzxet, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1905,13 +1474,71 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-listpack-entries 512 -hash-max-listpack-value 64 +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1926,7 +1553,7 @@ hash-max-listpack-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-listpack-size -2 +list-max-ziplist-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1954,8 +1581,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-listpack-entries 128 -zset-max-listpack-value 64 +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1977,7 +1604,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entries limit by setting max-bytes to 0 and max-entries to the desired +# max entires limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -2010,7 +1637,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -2034,13 +1661,6 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # -# Note that it doesn't make sense to set the replica clients output buffer -# limit lower than the repl-backlog-size config (partial sync will succeed -# and then replica will get disconnected). -# Such a configuration is ignored (the size of repl-backlog-size will be used). -# This doesn't have memory consumption implications since the replica client -# will share the backlog buffers memory. -# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -2054,25 +1674,6 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb -# In some scenarios client connections can hog up memory leading to OOM -# errors or data eviction. To avoid this we can cap the accumulated memory -# used by all client connections (all pubsub and normal clients). Once we -# reach that limit connections will be dropped by the server freeing up -# memory. The server will attempt to drop the connections using the most -# memory first. We call this mechanism "client eviction". -# -# Client eviction is configured using the maxmemory-clients setting as follows: -# 0 - client eviction is disabled (default) -# -# A memory value can be used for the client eviction threshold, -# for example: -# maxmemory-clients 1g -# -# A percentage value (between 1% and 100%) means the client eviction threshold -# is based on a percentage of the maxmemory setting. For example to set client -# eviction at 5% of maxmemory: -# maxmemory-clients 5% - # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -2113,13 +1714,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -2216,7 +1817,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Active defragmentation is disabled by default +# Enabled active defragmentation # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis_7_4_4/docker-compose.yml b/dockge/redis_6_2_18/docker-compose.yml similarity index 94% rename from dockge/redis_7_4_4/docker-compose.yml rename to dockge/redis_6_2_18/docker-compose.yml index 08fd078c6..cadefa142 100644 --- a/dockge/redis_7_4_4/docker-compose.yml +++ b/dockge/redis_6_2_18/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:7.4.4-alpine + image: redis:6.2.18-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_7_4_4/envs/default.env b/dockge/redis_6_2_18/envs/default.env similarity index 100% rename from dockge/redis_7_4_4/envs/default.env rename to dockge/redis_6_2_18/envs/default.env diff --git a/dockge/redis_7_4_4/envs/global.env b/dockge/redis_6_2_18/envs/global.env similarity index 100% rename from dockge/redis_7_4_4/envs/global.env rename to dockge/redis_6_2_18/envs/global.env diff --git a/dockge/stream-rec/docker-compose.yml b/dockge/stream-rec/docker-compose.yml index 8465b7136..4076f23a1 100644 --- a/dockge/stream-rec/docker-compose.yml +++ b/dockge/stream-rec/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:dev + image: streamrec/stream-rec:main labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:dev + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_main/.env b/dockge/stream-rec_dev/.env similarity index 100% rename from dockge/stream-rec_main/.env rename to dockge/stream-rec_dev/.env diff --git a/dockge/stream-rec_main/docker-compose.yml b/dockge/stream-rec_dev/docker-compose.yml similarity index 92% rename from dockge/stream-rec_main/docker-compose.yml rename to dockge/stream-rec_dev/docker-compose.yml index 4076f23a1..8465b7136 100644 --- a/dockge/stream-rec_main/docker-compose.yml +++ b/dockge/stream-rec_dev/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:main + image: streamrec/stream-rec:dev labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:dev labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_main/envs/default.env b/dockge/stream-rec_dev/envs/default.env similarity index 100% rename from dockge/stream-rec_main/envs/default.env rename to dockge/stream-rec_dev/envs/default.env diff --git a/dockge/stream-rec_main/envs/global.env b/dockge/stream-rec_dev/envs/global.env similarity index 100% rename from dockge/stream-rec_main/envs/global.env rename to dockge/stream-rec_dev/envs/global.env diff --git a/dockge/umami-mysql/docker-compose.yml b/dockge/umami-mysql/docker-compose.yml index 0347d07c0..2bc7a13bc 100644 --- a/dockge/umami-mysql/docker-compose.yml +++ b/dockge/umami-mysql/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.18.1 + image: umamisoftware/umami:mysql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_16_0/.env b/dockge/umami-mysql_2_18_1/.env similarity index 100% rename from dockge/umami-mysql_2_16_0/.env rename to dockge/umami-mysql_2_18_1/.env diff --git a/dockge/umami-mysql_2_16_0/docker-compose.yml b/dockge/umami-mysql_2_18_1/docker-compose.yml similarity index 91% rename from dockge/umami-mysql_2_16_0/docker-compose.yml rename to dockge/umami-mysql_2_18_1/docker-compose.yml index 2bc7a13bc..0347d07c0 100644 --- a/dockge/umami-mysql_2_16_0/docker-compose.yml +++ b/dockge/umami-mysql_2_18_1/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.16.0 + image: umamisoftware/umami:mysql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_16_0/envs/default.env b/dockge/umami-mysql_2_18_1/envs/default.env similarity index 100% rename from dockge/umami-mysql_2_16_0/envs/default.env rename to dockge/umami-mysql_2_18_1/envs/default.env diff --git a/dockge/umami-mysql_2_16_0/envs/global.env b/dockge/umami-mysql_2_18_1/envs/global.env similarity index 100% rename from dockge/umami-mysql_2_16_0/envs/global.env rename to dockge/umami-mysql_2_18_1/envs/global.env diff --git a/dockge/umami/docker-compose.yml b/dockge/umami/docker-compose.yml index 9bbf23909..7f7a58660 100644 --- a/dockge/umami/docker-compose.yml +++ b/dockge/umami/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.18.1 + image: umamisoftware/umami:postgresql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_16_0/.env b/dockge/umami_2_18_1/.env similarity index 100% rename from dockge/umami_2_16_0/.env rename to dockge/umami_2_18_1/.env diff --git a/dockge/umami_2_16_0/docker-compose.yml b/dockge/umami_2_18_1/docker-compose.yml similarity index 90% rename from dockge/umami_2_16_0/docker-compose.yml rename to dockge/umami_2_18_1/docker-compose.yml index 7f7a58660..9bbf23909 100644 --- a/dockge/umami_2_16_0/docker-compose.yml +++ b/dockge/umami_2_18_1/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.16.0 + image: umamisoftware/umami:postgresql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_16_0/envs/default.env b/dockge/umami_2_18_1/envs/default.env similarity index 100% rename from dockge/umami_2_16_0/envs/default.env rename to dockge/umami_2_18_1/envs/default.env diff --git a/dockge/umami_2_16_0/envs/global.env b/dockge/umami_2_18_1/envs/global.env similarity index 100% rename from dockge/umami_2_16_0/envs/global.env rename to dockge/umami_2_18_1/envs/global.env diff --git a/dockge/uptime-kuma/.env b/dockge/uptime-kuma/.env index 5fa74c158..32a291fcd 100644 --- a/dockge/uptime-kuma/.env +++ b/dockge/uptime-kuma/.env @@ -4,9 +4,3 @@ UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=3001 -# Cloudflared 隧道令牌 -UPTIME_KUMA_CLOUDFLARED_TOKEN= - -# 禁用 Frame SameOrigin [必填] -UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false - diff --git a/dockge/uptime-kuma/docker-compose.yml b/dockge/uptime-kuma/docker-compose.yml index 03b4560f7..c6ee97339 100644 --- a/dockge/uptime-kuma/docker-compose.yml +++ b/dockge/uptime-kuma/docker-compose.yml @@ -7,16 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - PUID=0 - - PGID=0 - - UPTIME_KUMA_PORT=3001 - - UPTIME_KUMA_HOST=0.0.0.0 - - DATA_DIR=/app/data - - NODE_TLS_REJECT_UNAUTHORIZED=0 - - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 - - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like - image: louislam/uptime-kuma:1.23.16 + image: louislam/uptime-kuma:2.0.0-beta.3 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/.env b/dockge/uptime-kuma_1_23_16/.env new file mode 100644 index 000000000..5fa74c158 --- /dev/null +++ b/dockge/uptime-kuma_1_23_16/.env @@ -0,0 +1,12 @@ +# 数据持久化路径 [必填] +UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3001 + +# Cloudflared 隧道令牌 +UPTIME_KUMA_CLOUDFLARED_TOKEN= + +# 禁用 Frame SameOrigin [必填] +UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false + diff --git a/dockge/uptime-kuma_2_0_0/docker-compose.yml b/dockge/uptime-kuma_1_23_16/docker-compose.yml similarity index 57% rename from dockge/uptime-kuma_2_0_0/docker-compose.yml rename to dockge/uptime-kuma_1_23_16/docker-compose.yml index c6ee97339..03b4560f7 100644 --- a/dockge/uptime-kuma_2_0_0/docker-compose.yml +++ b/dockge/uptime-kuma_1_23_16/docker-compose.yml @@ -7,7 +7,16 @@ services: env_file: - ./envs/global.env - .env - image: louislam/uptime-kuma:2.0.0-beta.3 + environment: + - PUID=0 + - PGID=0 + - UPTIME_KUMA_PORT=3001 + - UPTIME_KUMA_HOST=0.0.0.0 + - DATA_DIR=/app/data + - NODE_TLS_REJECT_UNAUTHORIZED=0 + - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 + - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like + image: louislam/uptime-kuma:1.23.16 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_2_0_0/envs/default.env b/dockge/uptime-kuma_1_23_16/envs/default.env similarity index 100% rename from dockge/uptime-kuma_2_0_0/envs/default.env rename to dockge/uptime-kuma_1_23_16/envs/default.env diff --git a/dockge/uptime-kuma_2_0_0/envs/global.env b/dockge/uptime-kuma_1_23_16/envs/global.env similarity index 100% rename from dockge/uptime-kuma_2_0_0/envs/global.env rename to dockge/uptime-kuma_1_23_16/envs/global.env diff --git a/dockge/uptime-kuma_2_0_0/.env b/dockge/uptime-kuma_2_0_0/.env deleted file mode 100644 index 32a291fcd..000000000 --- a/dockge/uptime-kuma_2_0_0/.env +++ /dev/null @@ -1,6 +0,0 @@ -# 数据持久化路径 [必填] -UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3001 - From 43a64a08337430a00456dd80116d3cd50a10cb9d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 18:33:54 +0000 Subject: [PATCH 51/96] Update qyg2297248353/ammds Docker tag to v1.6.18 --- apps/ammds-ol8/1.6.16/docker-compose.yml | 2 +- apps/ammds/1.6.16/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/ammds-ol8/1.6.16/docker-compose.yml b/apps/ammds-ol8/1.6.16/docker-compose.yml index 31bb98a75..c5a898528 100644 --- a/apps/ammds-ol8/1.6.16/docker-compose.yml +++ b/apps/ammds-ol8/1.6.16/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ammds: - image: qyg2297248353/ammds:v1.6.16-ol8 + image: qyg2297248353/ammds:v1.6.18-ol8 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" diff --git a/apps/ammds/1.6.16/docker-compose.yml b/apps/ammds/1.6.16/docker-compose.yml index 31bfaff99..eba0bde95 100644 --- a/apps/ammds/1.6.16/docker-compose.yml +++ b/apps/ammds/1.6.16/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ammds: - image: qyg2297248353/ammds:v1.6.16 + image: qyg2297248353/ammds:v1.6.18 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 1da121afad674d2155d7c783e41024141610a411 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 18:34:03 +0000 Subject: [PATCH 52/96] Update app version [skip ci] --- apps/ammds-ol8/{1.6.16 => 1.6.18}/data.yml | 0 apps/ammds-ol8/{1.6.16 => 1.6.18}/docker-compose.yml | 0 apps/ammds-ol8/{1.6.16 => 1.6.18}/envs/default.env | 0 apps/ammds-ol8/{1.6.16 => 1.6.18}/envs/global.env | 0 apps/ammds-ol8/{1.6.16 => 1.6.18}/scripts/init.sh | 0 apps/ammds-ol8/{1.6.16 => 1.6.18}/scripts/uninstall.sh | 0 apps/ammds-ol8/{1.6.16 => 1.6.18}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/data.yml (100%) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/docker-compose.yml (100%) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/envs/default.env (100%) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/envs/global.env (100%) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/scripts/init.sh (100%) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/scripts/uninstall.sh (100%) rename apps/ammds-ol8/{1.6.16 => 1.6.18}/scripts/upgrade.sh (100%) diff --git a/apps/ammds-ol8/1.6.16/data.yml b/apps/ammds-ol8/1.6.18/data.yml similarity index 100% rename from apps/ammds-ol8/1.6.16/data.yml rename to apps/ammds-ol8/1.6.18/data.yml diff --git a/apps/ammds-ol8/1.6.16/docker-compose.yml b/apps/ammds-ol8/1.6.18/docker-compose.yml similarity index 100% rename from apps/ammds-ol8/1.6.16/docker-compose.yml rename to apps/ammds-ol8/1.6.18/docker-compose.yml diff --git a/apps/ammds-ol8/1.6.16/envs/default.env b/apps/ammds-ol8/1.6.18/envs/default.env similarity index 100% rename from apps/ammds-ol8/1.6.16/envs/default.env rename to apps/ammds-ol8/1.6.18/envs/default.env diff --git a/apps/ammds-ol8/1.6.16/envs/global.env b/apps/ammds-ol8/1.6.18/envs/global.env similarity index 100% rename from apps/ammds-ol8/1.6.16/envs/global.env rename to apps/ammds-ol8/1.6.18/envs/global.env diff --git a/apps/ammds-ol8/1.6.16/scripts/init.sh b/apps/ammds-ol8/1.6.18/scripts/init.sh similarity index 100% rename from apps/ammds-ol8/1.6.16/scripts/init.sh rename to apps/ammds-ol8/1.6.18/scripts/init.sh diff --git a/apps/ammds-ol8/1.6.16/scripts/uninstall.sh b/apps/ammds-ol8/1.6.18/scripts/uninstall.sh similarity index 100% rename from apps/ammds-ol8/1.6.16/scripts/uninstall.sh rename to apps/ammds-ol8/1.6.18/scripts/uninstall.sh diff --git a/apps/ammds-ol8/1.6.16/scripts/upgrade.sh b/apps/ammds-ol8/1.6.18/scripts/upgrade.sh similarity index 100% rename from apps/ammds-ol8/1.6.16/scripts/upgrade.sh rename to apps/ammds-ol8/1.6.18/scripts/upgrade.sh From 453dbf235bf99c2f1e9a0ff2b09dfc544cc6c129 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Thu, 26 Jun 2025 18:34:04 +0000 Subject: [PATCH 53/96] Update app version [skip ci] --- apps/ammds/{1.6.16 => 1.6.18}/data.yml | 0 apps/ammds/{1.6.16 => 1.6.18}/docker-compose.yml | 0 apps/ammds/{1.6.16 => 1.6.18}/envs/default.env | 0 apps/ammds/{1.6.16 => 1.6.18}/envs/global.env | 0 apps/ammds/{1.6.16 => 1.6.18}/scripts/init.sh | 0 apps/ammds/{1.6.16 => 1.6.18}/scripts/uninstall.sh | 0 apps/ammds/{1.6.16 => 1.6.18}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ammds/{1.6.16 => 1.6.18}/data.yml (100%) rename apps/ammds/{1.6.16 => 1.6.18}/docker-compose.yml (100%) rename apps/ammds/{1.6.16 => 1.6.18}/envs/default.env (100%) rename apps/ammds/{1.6.16 => 1.6.18}/envs/global.env (100%) rename apps/ammds/{1.6.16 => 1.6.18}/scripts/init.sh (100%) rename apps/ammds/{1.6.16 => 1.6.18}/scripts/uninstall.sh (100%) rename apps/ammds/{1.6.16 => 1.6.18}/scripts/upgrade.sh (100%) diff --git a/apps/ammds/1.6.16/data.yml b/apps/ammds/1.6.18/data.yml similarity index 100% rename from apps/ammds/1.6.16/data.yml rename to apps/ammds/1.6.18/data.yml diff --git a/apps/ammds/1.6.16/docker-compose.yml b/apps/ammds/1.6.18/docker-compose.yml similarity index 100% rename from apps/ammds/1.6.16/docker-compose.yml rename to apps/ammds/1.6.18/docker-compose.yml diff --git a/apps/ammds/1.6.16/envs/default.env b/apps/ammds/1.6.18/envs/default.env similarity index 100% rename from apps/ammds/1.6.16/envs/default.env rename to apps/ammds/1.6.18/envs/default.env diff --git a/apps/ammds/1.6.16/envs/global.env b/apps/ammds/1.6.18/envs/global.env similarity index 100% rename from apps/ammds/1.6.16/envs/global.env rename to apps/ammds/1.6.18/envs/global.env diff --git a/apps/ammds/1.6.16/scripts/init.sh b/apps/ammds/1.6.18/scripts/init.sh similarity index 100% rename from apps/ammds/1.6.16/scripts/init.sh rename to apps/ammds/1.6.18/scripts/init.sh diff --git a/apps/ammds/1.6.16/scripts/uninstall.sh b/apps/ammds/1.6.18/scripts/uninstall.sh similarity index 100% rename from apps/ammds/1.6.16/scripts/uninstall.sh rename to apps/ammds/1.6.18/scripts/uninstall.sh diff --git a/apps/ammds/1.6.16/scripts/upgrade.sh b/apps/ammds/1.6.18/scripts/upgrade.sh similarity index 100% rename from apps/ammds/1.6.16/scripts/upgrade.sh rename to apps/ammds/1.6.18/scripts/upgrade.sh From 9e37866e6a5ac39fcfc5e095d7ee7ca8af9b4320 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Fri, 27 Jun 2025 01:52:29 +0000 Subject: [PATCH 54/96] Processed apps directory via GitHub Actions --- dockge/alist-aria2/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist-ffmpeg/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/alist/docker-compose.yml | 2 +- dockge/{alist_3_45_0 => alist_3_40_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/auto-lady/.env | 6 + dockge/auto-lady/docker-compose.yml | 6 +- dockge/auto-lady_1_4_5/.env | 15 + dockge/auto-lady_1_4_5/docker-compose.yml | 22 + .../envs/default.env | 0 .../envs/global.env | 0 dockge/bili-fetcher/docker-compose.yml | 4 +- .../.env | 0 .../config/categories.json | 0 .../config/config.yaml | 0 .../config/scheduler_config.yaml | 0 .../config/sql_statements_mysql.py | 0 .../config/sql_statements_sqlite.py | 0 .../config/template.html | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse/.env | 20 +- dockge/byte-muse/docker-compose.yml | 18 +- .../.env | 2 +- .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/byte-muse_license/.env | 3 - dockge/byte-muse_license/docker-compose.yml | 14 - dockge/emby/docker-compose.yml | 2 +- dockge/{emby_4_8_11_0 => emby_4_9_1_1}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/homarr/.env | 3 - dockge/homarr/docker-compose.yml | 4 +- dockge/{homarr_0_15_10 => homarr_1_18_1}/.env | 3 + .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 .../docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-no-machine/docker-compose.yml | 27 +- .../.env | 0 .../docker-compose.yml | 27 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich-server/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/immich/docker-compose.yml | 29 +- .../{immich_1_135_3 => immich_1_132_3}/.env | 0 .../docker-compose.yml | 29 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/postgresql/docker-compose.yml | 4 +- .../.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/qbittorrent/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/redis/config/redis.conf | 759 +++++------------- dockge/redis/docker-compose.yml | 2 +- dockge/{redis_6_2_18 => redis_7_4_4}/.env | 0 .../config/redis.conf | 759 +++++++++++++----- .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/stream-rec/docker-compose.yml | 4 +- .../{stream-rec_dev => stream-rec_main}/.env | 0 .../docker-compose.yml | 4 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami-mysql/docker-compose.yml | 2 +- .../.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/umami/docker-compose.yml | 2 +- dockge/{umami_2_18_1 => umami_2_16_0}/.env | 0 .../docker-compose.yml | 2 +- .../envs/default.env | 0 .../envs/global.env | 0 dockge/uptime-kuma/.env | 6 + dockge/uptime-kuma/docker-compose.yml | 11 +- dockge/uptime-kuma_1_23_16/.env | 12 - dockge/uptime-kuma_2_0_0/.env | 6 + .../docker-compose.yml | 11 +- .../envs/default.env | 0 .../envs/global.env | 0 110 files changed, 932 insertions(+), 932 deletions(-) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/.env (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/docker-compose.yml (94%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/envs/default.env (100%) rename dockge/{alist-aria2_3_41_0 => alist-aria2_3_40_0}/envs/global.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/docker-compose.yml (93%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/envs/default.env (100%) rename dockge/{alist-ffmpeg_3_45_0 => alist-ffmpeg_3_40_0}/envs/global.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/docker-compose.yml (94%) rename dockge/{alist_3_45_0 => alist_3_40_0}/envs/default.env (100%) rename dockge/{alist_3_45_0 => alist_3_40_0}/envs/global.env (100%) create mode 100644 dockge/auto-lady_1_4_5/.env create mode 100644 dockge/auto-lady_1_4_5/docker-compose.yml rename dockge/{auto-lady_1_5_3 => auto-lady_1_4_5}/envs/default.env (100%) rename dockge/{auto-lady_1_5_3 => auto-lady_1_4_5}/envs/global.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/categories.json (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/config.yaml (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/scheduler_config.yaml (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/sql_statements_mysql.py (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/sql_statements_sqlite.py (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/config/template.html (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/docker-compose.yml (88%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/envs/default.env (100%) rename dockge/{bili-fetcher_1_6_0 => bili-fetcher_latest}/envs/global.env (100%) rename dockge/{auto-lady_1_5_3 => byte-muse_1_11_8}/.env (91%) rename dockge/{auto-lady_1_5_3 => byte-muse_1_11_8}/docker-compose.yml (91%) rename dockge/{byte-muse_license => byte-muse_1_11_8}/envs/default.env (100%) rename dockge/{byte-muse_license => byte-muse_1_11_8}/envs/global.env (100%) delete mode 100644 dockge/byte-muse_license/.env delete mode 100644 dockge/byte-muse_license/docker-compose.yml rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/.env (100%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/docker-compose.yml (96%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/envs/default.env (100%) rename dockge/{emby_4_8_11_0 => emby_4_9_1_1}/envs/global.env (100%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/.env (52%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/docker-compose.yml (73%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/envs/default.env (100%) rename dockge/{homarr_0_15_10 => homarr_1_18_1}/envs/global.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/docker-compose.yml (87%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/envs/default.env (100%) rename dockge/{immich-machine-learning_1_135_3 => immich-machine-learning_1_132_3}/envs/global.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/docker-compose.yml (54%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/envs/default.env (100%) rename dockge/{immich-no-machine_1_135_3 => immich-no-machine_1_132_3}/envs/global.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/docker-compose.yml (89%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/envs/default.env (100%) rename dockge/{immich-server_1_135_3 => immich-server_1_132_3}/envs/global.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/docker-compose.yml (59%) rename dockge/{immich_1_135_3 => immich_1_132_3}/envs/default.env (100%) rename dockge/{immich_1_135_3 => immich_1_132_3}/envs/global.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/docker-compose.yml (87%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/envs/default.env (100%) rename dockge/{postgresql_16_9-alpine => postgresql_pg16-alpine}/envs/global.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/docker-compose.yml (95%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/envs/default.env (100%) rename dockge/{qbittorrent_5_1_1 => qbittorrent_4_6_7}/envs/global.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/config/redis.conf (72%) rename dockge/{redis_6_2_18 => redis_7_4_4}/docker-compose.yml (94%) rename dockge/{redis_6_2_18 => redis_7_4_4}/envs/default.env (100%) rename dockge/{redis_6_2_18 => redis_7_4_4}/envs/global.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/docker-compose.yml (92%) rename dockge/{stream-rec_dev => stream-rec_main}/envs/default.env (100%) rename dockge/{stream-rec_dev => stream-rec_main}/envs/global.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/docker-compose.yml (91%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/envs/default.env (100%) rename dockge/{umami-mysql_2_18_1 => umami-mysql_2_16_0}/envs/global.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/docker-compose.yml (90%) rename dockge/{umami_2_18_1 => umami_2_16_0}/envs/default.env (100%) rename dockge/{umami_2_18_1 => umami_2_16_0}/envs/global.env (100%) delete mode 100644 dockge/uptime-kuma_1_23_16/.env create mode 100644 dockge/uptime-kuma_2_0_0/.env rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/docker-compose.yml (57%) rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/envs/default.env (100%) rename dockge/{uptime-kuma_1_23_16 => uptime-kuma_2_0_0}/envs/global.env (100%) diff --git a/dockge/alist-aria2/docker-compose.yml b/dockge/alist-aria2/docker-compose.yml index a6913980a..987544dc1 100644 --- a/dockge/alist-aria2/docker-compose.yml +++ b/dockge/alist-aria2/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist-aria2:v3.40.0 + image: xhofe/alist-aria2:v3.41.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_41_0/.env b/dockge/alist-aria2_3_40_0/.env similarity index 100% rename from dockge/alist-aria2_3_41_0/.env rename to dockge/alist-aria2_3_40_0/.env diff --git a/dockge/alist-aria2_3_41_0/docker-compose.yml b/dockge/alist-aria2_3_40_0/docker-compose.yml similarity index 94% rename from dockge/alist-aria2_3_41_0/docker-compose.yml rename to dockge/alist-aria2_3_40_0/docker-compose.yml index 987544dc1..a6913980a 100644 --- a/dockge/alist-aria2_3_41_0/docker-compose.yml +++ b/dockge/alist-aria2_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist-aria2:v3.41.0 + image: qyg2297248353/alist-aria2:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist-aria2_3_41_0/envs/default.env b/dockge/alist-aria2_3_40_0/envs/default.env similarity index 100% rename from dockge/alist-aria2_3_41_0/envs/default.env rename to dockge/alist-aria2_3_40_0/envs/default.env diff --git a/dockge/alist-aria2_3_41_0/envs/global.env b/dockge/alist-aria2_3_40_0/envs/global.env similarity index 100% rename from dockge/alist-aria2_3_41_0/envs/global.env rename to dockge/alist-aria2_3_40_0/envs/global.env diff --git a/dockge/alist-ffmpeg/docker-compose.yml b/dockge/alist-ffmpeg/docker-compose.yml index 8da9f3b40..37149a612 100644 --- a/dockge/alist-ffmpeg/docker-compose.yml +++ b/dockge/alist-ffmpeg/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0-ffmpeg + image: xhofe/alist:v3.45.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_45_0/.env b/dockge/alist-ffmpeg_3_40_0/.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/.env rename to dockge/alist-ffmpeg_3_40_0/.env diff --git a/dockge/alist-ffmpeg_3_45_0/docker-compose.yml b/dockge/alist-ffmpeg_3_40_0/docker-compose.yml similarity index 93% rename from dockge/alist-ffmpeg_3_45_0/docker-compose.yml rename to dockge/alist-ffmpeg_3_40_0/docker-compose.yml index 37149a612..8da9f3b40 100644 --- a/dockge/alist-ffmpeg_3_45_0/docker-compose.yml +++ b/dockge/alist-ffmpeg_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0-ffmpeg + image: qyg2297248353/alist:v3.40.0-ffmpeg labels: createdBy: Apps networks: diff --git a/dockge/alist-ffmpeg_3_45_0/envs/default.env b/dockge/alist-ffmpeg_3_40_0/envs/default.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/envs/default.env rename to dockge/alist-ffmpeg_3_40_0/envs/default.env diff --git a/dockge/alist-ffmpeg_3_45_0/envs/global.env b/dockge/alist-ffmpeg_3_40_0/envs/global.env similarity index 100% rename from dockge/alist-ffmpeg_3_45_0/envs/global.env rename to dockge/alist-ffmpeg_3_40_0/envs/global.env diff --git a/dockge/alist/docker-compose.yml b/dockge/alist/docker-compose.yml index a5363b529..baa8abfb1 100644 --- a/dockge/alist/docker-compose.yml +++ b/dockge/alist/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: qyg2297248353/alist:v3.40.0 + image: xhofe/alist:v3.45.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_45_0/.env b/dockge/alist_3_40_0/.env similarity index 100% rename from dockge/alist_3_45_0/.env rename to dockge/alist_3_40_0/.env diff --git a/dockge/alist_3_45_0/docker-compose.yml b/dockge/alist_3_40_0/docker-compose.yml similarity index 94% rename from dockge/alist_3_45_0/docker-compose.yml rename to dockge/alist_3_40_0/docker-compose.yml index baa8abfb1..a5363b529 100644 --- a/dockge/alist_3_45_0/docker-compose.yml +++ b/dockge/alist_3_40_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=0 - UMASK=022 - FORCE=false - image: xhofe/alist:v3.45.0 + image: qyg2297248353/alist:v3.40.0 labels: createdBy: Apps networks: diff --git a/dockge/alist_3_45_0/envs/default.env b/dockge/alist_3_40_0/envs/default.env similarity index 100% rename from dockge/alist_3_45_0/envs/default.env rename to dockge/alist_3_40_0/envs/default.env diff --git a/dockge/alist_3_45_0/envs/global.env b/dockge/alist_3_40_0/envs/global.env similarity index 100% rename from dockge/alist_3_45_0/envs/global.env rename to dockge/alist_3_40_0/envs/global.env diff --git a/dockge/auto-lady/.env b/dockge/auto-lady/.env index a6f1eb1e9..3258da058 100644 --- a/dockge/auto-lady/.env +++ b/dockge/auto-lady/.env @@ -13,3 +13,9 @@ CUSTOM_MOUNT_DIRECTORY_2= # 自定义挂载目录 3 CUSTOM_MOUNT_DIRECTORY_3= +# 网络代理地址 +HTTP_PROXY= + +# 跳过代理地址 +NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local + diff --git a/dockge/auto-lady/docker-compose.yml b/dockge/auto-lady/docker-compose.yml index 40b13df53..d9c6c701e 100644 --- a/dockge/auto-lady/docker-compose.yml +++ b/dockge/auto-lady/docker-compose.yml @@ -7,7 +7,11 @@ services: env_file: - ./envs/global.env - .env - image: orekiiiiiiiiiiiii/auto-lady:1.4.5 + environment: + - HTTPS_PROXY=${HTTP_PROXY} + - HTTP_PROXY=${HTTP_PROXY:-} + - NO_PROXY=${NO_PROXY:-} + image: envyafish/byte-muse:1.5.3 labels: createdBy: Apps networks: diff --git a/dockge/auto-lady_1_4_5/.env b/dockge/auto-lady_1_4_5/.env new file mode 100644 index 000000000..a6f1eb1e9 --- /dev/null +++ b/dockge/auto-lady_1_4_5/.env @@ -0,0 +1,15 @@ +# 数据持久化路径 [必填] +AUTO_LADY_ROOT_PATH=/home/auto-lady + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/dockge/auto-lady_1_4_5/docker-compose.yml b/dockge/auto-lady_1_4_5/docker-compose.yml new file mode 100644 index 000000000..40b13df53 --- /dev/null +++ b/dockge/auto-lady_1_4_5/docker-compose.yml @@ -0,0 +1,22 @@ +networks: + 1panel-network: + external: true +services: + auto-lady: + container_name: auto-lady + env_file: + - ./envs/global.env + - .env + image: orekiiiiiiiiiiiii/auto-lady:1.4.5 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + volumes: + - ${AUTO_LADY_ROOT_PATH}/config:/data + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/auto-lady_1_5_3/envs/default.env b/dockge/auto-lady_1_4_5/envs/default.env similarity index 100% rename from dockge/auto-lady_1_5_3/envs/default.env rename to dockge/auto-lady_1_4_5/envs/default.env diff --git a/dockge/auto-lady_1_5_3/envs/global.env b/dockge/auto-lady_1_4_5/envs/global.env similarity index 100% rename from dockge/auto-lady_1_5_3/envs/global.env rename to dockge/auto-lady_1_4_5/envs/global.env diff --git a/dockge/bili-fetcher/docker-compose.yml b/dockge/bili-fetcher/docker-compose.yml index c68c76b14..d6ac7c0ac 100644 --- a/dockge/bili-fetcher/docker-compose.yml +++ b/dockge/bili-fetcher/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:latest + image: qyg2297248353/bili-fetcher:v1.6.0 networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:latest + image: qyg2297248353/bili-fetcher-web:v1.6.0 labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_0/.env b/dockge/bili-fetcher_latest/.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/.env rename to dockge/bili-fetcher_latest/.env diff --git a/dockge/bili-fetcher_1_6_0/config/categories.json b/dockge/bili-fetcher_latest/config/categories.json similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/categories.json rename to dockge/bili-fetcher_latest/config/categories.json diff --git a/dockge/bili-fetcher_1_6_0/config/config.yaml b/dockge/bili-fetcher_latest/config/config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/config.yaml rename to dockge/bili-fetcher_latest/config/config.yaml diff --git a/dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml b/dockge/bili-fetcher_latest/config/scheduler_config.yaml similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/scheduler_config.yaml rename to dockge/bili-fetcher_latest/config/scheduler_config.yaml diff --git a/dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py b/dockge/bili-fetcher_latest/config/sql_statements_mysql.py similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/sql_statements_mysql.py rename to dockge/bili-fetcher_latest/config/sql_statements_mysql.py diff --git a/dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py b/dockge/bili-fetcher_latest/config/sql_statements_sqlite.py similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/sql_statements_sqlite.py rename to dockge/bili-fetcher_latest/config/sql_statements_sqlite.py diff --git a/dockge/bili-fetcher_1_6_0/config/template.html b/dockge/bili-fetcher_latest/config/template.html similarity index 100% rename from dockge/bili-fetcher_1_6_0/config/template.html rename to dockge/bili-fetcher_latest/config/template.html diff --git a/dockge/bili-fetcher_1_6_0/docker-compose.yml b/dockge/bili-fetcher_latest/docker-compose.yml similarity index 88% rename from dockge/bili-fetcher_1_6_0/docker-compose.yml rename to dockge/bili-fetcher_latest/docker-compose.yml index d6ac7c0ac..c68c76b14 100644 --- a/dockge/bili-fetcher_1_6_0/docker-compose.yml +++ b/dockge/bili-fetcher_latest/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - DOCKER_ENV=true - image: qyg2297248353/bili-fetcher:v1.6.0 + image: qyg2297248353/bili-fetcher:latest networks: - 1panel-network ports: @@ -26,7 +26,7 @@ services: environment: - BACKEND_URL=http://bili-fetcher-api:8899 - TZ=Asia/Shanghai - image: qyg2297248353/bili-fetcher-web:v1.6.0 + image: qyg2297248353/bili-fetcher-web:latest labels: createdBy: Apps networks: diff --git a/dockge/bili-fetcher_1_6_0/envs/default.env b/dockge/bili-fetcher_latest/envs/default.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/envs/default.env rename to dockge/bili-fetcher_latest/envs/default.env diff --git a/dockge/bili-fetcher_1_6_0/envs/global.env b/dockge/bili-fetcher_latest/envs/global.env similarity index 100% rename from dockge/bili-fetcher_1_6_0/envs/global.env rename to dockge/bili-fetcher_latest/envs/global.env diff --git a/dockge/byte-muse/.env b/dockge/byte-muse/.env index 7198039bd..e633719fd 100644 --- a/dockge/byte-muse/.env +++ b/dockge/byte-muse/.env @@ -1,21 +1,3 @@ -# 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/byte-muse - # WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=8080 - -# 自定义挂载目录 1 -CUSTOM_MOUNT_DIRECTORY_1= - -# 自定义挂载目录 2 -CUSTOM_MOUNT_DIRECTORY_2= - -# 自定义挂载目录 3 -CUSTOM_MOUNT_DIRECTORY_3= - -# 网络代理地址 -HTTP_PROXY= - -# 跳过代理地址 -NO_PROXY=localhost,127.0.0.1,::1,192.168.0.0/16,10.0.0.0/8,*.local +PANEL_APP_PORT_HTTP=5000 diff --git a/dockge/byte-muse/docker-compose.yml b/dockge/byte-muse/docker-compose.yml index 3eb8188b7..e70ac8e43 100644 --- a/dockge/byte-muse/docker-compose.yml +++ b/dockge/byte-muse/docker-compose.yml @@ -2,25 +2,13 @@ networks: 1panel-network: external: true services: - auto-lady: + byte-muse-license: container_name: byte-muse - env_file: - - ./envs/global.env - - .env - environment: - - HTTPS_PROXY=${HTTP_PROXY} - - HTTP_PROXY=${HTTP_PROXY:-} - - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.11.8 + image: envyafish/byte-muse-license:latest labels: createdBy: Apps networks: - 1panel-network ports: - - ${PANEL_APP_PORT_HTTP}:80 + - ${PANEL_APP_PORT_HTTP}:5000 restart: always - volumes: - - ${AUTO_LADY_ROOT_PATH}/config:/data - - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} - - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} - - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/auto-lady_1_5_3/.env b/dockge/byte-muse_1_11_8/.env similarity index 91% rename from dockge/auto-lady_1_5_3/.env rename to dockge/byte-muse_1_11_8/.env index 3258da058..7198039bd 100644 --- a/dockge/auto-lady_1_5_3/.env +++ b/dockge/byte-muse_1_11_8/.env @@ -1,5 +1,5 @@ # 数据持久化路径 [必填] -AUTO_LADY_ROOT_PATH=/home/auto-lady +AUTO_LADY_ROOT_PATH=/home/byte-muse # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=8080 diff --git a/dockge/auto-lady_1_5_3/docker-compose.yml b/dockge/byte-muse_1_11_8/docker-compose.yml similarity index 91% rename from dockge/auto-lady_1_5_3/docker-compose.yml rename to dockge/byte-muse_1_11_8/docker-compose.yml index d9c6c701e..3eb8188b7 100644 --- a/dockge/auto-lady_1_5_3/docker-compose.yml +++ b/dockge/byte-muse_1_11_8/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: auto-lady: - container_name: auto-lady + container_name: byte-muse env_file: - ./envs/global.env - .env @@ -11,7 +11,7 @@ services: - HTTPS_PROXY=${HTTP_PROXY} - HTTP_PROXY=${HTTP_PROXY:-} - NO_PROXY=${NO_PROXY:-} - image: envyafish/byte-muse:1.5.3 + image: envyafish/byte-muse:1.11.8 labels: createdBy: Apps networks: diff --git a/dockge/byte-muse_license/envs/default.env b/dockge/byte-muse_1_11_8/envs/default.env similarity index 100% rename from dockge/byte-muse_license/envs/default.env rename to dockge/byte-muse_1_11_8/envs/default.env diff --git a/dockge/byte-muse_license/envs/global.env b/dockge/byte-muse_1_11_8/envs/global.env similarity index 100% rename from dockge/byte-muse_license/envs/global.env rename to dockge/byte-muse_1_11_8/envs/global.env diff --git a/dockge/byte-muse_license/.env b/dockge/byte-muse_license/.env deleted file mode 100644 index e633719fd..000000000 --- a/dockge/byte-muse_license/.env +++ /dev/null @@ -1,3 +0,0 @@ -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=5000 - diff --git a/dockge/byte-muse_license/docker-compose.yml b/dockge/byte-muse_license/docker-compose.yml deleted file mode 100644 index e70ac8e43..000000000 --- a/dockge/byte-muse_license/docker-compose.yml +++ /dev/null @@ -1,14 +0,0 @@ -networks: - 1panel-network: - external: true -services: - byte-muse-license: - container_name: byte-muse - image: envyafish/byte-muse-license:latest - labels: - createdBy: Apps - networks: - - 1panel-network - ports: - - ${PANEL_APP_PORT_HTTP}:5000 - restart: always diff --git a/dockge/emby/docker-compose.yml b/dockge/emby/docker-compose.yml index e2d892aa1..a461e63ac 100644 --- a/dockge/emby/docker-compose.yml +++ b/dockge/emby/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.8.11.0 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_8_11_0/.env b/dockge/emby_4_9_1_1/.env similarity index 100% rename from dockge/emby_4_8_11_0/.env rename to dockge/emby_4_9_1_1/.env diff --git a/dockge/emby_4_8_11_0/docker-compose.yml b/dockge/emby_4_9_1_1/docker-compose.yml similarity index 96% rename from dockge/emby_4_8_11_0/docker-compose.yml rename to dockge/emby_4_9_1_1/docker-compose.yml index a461e63ac..e2d892aa1 100644 --- a/dockge/emby_4_8_11_0/docker-compose.yml +++ b/dockge/emby_4_9_1_1/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.8.11.0 + image: emby/embyserver:4.9.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_8_11_0/envs/default.env b/dockge/emby_4_9_1_1/envs/default.env similarity index 100% rename from dockge/emby_4_8_11_0/envs/default.env rename to dockge/emby_4_9_1_1/envs/default.env diff --git a/dockge/emby_4_8_11_0/envs/global.env b/dockge/emby_4_9_1_1/envs/global.env similarity index 100% rename from dockge/emby_4_8_11_0/envs/global.env rename to dockge/emby_4_9_1_1/envs/global.env diff --git a/dockge/homarr/.env b/dockge/homarr/.env index 39cbf2014..ab5a7db42 100644 --- a/dockge/homarr/.env +++ b/dockge/homarr/.env @@ -4,6 +4,3 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 -# 密钥 [必填] -SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 - diff --git a/dockge/homarr/docker-compose.yml b/dockge/homarr/docker-compose.yml index c9303a621..3b26c2c66 100644 --- a/dockge/homarr/docker-compose.yml +++ b/dockge/homarr/docker-compose.yml @@ -16,4 +16,6 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/appdata:/appdata + - ${HOMARR_ROOT_PATH}/configs:/app/data/configs + - ${HOMARR_ROOT_PATH}/icons:/app/public/icons + - ${HOMARR_ROOT_PATH}/data:/data diff --git a/dockge/homarr_0_15_10/.env b/dockge/homarr_1_18_1/.env similarity index 52% rename from dockge/homarr_0_15_10/.env rename to dockge/homarr_1_18_1/.env index ab5a7db42..39cbf2014 100644 --- a/dockge/homarr_0_15_10/.env +++ b/dockge/homarr_1_18_1/.env @@ -4,3 +4,6 @@ HOMARR_ROOT_PATH=/home/homarr # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=7575 +# 密钥 [必填] +SECRET_ENCRYPTION_KEY=b7fa3f6f09ac8084ca03b94589d799e6a9225212e8f691c6b419a139acf412c7 + diff --git a/dockge/homarr_0_15_10/docker-compose.yml b/dockge/homarr_1_18_1/docker-compose.yml similarity index 73% rename from dockge/homarr_0_15_10/docker-compose.yml rename to dockge/homarr_1_18_1/docker-compose.yml index 3b26c2c66..c9303a621 100644 --- a/dockge/homarr_0_15_10/docker-compose.yml +++ b/dockge/homarr_1_18_1/docker-compose.yml @@ -16,6 +16,4 @@ services: restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${HOMARR_ROOT_PATH}/configs:/app/data/configs - - ${HOMARR_ROOT_PATH}/icons:/app/public/icons - - ${HOMARR_ROOT_PATH}/data:/data + - ${HOMARR_ROOT_PATH}/appdata:/appdata diff --git a/dockge/homarr_0_15_10/envs/default.env b/dockge/homarr_1_18_1/envs/default.env similarity index 100% rename from dockge/homarr_0_15_10/envs/default.env rename to dockge/homarr_1_18_1/envs/default.env diff --git a/dockge/homarr_0_15_10/envs/global.env b/dockge/homarr_1_18_1/envs/global.env similarity index 100% rename from dockge/homarr_0_15_10/envs/global.env rename to dockge/homarr_1_18_1/envs/global.env diff --git a/dockge/immich-machine-learning/docker-compose.yml b/dockge/immich-machine-learning/docker-compose.yml index 0c0530ffe..8aa758179 100644 --- a/dockge/immich-machine-learning/docker-compose.yml +++ b/dockge/immich-machine-learning/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_135_3/.env b/dockge/immich-machine-learning_1_132_3/.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/.env rename to dockge/immich-machine-learning_1_132_3/.env diff --git a/dockge/immich-machine-learning_1_135_3/docker-compose.yml b/dockge/immich-machine-learning_1_132_3/docker-compose.yml similarity index 87% rename from dockge/immich-machine-learning_1_135_3/docker-compose.yml rename to dockge/immich-machine-learning_1_132_3/docker-compose.yml index 8aa758179..0c0530ffe 100644 --- a/dockge/immich-machine-learning_1_135_3/docker-compose.yml +++ b/dockge/immich-machine-learning_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-machine-learning_1_135_3/envs/default.env b/dockge/immich-machine-learning_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/envs/default.env rename to dockge/immich-machine-learning_1_132_3/envs/default.env diff --git a/dockge/immich-machine-learning_1_135_3/envs/global.env b/dockge/immich-machine-learning_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-machine-learning_1_135_3/envs/global.env rename to dockge/immich-machine-learning_1_132_3/envs/global.env diff --git a/dockge/immich-no-machine/docker-compose.yml b/dockge/immich-no-machine/docker-compose.yml index 0ad713e57..b174763a8 100644 --- a/dockge/immich-no-machine/docker-compose.yml +++ b/dockge/immich-no-machine/docker-compose.yml @@ -4,36 +4,13 @@ networks: external: true services: immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -52,7 +29,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_135_3/.env b/dockge/immich-no-machine_1_132_3/.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/.env rename to dockge/immich-no-machine_1_132_3/.env diff --git a/dockge/immich-no-machine_1_135_3/docker-compose.yml b/dockge/immich-no-machine_1_132_3/docker-compose.yml similarity index 54% rename from dockge/immich-no-machine_1_135_3/docker-compose.yml rename to dockge/immich-no-machine_1_132_3/docker-compose.yml index b174763a8..0ad713e57 100644 --- a/dockge/immich-no-machine_1_135_3/docker-compose.yml +++ b/dockge/immich-no-machine_1_132_3/docker-compose.yml @@ -4,13 +4,36 @@ networks: external: true services: immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich-no-machine environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -29,7 +52,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-no-machine_1_135_3/envs/default.env b/dockge/immich-no-machine_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/envs/default.env rename to dockge/immich-no-machine_1_132_3/envs/default.env diff --git a/dockge/immich-no-machine_1_135_3/envs/global.env b/dockge/immich-no-machine_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-no-machine_1_135_3/envs/global.env rename to dockge/immich-no-machine_1_132_3/envs/global.env diff --git a/dockge/immich-server/docker-compose.yml b/dockge/immich-server/docker-compose.yml index 1f7695a07..a6a472d9a 100644 --- a/dockge/immich-server/docker-compose.yml +++ b/dockge/immich-server/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_135_3/.env b/dockge/immich-server_1_132_3/.env similarity index 100% rename from dockge/immich-server_1_135_3/.env rename to dockge/immich-server_1_132_3/.env diff --git a/dockge/immich-server_1_135_3/docker-compose.yml b/dockge/immich-server_1_132_3/docker-compose.yml similarity index 89% rename from dockge/immich-server_1_135_3/docker-compose.yml rename to dockge/immich-server_1_132_3/docker-compose.yml index a6a472d9a..1f7695a07 100644 --- a/dockge/immich-server_1_135_3/docker-compose.yml +++ b/dockge/immich-server_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich-server_1_135_3/envs/default.env b/dockge/immich-server_1_132_3/envs/default.env similarity index 100% rename from dockge/immich-server_1_135_3/envs/default.env rename to dockge/immich-server_1_132_3/envs/default.env diff --git a/dockge/immich-server_1_135_3/envs/global.env b/dockge/immich-server_1_132_3/envs/global.env similarity index 100% rename from dockge/immich-server_1_135_3/envs/global.env rename to dockge/immich-server_1_132_3/envs/global.env diff --git a/dockge/immich/docker-compose.yml b/dockge/immich/docker-compose.yml index 44a2398ec..680035b9c 100644 --- a/dockge/immich/docker-compose.yml +++ b/dockge/immich/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 labels: createdBy: Apps networks: @@ -21,36 +21,13 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: - command: - - postgres - - -c - - shared_preload_libraries=vectors.so - - -c - - search_path="$$user", public, vectors - - -c - - logging_collector=on - - -c - - max_wal_size=2GB - - -c - - shared_buffers=512MB - - -c - - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - healthcheck: - interval: 5m - start_interval: 30s - start_period: 5m - test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' - --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), - 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ - "$$Chksum" = '0' ] || exit 1 - image: tensorchord/pgvecto-rs:pg14-v0.2.0 + image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 labels: createdBy: Apps networks: @@ -68,7 +45,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.132.3 + image: ghcr.io/immich-app/immich-server:v1.135.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_135_3/.env b/dockge/immich_1_132_3/.env similarity index 100% rename from dockge/immich_1_135_3/.env rename to dockge/immich_1_132_3/.env diff --git a/dockge/immich_1_135_3/docker-compose.yml b/dockge/immich_1_132_3/docker-compose.yml similarity index 59% rename from dockge/immich_1_135_3/docker-compose.yml rename to dockge/immich_1_132_3/docker-compose.yml index 680035b9c..44a2398ec 100644 --- a/dockge/immich_1_135_3/docker-compose.yml +++ b/dockge/immich_1_132_3/docker-compose.yml @@ -10,7 +10,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-machine-learning:v1.135.3 + image: ghcr.io/immich-app/immich-machine-learning:v1.132.3 labels: createdBy: Apps networks: @@ -21,13 +21,36 @@ services: volumes: - ${IMMICH_ROOT_PATH}/data/cache:/cache immich-pg14-vectors: + command: + - postgres + - -c + - shared_preload_libraries=vectors.so + - -c + - search_path="$$user", public, vectors + - -c + - logging_collector=on + - -c + - max_wal_size=2GB + - -c + - shared_buffers=512MB + - -c + - wal_compression=on container_name: pg14-vectors-immich environment: POSTGRES_DB: ${DB_DATABASE_NAME:-immich} POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME:-postgres} - image: ghcr.io/immich-app/postgres:14-vectorchord0.4.1-pgvectors0.2.0 + healthcheck: + interval: 5m + start_interval: 30s + start_period: 5m + test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' + --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), + 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ + "$$Chksum" = '0' ] || exit 1 + image: tensorchord/pgvecto-rs:pg14-v0.2.0 labels: createdBy: Apps networks: @@ -45,7 +68,7 @@ services: env_file: - ./envs/global.env - .env - image: ghcr.io/immich-app/immich-server:v1.135.3 + image: ghcr.io/immich-app/immich-server:v1.132.3 labels: createdBy: Apps networks: diff --git a/dockge/immich_1_135_3/envs/default.env b/dockge/immich_1_132_3/envs/default.env similarity index 100% rename from dockge/immich_1_135_3/envs/default.env rename to dockge/immich_1_132_3/envs/default.env diff --git a/dockge/immich_1_135_3/envs/global.env b/dockge/immich_1_132_3/envs/global.env similarity index 100% rename from dockge/immich_1_135_3/envs/global.env rename to dockge/immich_1_132_3/envs/global.env diff --git a/dockge/postgresql/docker-compose.yml b/dockge/postgresql/docker-compose.yml index 6826af067..aad82d79a 100644 --- a/dockge/postgresql/docker-compose.yml +++ b/dockge/postgresql/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: pg16-alpine-postgresql + container_name: postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16-alpine + image: postgres:16.9-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_16_9-alpine/.env b/dockge/postgresql_pg16-alpine/.env similarity index 100% rename from dockge/postgresql_16_9-alpine/.env rename to dockge/postgresql_pg16-alpine/.env diff --git a/dockge/postgresql_16_9-alpine/docker-compose.yml b/dockge/postgresql_pg16-alpine/docker-compose.yml similarity index 87% rename from dockge/postgresql_16_9-alpine/docker-compose.yml rename to dockge/postgresql_pg16-alpine/docker-compose.yml index aad82d79a..6826af067 100644 --- a/dockge/postgresql_16_9-alpine/docker-compose.yml +++ b/dockge/postgresql_pg16-alpine/docker-compose.yml @@ -3,7 +3,7 @@ networks: external: true services: postgresql: - container_name: postgresql + container_name: pg16-alpine-postgresql env_file: - ./envs/global.env - .env @@ -12,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: --data-checksums POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_USER: ${POSTGRES_USER:-postgres} - image: postgres:16.9-alpine + image: postgres:16-alpine labels: createdBy: Apps networks: diff --git a/dockge/postgresql_16_9-alpine/envs/default.env b/dockge/postgresql_pg16-alpine/envs/default.env similarity index 100% rename from dockge/postgresql_16_9-alpine/envs/default.env rename to dockge/postgresql_pg16-alpine/envs/default.env diff --git a/dockge/postgresql_16_9-alpine/envs/global.env b/dockge/postgresql_pg16-alpine/envs/global.env similarity index 100% rename from dockge/postgresql_16_9-alpine/envs/global.env rename to dockge/postgresql_pg16-alpine/envs/global.env diff --git a/dockge/qbittorrent/docker-compose.yml b/dockge/qbittorrent/docker-compose.yml index 5ec4b458b..5dd224da4 100644 --- a/dockge/qbittorrent/docker-compose.yml +++ b/dockge/qbittorrent/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:4.6.7 + image: linuxserver/qbittorrent:5.1.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_1/.env b/dockge/qbittorrent_4_6_7/.env similarity index 100% rename from dockge/qbittorrent_5_1_1/.env rename to dockge/qbittorrent_4_6_7/.env diff --git a/dockge/qbittorrent_5_1_1/docker-compose.yml b/dockge/qbittorrent_4_6_7/docker-compose.yml similarity index 95% rename from dockge/qbittorrent_5_1_1/docker-compose.yml rename to dockge/qbittorrent_4_6_7/docker-compose.yml index 5dd224da4..5ec4b458b 100644 --- a/dockge/qbittorrent_5_1_1/docker-compose.yml +++ b/dockge/qbittorrent_4_6_7/docker-compose.yml @@ -12,7 +12,7 @@ services: - UMASK=022 - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_APP_PORT_TORRENTING} - image: linuxserver/qbittorrent:5.1.1 + image: linuxserver/qbittorrent:4.6.7 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qbittorrent_5_1_1/envs/default.env b/dockge/qbittorrent_4_6_7/envs/default.env similarity index 100% rename from dockge/qbittorrent_5_1_1/envs/default.env rename to dockge/qbittorrent_4_6_7/envs/default.env diff --git a/dockge/qbittorrent_5_1_1/envs/global.env b/dockge/qbittorrent_4_6_7/envs/global.env similarity index 100% rename from dockge/qbittorrent_5_1_1/envs/global.env rename to dockge/qbittorrent_4_6_7/envs/global.env diff --git a/dockge/redis/config/redis.conf b/dockge/redis/config/redis.conf index 8795ae291..ca22ec9f6 100644 --- a/dockge/redis/config/redis.conf +++ b/dockge/redis/config/redis.conf @@ -32,17 +32,8 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # -# Included paths may contain wildcards. All files matching the wildcards will -# be included in alphabetical order. -# Note that if an include path contains a wildcards but no files match it when -# the server is started, the include statement will be ignored and no error will -# be emitted. It is safe, therefore, to include wildcard files from empty -# directories. -# # include /path/to/local.conf # include /path/to/other.conf -# include /path/to/fragments/*.conf -# ################################## MODULES ##################################### @@ -58,81 +49,43 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. -# Each address can be prefixed by "-", which means that redis will not fail to -# start if the address is not available. Being not available only refers to -# addresses that does not correspond to any network interface. Addresses that -# are already in use will always fail, and unsupported protocols will always BE -# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses -# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 -# bind * -::* # like the default, all available interfaces +# bind 192.168.1.100 10.0.0.1 +# bind 127.0.0.1 ::1 # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis -# will only be able to accept client connections from the same host that it is -# running on). +# IPv4 loopback interface address (this means Redis will only be able to +# accept client connections from the same host that it is running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# COMMENT OUT THE FOLLOWING LINE. -# -# You will also need to set a password unless you explicitly disable protected -# mode. +# JUST COMMENT OUT THE FOLLOWING LINE. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 -# By default, outgoing connections (from replica to master, from Sentinel to -# instances, cluster bus, etc.) are not bound to a specific local address. In -# most cases, this means the operating system will handle that based on routing -# and the interface through which the connection goes out. -# -# Using bind-source-addr it is possible to configure a specific address to bind -# to, which may also affect how the connection gets routed. -# -# Example: -# -# bind-source-addr 10.0.0.1 - # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and the default user has no password, the server -# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address -# (::1) or Unix domain sockets. +# When protected mode is on and if: +# +# 1) The server is not binding explicitly to a set of addresses using the +# "bind" directive. +# 2) No password is configured. +# +# The server only accepts connections from clients connecting from the +# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain +# sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured. +# even if no authentication is configured, nor a specific set of interfaces +# are explicitly listed using the "bind" directive. protected-mode yes -# Redis uses default hardened security configuration directives to reduce the -# attack surface on innocent users. Therefore, several sensitive configuration -# directives are immutable, and some potentially-dangerous commands are blocked. -# -# Configuration directives that control files that Redis writes to (e.g., 'dir' -# and 'dbfilename') and that aren't usually modified during runtime -# are protected by making them immutable. -# -# Commands that can increase the attack surface of Redis and that aren't usually -# called by users are blocked by default. -# -# These can be exposed to either all connections or just local ones by setting -# each of the configs listed below to either of these values: -# -# no - Block for any connection (remain immutable) -# yes - Allow for any connection (no protection) -# local - Allow only for local connections. Ones originating from the -# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. -# -# enable-protected-configs no -# enable-debug-command no -# enable-module-command no - # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -152,7 +105,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /run/redis.sock +# unixsocket /tmp/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -175,16 +128,6 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 -# Apply OS-specific mechanism to mark the listening socket with the specified -# ID, to support advanced routing and filtering capabilities. -# -# On Linux, the ID represents a connection mark. -# On FreeBSD, the ID represents a socket cookie ID. -# On OpenBSD, the ID represents a route table ID. -# -# The default value is 0, which implies no marking is required. -# socket-mark-id 0 - ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -200,32 +143,8 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-key-file-pass secret -# Normally Redis uses the same certificate for both server functions (accepting -# connections) and client functions (replicating from a master, establishing -# cluster bus connections, etc.). -# -# Sometimes certificates are issued with attributes that designate them as -# client-only or server-only certificates. In that case it may be desired to use -# different certificates for incoming (server) and outgoing (client) -# connections. To do that, use the following directives: -# -# tls-client-cert-file client.crt -# tls-client-key-file client.key -# -# If the key file is encrypted using a passphrase, it can be included here -# as well. -# -# tls-client-key-file-pass secret - -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, -# required by older versions of OpenSSL (<3.0). Newer versions do not require -# this configuration and recommend against it. +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: # # tls-dh-params-file redis.dh @@ -258,12 +177,9 @@ tcp-keepalive 300 # # tls-cluster yes -# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended -# that older formally deprecated versions are kept disabled to reduce the attack surface. -# You can explicitly specify TLS versions to support. -# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", -# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. -# To enable only TLSv1.2 and TLSv1.3, use: +# Explicitly specify TLS versions to support. Allowed values are case insensitive +# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or +# any combination. To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -305,7 +221,6 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. -# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -314,17 +229,11 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET -# on startup, and updating Redis status on a regular -# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -# -# The default is "no". To run under upstart/systemd, you can simply uncomment -# the line below: -# -# supervised auto +supervised no # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -335,9 +244,6 @@ daemonize no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. -# -# Note that on modern Linux systems "/run/redis.pid" is more conforming -# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -363,74 +269,44 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 -# To disable the built in crash log, which will possibly produce cleaner core -# dumps when they are needed, uncomment the following: -# -# crash-log-enabled no - -# To disable the fast memory check that's run as part of the crash log, which -# will possibly let redis terminate sooner, uncomment the following: -# -# crash-memcheck-enabled no - # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY and syslog logging is -# disabled. Basically this means that normally a logo is displayed only in -# interactive sessions. +# standard output and if the standard output is a TTY. Basically this means +# that normally a logo is displayed only in interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo no - -# By default, Redis modifies the process title (as seen in 'top' and 'ps') to -# provide some runtime information. It is possible to disable this and leave -# the process name as executed by setting the following to no. -set-proc-title yes - -# When changing the process title, Redis uses the following template to construct -# the modified title. -# -# Template variables are specified in curly brackets. The following variables are -# supported: -# -# {title} Name of process as executed if parent, or type of child process. -# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or -# Unix socket if only that's available. -# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". -# {port} TCP port listening on, or 0. -# {tls-port} TLS port listening on, or 0. -# {unixsocket} Unix domain socket listening on, or "". -# {config-file} Name of configuration file used. -# -proc-title-template "{title} {listen-addr} {server-mode}" +always-show-logo yes ################################ SNAPSHOTTING ################################ +# +# Save the DB on disk: +# +# save +# +# Will save the DB if both the given number of seconds and the given +# number of write operations against the DB occurred. +# +# In the example below the behavior will be to save: +# after 900 sec (15 min) if at least 1 key changed +# after 300 sec (5 min) if at least 10 keys changed +# after 60 sec if at least 10000 keys changed +# +# Note: you can disable saving completely by commenting out all "save" lines. +# +# It is also possible to remove all the previously configured save +# points by adding a save directive with a single empty string argument +# like in the following example: +# +# save "" -# Save the DB to disk. -# -# save [ ...] -# -# Redis will save the DB if the given number of seconds elapsed and it -# surpassed the given number of write operations against the DB. -# -# Snapshotting can be completely disabled with a single empty string argument -# as in following example: -# -# save "" -# -# Unless specified otherwise, by default Redis will save the DB: -# * After 3600 seconds (an hour) if at least 1 change was performed -# * After 300 seconds (5 minutes) if at least 100 changes were performed -# * After 60 seconds if at least 10000 changes were performed -# -# You can set these explicitly by uncommenting the following line. -# -# save 3600 1 300 100 60 10000 +save 900 1 +save 300 10 +save 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -462,21 +338,6 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes -# Enables or disables full sanitization checks for ziplist and listpack etc when -# loading an RDB or RESTORE payload. This reduces the chances of a assertion or -# crash later on while processing commands. -# Options: -# no - Never perform full sanitization -# yes - Always perform full sanitization -# clients - Perform full sanitization only for user connections. -# Excludes: RDB files, RESTORE commands received from the master -# connection, and client connections which have the -# skip-sanitize-payload ACL flag. -# The default should be 'clients' but since it currently affects cluster -# resharding via MIGRATE, it is temporarily set to 'no' by default. -# -# sanitize-dump-payload no - # The filename where to dump the DB dbfilename dump.rdb @@ -551,10 +412,9 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error -# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" -# to all data access commands, excluding commands such as: -# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with +# an error "SYNC with master in progress" to all commands except: +# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -603,7 +463,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync yes +repl-diskless-sync no # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -617,18 +477,12 @@ repl-diskless-sync yes # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 -# When diskless replication is enabled with a delay, it is possible to let -# the replication start before the maximum delay is reached if the maximum -# number of replicas expected have connected. Default of 0 means that the -# maximum is not defined and Redis will wait the full delay. -repl-diskless-sync-max-replicas 0 - # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if you know what you are doing. +# stage with the master. Use only if your do what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -637,23 +491,19 @@ repl-diskless-sync-max-replicas 0 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and replica buffers). +# Copy on Write memory and salve buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep current db contents in RAM while parsing the data directly -# from the socket. Replicas in this mode can keep serving current -# data set while replication is in progress, except for cases where -# they can't recognize master as having a data set from same -# replication history. -# Note that this requires sufficient memory, if you don't have it, -# you risk an OOM kill. +# "swapdb" - Keep a copy of the current db contents in RAM while parsing +# the data directly from the socket. note that this requires +# sufficient memory, if you don't have it, you risk an OOM kill. repl-diskless-load disabled -# Master send PINGs to its replicas in a predefined interval. It's possible to +# Replicas send PINGs to server in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -728,43 +578,6 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 -# The propagation error behavior controls how Redis will behave when it is -# unable to handle a command being processed in the replication stream from a master -# or processed while reading from an AOF file. Errors that occur during propagation -# are unexpected, and can cause data inconsistency. However, there are edge cases -# in earlier versions of Redis where it was possible for the server to replicate or persist -# commands that would fail on future versions. For this reason the default behavior -# is to ignore such errors and continue processing commands. -# -# If an application wants to ensure there is no data divergence, this configuration -# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' -# to only panic when a replica encounters an error on the replication stream. One of -# these two panic values will become the default value in the future once there are -# sufficient safety mechanisms in place to prevent false positive crashes. -# -# propagation-error-behavior ignore - -# Replica ignore disk write errors controls the behavior of a replica when it is -# unable to persist a write command received from its master to disk. By default, -# this configuration is set to 'no' and will crash the replica in this condition. -# It is not recommended to change this default, however in order to be compatible -# with older versions of Redis this config can be toggled to 'yes' which will just -# log a warning and execute the write command it got from the master. -# -# replica-ignore-disk-write-errors no - -# ----------------------------------------------------------------------------- -# By default, Redis Sentinel includes all replicas in its reports. A replica -# can be excluded from Redis Sentinel's announcements. An unannounced replica -# will be ignored by the 'sentinel replicas ' command and won't be -# exposed to Redis Sentinel's clients. -# -# This option does not change the behavior of replica-priority. Even with -# replica-announced set to 'no', the replica can be promoted to master. To -# prevent this behavior, set replica-priority to 0. -# -# replica-announced yes - # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -820,7 +633,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# a radix key indexed by key name, what clients have which keys. In turn +# 16 millions of slots, what clients may have certain subsets of keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -884,12 +697,8 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. -# sanitize-payload RESTORE dump-payload is sanitized (default). -# + Allow the execution of that command. -# May be used with `|` for allowing subcommands (e.g "+config|get") -# - Disallow the execution of that command. -# May be used with `|` for blocking subcommands (e.g "-config|set") +# + Allow the execution of that command +# - Disallow the execution of that command # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -897,11 +706,10 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|first-arg Allow a specific first argument of an otherwise -# disabled command. It is only supported on commands with -# no sub-commands, and is not allowed as negative form -# like -SELECT|1, only additive starting with "+". This -# feature is deprecated and may be removed in the future. +# +|subcommand Allow a specific subcommand of an otherwise +# disabled command. Note that this form is not +# allowed as negative like -DEBUG|SEGFAULT, but +# only additive starting with "+". # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -909,17 +717,8 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. -# %R~ Add key read pattern that specifies which keys can be read -# from. -# %W~ Add key write pattern that specifies which keys can be -# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. -# & Add a glob-style pattern of Pub/Sub channels that can be -# accessed by the user. It is possible to specify multiple channel -# patterns. -# allchannels Alias for &* -# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -938,14 +737,6 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. -# () Create a new selector with the options specified within the -# parentheses and attach it to the user. Each option should be -# space separated. The first character must be ( and the last -# character must be ). -# clearselectors Remove all of the currently attached selectors. -# Note this does not change the "root" user permissions, -# which are the permissions directly applied onto the -# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -967,40 +758,6 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # -# The following is a list of command categories and their meanings: -# * keyspace - Writing or reading from keys, databases, or their metadata -# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, -# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, -# key or metadata will also have `write` category. Commands that only read -# the keyspace, key or metadata will have the `read` category. -# * read - Reading from keys (values or metadata). Note that commands that don't -# interact with keys, will not have either `read` or `write`. -# * write - Writing to keys (values or metadata) -# * admin - Administrative commands. Normal applications will never need to use -# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. -# * dangerous - Potentially dangerous (each should be considered with care for -# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, -# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. -# * connection - Commands affecting the connection or other connections. -# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. -# * blocking - Potentially blocking the connection until released by another -# command. -# * fast - Fast O(1) commands. May loop on the number of arguments, but not the -# number of elements in the key. -# * slow - All commands that are not Fast. -# * pubsub - PUBLISH / SUBSCRIBE related -# * transaction - WATCH / MULTI / EXEC related commands. -# * scripting - Scripting related. -# * set - Data type: sets related. -# * sortedset - Data type: zsets related. -# * list - Data type: lists related. -# * hash - Data type: hashes related. -# * string - Data type: strings related. -# * bitmap - Data type: bitmaps related. -# * hyperloglog - Data type: hyperloglog related. -# * geo - Data type: geo related. -# * stream - Data type: streams related. -# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -1030,24 +787,8 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # -# The requirepass is not compatible with aclfile option and the ACL LOAD -# command, these will cause requirepass to be ignored. -# # requirepass foobared -# New users are initialized with restrictive permissions by default, via the -# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it -# is possible to manage access to Pub/Sub channels with ACL rules as well. The -# default Pub/Sub channels permission if new users is controlled by the -# acl-pubsub-default configuration directive, which accepts one of these values: -# -# allchannels: grants access to all Pub/Sub channels -# resetchannels: revokes access to all Pub/Sub channels -# -# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. -# -# acl-pubsub-default resetchannels - # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -1136,12 +877,14 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, when there are no suitable keys for -# eviction, Redis will return an error on write operations that require -# more memory. These are usually commands that create new keys, add data or -# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, -# SORT (due to the STORE argument), and EXEC (if the transaction includes any -# command that requires memory). +# Note: with any of the above policies, Redis will return an error on write +# operations, when there are no suitable keys for eviction. +# +# At the date of writing these commands are: set setnx setex append +# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd +# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby +# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby +# getset mset msetnx exec sort # # The default is: # @@ -1158,14 +901,6 @@ acllog-max-len 128 # # maxmemory-samples 5 -# Eviction processing is designed to function well with the default setting. -# If there is an unusually large amount of write traffic, this value may need to -# be increased. Decreasing this value may reduce latency at the risk of -# eviction processing effectiveness -# 0 = minimum latency, 10 = default, 100 = process without regard to latency -# -# maxmemory-eviction-tenacity 10 - # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -1259,13 +994,6 @@ replica-lazy-flush no lazyfree-lazy-user-del no -# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous -# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the -# commands. When neither flag is passed, this directive will be used to determine -# if the data should be deleted asynchronously. - -lazyfree-lazy-user-flush no - ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1304,7 +1032,7 @@ lazyfree-lazy-user-flush no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Also, this feature currently does not work when SSL is +# CONFIG SET. Aso this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1322,7 +1050,7 @@ lazyfree-lazy-user-flush no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports these options: +# Redis supports three options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1343,19 +1071,6 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 - -#################### KERNEL transparent hugepage CONTROL ###################### - -# Usually the kernel Transparent Huge Pages control is set to "madvise" or -# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which -# case this config has no effect. On systems in which it is set to "always", -# redis will attempt to disable it specifically for the redis process in order -# to avoid latency problems specifically with fork(2) and CoW. -# If for some reason you prefer to keep it enabled, you can set this config to -# "no" and the kernel global to "always". - -disable-thp yes - ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1374,43 +1089,14 @@ disable-thp yes # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check https://redis.io/topics/persistence for more information. +# Please check http://redis.io/topics/persistence for more information. appendonly no -# The base name of the append only file. -# -# Redis 7 and newer use a set of append-only files to persist the dataset -# and changes applied to it. There are two basic types of files in use: -# -# - Base files, which are a snapshot representing the complete state of the -# dataset at the time the file was created. Base files can be either in -# the form of RDB (binary serialized) or AOF (textual commands). -# - Incremental files, which contain additional commands that were applied -# to the dataset following the previous file. -# -# In addition, manifest files are used to track the files and the order in -# which they were created and should be applied. -# -# Append-only file names are created by Redis following a specific pattern. -# The file name's prefix is based on the 'appendfilename' configuration -# parameter, followed by additional information about the sequence and type. -# -# For example, if appendfilename is set to appendonly.aof, the following file -# names could be derived: -# -# - appendonly.aof.1.base.rdb as a base file. -# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. -# - appendonly.aof.manifest as a manifest file. +# The name of the append only file (default: "appendonly.aof") appendfilename "appendonly.aof" -# For convenience, Redis stores all persistent append-only files in a dedicated -# directory. The name of the directory is determined by the appenddirname -# configuration parameter. - -appenddirname "appendonlydir" - # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1450,7 +1136,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync no". In practical terms, this means that it is +# the same as "appendfsync none". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1503,69 +1189,34 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# Redis can create append-only base files in either RDB or AOF formats. Using -# the RDB format is always faster and more efficient, and disabling it is only -# supported for backward compatibility purposes. +# When rewriting the AOF file, Redis is able to use an RDB preamble in the +# AOF file for faster rewrites and recoveries. When this option is turned +# on the rewritten AOF file is composed of two different stanzas: +# +# [RDB file][AOF tail] +# +# When loading, Redis recognizes that the AOF file starts with the "REDIS" +# string and loads the prefixed RDB file, then continues loading the AOF +# tail. aof-use-rdb-preamble yes -# Redis supports recording timestamp annotations in the AOF to support restoring -# the data from a specific point-in-time. However, using this capability changes -# the AOF format in a way that may not be compatible with existing AOF parsers. -aof-timestamp-enabled no +################################ LUA SCRIPTING ############################### -################################ SHUTDOWN ##################################### - -# Maximum time to wait for replicas when shutting down, in seconds. +# Max execution time of a Lua script in milliseconds. # -# During shut down, a grace period allows any lagging replicas to catch up with -# the latest replication offset before the master exists. This period can -# prevent data loss, especially for deployments without configured disk backups. +# If the maximum execution time is reached Redis will log that a script is +# still in execution after the maximum allowed time and will start to +# reply to queries with an error. # -# The 'shutdown-timeout' value is the grace period's duration in seconds. It is -# only applicable when the instance has replicas. To disable the feature, set -# the value to 0. +# When a long running script exceeds the maximum execution time only the +# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be +# used to stop a script that did not yet call any write commands. The second +# is the only way to shut down the server in the case a write command was +# already issued by the script but the user doesn't want to wait for the natural +# termination of the script. # -# shutdown-timeout 10 - -# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default -# an RDB snapshot is written to disk in a blocking operation if save points are configured. -# The options used on signaled shutdown can include the following values: -# default: Saves RDB snapshot only if save points are configured. -# Waits for lagging replicas to catch up. -# save: Forces a DB saving operation even if no save points are configured. -# nosave: Prevents DB saving operation even if one or more save points are configured. -# now: Skips waiting for lagging replicas. -# force: Ignores any errors that would normally prevent the server from exiting. -# -# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. -# Example: "nosave force now" -# -# shutdown-on-sigint default -# shutdown-on-sigterm default - -################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### - -# Maximum time in milliseconds for EVAL scripts, functions and in some cases -# modules' commands before Redis can start processing or rejecting other clients. -# -# If the maximum execution time is reached Redis will start to reply to most -# commands with a BUSY error. -# -# In this state Redis will only allow a handful of commands to be executed. -# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some -# module specific 'allow-busy' commands. -# -# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not -# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop -# the server in the case a write command was already issued by the script when -# the user doesn't want to wait for the natural termination of the script. -# -# The default is 5 seconds. It is possible to set it to 0 or a negative value -# to disable this mechanism (uninterrupted execution). Note that in the past -# this config had a different name, which is now an alias, so both of these do -# the same: -# lua-time-limit 5000 -# busy-reply-threshold 5000 +# Set it to 0 or a negative value for unlimited execution without warnings. +lua-time-limit 5000 ################################ REDIS CLUSTER ############################### @@ -1589,11 +1240,6 @@ aof-timestamp-enabled no # # cluster-node-timeout 15000 -# The cluster port is the port that the cluster bus will listen for inbound connections on. When set -# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires -# you to specify the cluster bus port when executing cluster meet. -# cluster-port 0 - # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1652,21 +1298,12 @@ aof-timestamp-enabled no # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value or -# set cluster-allow-replica-migration to 'no'. +# one replica). To disable migration just set it to a very large value. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 -# Turning off this option allows to use less automatic cluster configuration. -# It both disables migration to orphaned masters and migration from masters -# that became empty. -# -# Default is 'yes' (allow automatic migrations). -# -# cluster-allow-replica-migration yes - # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1681,7 +1318,7 @@ aof-timestamp-enabled no # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the replica can still perform a +# master during master failures. However the master can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1691,7 +1328,7 @@ aof-timestamp-enabled no # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# cluster is in a down state, as long as it believes it owns the slots. +# the cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1706,54 +1343,8 @@ aof-timestamp-enabled no # # cluster-allow-reads-when-down no -# This option, when set to yes, allows nodes to serve pubsub shard traffic while -# the cluster is in a down state, as long as it believes it owns the slots. -# -# This is useful if the application would like to use the pubsub feature even when -# the cluster global stable state is not OK. If the application wants to make sure only -# one shard is serving a given channel, this feature should be kept as yes. -# -# cluster-allow-pubsubshard-when-down yes - -# Cluster link send buffer limit is the limit on the memory usage of an individual -# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed -# this limit. This is to primarily prevent send buffers from growing unbounded on links -# toward slow peers (E.g. PubSub messages being piled up). -# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field -# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. -# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single -# PubSub message by default. (client-query-buffer-limit default value is 1gb) -# -# cluster-link-sendbuf-limit 0 - -# Clusters can configure their announced hostname using this config. This is a common use case for -# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based -# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS -# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is -# communicated along the clusterbus to all nodes, setting it to an empty string will remove -# the hostname and also propagate the removal. -# -# cluster-announce-hostname "" - -# Clusters can advertise how clients should connect to them using either their IP address, -# a user defined hostname, or by declaring they have no endpoint. Which endpoint is -# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type -# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how -# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. -# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' -# will be returned instead. -# -# When a cluster advertises itself as having an unknown endpoint, it's indicating that -# the server doesn't know how clients can reach the cluster. This can happen in certain -# networking situations where there are multiple possible routes to the node, and the -# server doesn't know which one the client took. In this case, the server is expecting -# the client to reach out on the same endpoint it used for making the last request, but use -# the port provided in the response. -# -# cluster-preferred-endpoint-type ip - # In order to setup your cluster make sure to read the documentation -# available at https://redis.io web site. +# available at http://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1763,21 +1354,16 @@ aof-timestamp-enabled no # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following four options are used for this scope, and are: +# following two options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port -# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client ports (for connections -# without and with TLS) and cluster message bus port. The information is then -# published in the header of the bus packets so that other nodes will be able to -# correctly map the address of the node publishing the information. -# -# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set -# to zero, then cluster-announce-port refers to the TLS port. Note also that -# cluster-announce-tls-port has no effect if cluster-tls is set to no. +# Each instructs the node about its address, client port, and cluster message +# bus port. The information is then published in the header of the bus packets +# so that other nodes will be able to correctly map the address of the node +# publishing the information. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1790,8 +1376,7 @@ aof-timestamp-enabled no # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-tls-port 6379 -# cluster-announce-port 0 +# cluster-announce-port 6379 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1839,24 +1424,10 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 -################################ LATENCY TRACKING ############################## - -# The Redis extended latency monitoring tracks the per command latencies and enables -# exporting the percentile distribution via the INFO latencystats command, -# and cumulative latency distributions (histograms) via the LATENCY command. -# -# By default, the extended latency monitoring is enabled since the overhead -# of keeping track of the command latency is very small. -# latency-tracking yes - -# By default the exported latency percentiles via the INFO latencystats command -# are the p50, p99, and p999. -# latency-tracking-info-percentiles 50 99 99.9 - ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at https://redis.io/topics/notifications +# This feature is documented at http://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1878,11 +1449,9 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) -# n New key events (Note: not included in the 'A' class) # t Stream commands -# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxetd, so that the "AKE" string means all the events +# A Alias for g$lshzxet, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1905,13 +1474,71 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" +############################### GOPHER SERVER ################################# + +# Redis contains an implementation of the Gopher protocol, as specified in +# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). +# +# The Gopher protocol was very popular in the late '90s. It is an alternative +# to the web, and the implementation both server and client side is so simple +# that the Redis server has just 100 lines of code in order to implement this +# support. +# +# What do you do with Gopher nowadays? Well Gopher never *really* died, and +# lately there is a movement in order for the Gopher more hierarchical content +# composed of just plain text documents to be resurrected. Some want a simpler +# internet, others believe that the mainstream internet became too much +# controlled, and it's cool to create an alternative space for people that +# want a bit of fresh air. +# +# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol +# as a gift. +# +# --- HOW IT WORKS? --- +# +# The Redis Gopher support uses the inline protocol of Redis, and specifically +# two kind of inline requests that were anyway illegal: an empty request +# or any request that starts with "/" (there are no Redis commands starting +# with such a slash). Normal RESP2/RESP3 requests are completely out of the +# path of the Gopher protocol implementation and are served as usual as well. +# +# If you open a connection to Redis when Gopher is enabled and send it +# a string like "/foo", if there is a key named "/foo" it is served via the +# Gopher protocol. +# +# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher +# talking), you likely need a script like the following: +# +# https://github.com/antirez/gopher2redis +# +# --- SECURITY WARNING --- +# +# If you plan to put Redis on the internet in a publicly accessible address +# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. +# Once a password is set: +# +# 1. The Gopher server (when enabled, not by default) will still serve +# content via Gopher. +# 2. However other commands cannot be called before the client will +# authenticate. +# +# So use the 'requirepass' option to protect your instance. +# +# Note that Gopher is not currently supported when 'io-threads-do-reads' +# is enabled. +# +# To enable Gopher support, uncomment the following line and set the option +# from no (the default) to yes. +# +# gopher-enabled no + ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-listpack-entries 512 -hash-max-listpack-value 64 +hash-max-ziplist-entries 512 +hash-max-ziplist-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1926,7 +1553,7 @@ hash-max-listpack-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-listpack-size -2 +list-max-ziplist-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1954,8 +1581,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-listpack-entries 128 -zset-max-listpack-value 64 +zset-max-ziplist-entries 128 +zset-max-ziplist-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1977,7 +1604,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entries limit by setting max-bytes to 0 and max-entries to the desired +# max entires limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -2010,7 +1637,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -2034,13 +1661,6 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # -# Note that it doesn't make sense to set the replica clients output buffer -# limit lower than the repl-backlog-size config (partial sync will succeed -# and then replica will get disconnected). -# Such a configuration is ignored (the size of repl-backlog-size will be used). -# This doesn't have memory consumption implications since the replica client -# will share the backlog buffers memory. -# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -2054,25 +1674,6 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb -# In some scenarios client connections can hog up memory leading to OOM -# errors or data eviction. To avoid this we can cap the accumulated memory -# used by all client connections (all pubsub and normal clients). Once we -# reach that limit connections will be dropped by the server freeing up -# memory. The server will attempt to drop the connections using the most -# memory first. We call this mechanism "client eviction". -# -# Client eviction is configured using the maxmemory-clients setting as follows: -# 0 - client eviction is disabled (default) -# -# A memory value can be used for the client eviction threshold, -# for example: -# maxmemory-clients 1g -# -# A percentage value (between 1% and 100%) means the client eviction threshold -# is based on a percentage of the maxmemory setting. For example to set client -# eviction at 5% of maxmemory: -# maxmemory-clients 5% - # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -2113,13 +1714,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 4 MB of data generated. This is useful +# the file will be fsync-ed every 32 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -2216,7 +1817,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Active defragmentation is disabled by default +# Enabled active defragmentation # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis/docker-compose.yml b/dockge/redis/docker-compose.yml index 08fd078c6..cadefa142 100644 --- a/dockge/redis/docker-compose.yml +++ b/dockge/redis/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:7.4.4-alpine + image: redis:6.2.18-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_18/.env b/dockge/redis_7_4_4/.env similarity index 100% rename from dockge/redis_6_2_18/.env rename to dockge/redis_7_4_4/.env diff --git a/dockge/redis_6_2_18/config/redis.conf b/dockge/redis_7_4_4/config/redis.conf similarity index 72% rename from dockge/redis_6_2_18/config/redis.conf rename to dockge/redis_7_4_4/config/redis.conf index ca22ec9f6..8795ae291 100644 --- a/dockge/redis_6_2_18/config/redis.conf +++ b/dockge/redis_7_4_4/config/redis.conf @@ -32,8 +32,17 @@ # If instead you are interested in using includes to override configuration # options, it is better to use include as the last line. # +# Included paths may contain wildcards. All files matching the wildcards will +# be included in alphabetical order. +# Note that if an include path contains a wildcards but no files match it when +# the server is started, the include statement will be ignored and no error will +# be emitted. It is safe, therefore, to include wildcard files from empty +# directories. +# # include /path/to/local.conf # include /path/to/other.conf +# include /path/to/fragments/*.conf +# ################################## MODULES ##################################### @@ -49,43 +58,81 @@ # for connections from all available network interfaces on the host machine. # It is possible to listen to just one or multiple selected interfaces using # the "bind" configuration directive, followed by one or more IP addresses. +# Each address can be prefixed by "-", which means that redis will not fail to +# start if the address is not available. Being not available only refers to +# addresses that does not correspond to any network interface. Addresses that +# are already in use will always fail, and unsupported protocols will always BE +# silently skipped. # # Examples: # -# bind 192.168.1.100 10.0.0.1 -# bind 127.0.0.1 ::1 +# bind 192.168.1.100 10.0.0.1 # listens on two specific IPv4 addresses +# bind 127.0.0.1 ::1 # listens on loopback IPv4 and IPv6 +# bind * -::* # like the default, all available interfaces # # ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the # internet, binding to all the interfaces is dangerous and will expose the # instance to everybody on the internet. So by default we uncomment the # following bind directive, that will force Redis to listen only on the -# IPv4 loopback interface address (this means Redis will only be able to -# accept client connections from the same host that it is running on). +# IPv4 and IPv6 (if available) loopback interface addresses (this means Redis +# will only be able to accept client connections from the same host that it is +# running on). # # IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES -# JUST COMMENT OUT THE FOLLOWING LINE. +# COMMENT OUT THE FOLLOWING LINE. +# +# You will also need to set a password unless you explicitly disable protected +# mode. # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bind 0.0.0.0 +# By default, outgoing connections (from replica to master, from Sentinel to +# instances, cluster bus, etc.) are not bound to a specific local address. In +# most cases, this means the operating system will handle that based on routing +# and the interface through which the connection goes out. +# +# Using bind-source-addr it is possible to configure a specific address to bind +# to, which may also affect how the connection gets routed. +# +# Example: +# +# bind-source-addr 10.0.0.1 + # Protected mode is a layer of security protection, in order to avoid that # Redis instances left open on the internet are accessed and exploited. # -# When protected mode is on and if: -# -# 1) The server is not binding explicitly to a set of addresses using the -# "bind" directive. -# 2) No password is configured. -# -# The server only accepts connections from clients connecting from the -# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain -# sockets. +# When protected mode is on and the default user has no password, the server +# only accepts local connections from the IPv4 address (127.0.0.1), IPv6 address +# (::1) or Unix domain sockets. # # By default protected mode is enabled. You should disable it only if # you are sure you want clients from other hosts to connect to Redis -# even if no authentication is configured, nor a specific set of interfaces -# are explicitly listed using the "bind" directive. +# even if no authentication is configured. protected-mode yes +# Redis uses default hardened security configuration directives to reduce the +# attack surface on innocent users. Therefore, several sensitive configuration +# directives are immutable, and some potentially-dangerous commands are blocked. +# +# Configuration directives that control files that Redis writes to (e.g., 'dir' +# and 'dbfilename') and that aren't usually modified during runtime +# are protected by making them immutable. +# +# Commands that can increase the attack surface of Redis and that aren't usually +# called by users are blocked by default. +# +# These can be exposed to either all connections or just local ones by setting +# each of the configs listed below to either of these values: +# +# no - Block for any connection (remain immutable) +# yes - Allow for any connection (no protection) +# local - Allow only for local connections. Ones originating from the +# IPv4 address (127.0.0.1), IPv6 address (::1) or Unix domain sockets. +# +# enable-protected-configs no +# enable-debug-command no +# enable-module-command no + # Accept connections on the specified port, default is 6379 (IANA #815344). # If port 0 is specified Redis will not listen on a TCP socket. port 6379 @@ -105,7 +152,7 @@ tcp-backlog 511 # incoming connections. There is no default, so Redis will not listen # on a unix socket when not specified. # -# unixsocket /tmp/redis.sock +# unixsocket /run/redis.sock # unixsocketperm 700 # Close the connection after a client is idle for N seconds (0 to disable) @@ -128,6 +175,16 @@ timeout 0 # Redis default starting with Redis 3.2.1. tcp-keepalive 300 +# Apply OS-specific mechanism to mark the listening socket with the specified +# ID, to support advanced routing and filtering capabilities. +# +# On Linux, the ID represents a connection mark. +# On FreeBSD, the ID represents a socket cookie ID. +# On OpenBSD, the ID represents a route table ID. +# +# The default value is 0, which implies no marking is required. +# socket-mark-id 0 + ################################# TLS/SSL ##################################### # By default, TLS/SSL is disabled. To enable it, the "tls-port" configuration @@ -143,8 +200,32 @@ tcp-keepalive 300 # # tls-cert-file redis.crt # tls-key-file redis.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-key-file-pass secret -# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange: +# Normally Redis uses the same certificate for both server functions (accepting +# connections) and client functions (replicating from a master, establishing +# cluster bus connections, etc.). +# +# Sometimes certificates are issued with attributes that designate them as +# client-only or server-only certificates. In that case it may be desired to use +# different certificates for incoming (server) and outgoing (client) +# connections. To do that, use the following directives: +# +# tls-client-cert-file client.crt +# tls-client-key-file client.key +# +# If the key file is encrypted using a passphrase, it can be included here +# as well. +# +# tls-client-key-file-pass secret + +# Configure a DH parameters file to enable Diffie-Hellman (DH) key exchange, +# required by older versions of OpenSSL (<3.0). Newer versions do not require +# this configuration and recommend against it. # # tls-dh-params-file redis.dh @@ -177,9 +258,12 @@ tcp-keepalive 300 # # tls-cluster yes -# Explicitly specify TLS versions to support. Allowed values are case insensitive -# and include "TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3" (OpenSSL >= 1.1.1) or -# any combination. To enable only TLSv1.2 and TLSv1.3, use: +# By default, only TLSv1.2 and TLSv1.3 are enabled and it is highly recommended +# that older formally deprecated versions are kept disabled to reduce the attack surface. +# You can explicitly specify TLS versions to support. +# Allowed values are case insensitive and include "TLSv1", "TLSv1.1", "TLSv1.2", +# "TLSv1.3" (OpenSSL >= 1.1.1) or any combination. +# To enable only TLSv1.2 and TLSv1.3, use: # # tls-protocols "TLSv1.2 TLSv1.3" @@ -221,6 +305,7 @@ tcp-keepalive 300 # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note that Redis will write a pid file in /var/run/redis.pid when daemonized. +# When Redis is supervised by upstart or systemd, this parameter has no impact. daemonize no # If you run Redis from upstart or systemd, Redis can interact with your @@ -229,11 +314,17 @@ daemonize no # supervised upstart - signal upstart by putting Redis into SIGSTOP mode # requires "expect stop" in your upstart job config # supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET +# on startup, and updating Redis status on a regular +# basis. # supervised auto - detect upstart or systemd method based on # UPSTART_JOB or NOTIFY_SOCKET environment variables # Note: these supervision methods only signal "process is ready." # They do not enable continuous pings back to your supervisor. -supervised no +# +# The default is "no". To run under upstart/systemd, you can simply uncomment +# the line below: +# +# supervised auto # If a pid file is specified, Redis writes it where specified at startup # and removes it at exit. @@ -244,6 +335,9 @@ supervised no # # Creating a pid file is best effort: if Redis is not able to create it # nothing bad happens, the server will start and run normally. +# +# Note that on modern Linux systems "/run/redis.pid" is more conforming +# and should be used instead. pidfile /var/run/redis_6379.pid # Specify the server verbosity level. @@ -269,44 +363,74 @@ logfile "" # Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7. # syslog-facility local0 +# To disable the built in crash log, which will possibly produce cleaner core +# dumps when they are needed, uncomment the following: +# +# crash-log-enabled no + +# To disable the fast memory check that's run as part of the crash log, which +# will possibly let redis terminate sooner, uncomment the following: +# +# crash-memcheck-enabled no + # Set the number of databases. The default database is DB 0, you can select # a different one on a per-connection basis using SELECT where # dbid is a number between 0 and 'databases'-1 databases 16 # By default Redis shows an ASCII art logo only when started to log to the -# standard output and if the standard output is a TTY. Basically this means -# that normally a logo is displayed only in interactive sessions. +# standard output and if the standard output is a TTY and syslog logging is +# disabled. Basically this means that normally a logo is displayed only in +# interactive sessions. # # However it is possible to force the pre-4.0 behavior and always show a # ASCII art logo in startup logs by setting the following option to yes. -always-show-logo yes +always-show-logo no + +# By default, Redis modifies the process title (as seen in 'top' and 'ps') to +# provide some runtime information. It is possible to disable this and leave +# the process name as executed by setting the following to no. +set-proc-title yes + +# When changing the process title, Redis uses the following template to construct +# the modified title. +# +# Template variables are specified in curly brackets. The following variables are +# supported: +# +# {title} Name of process as executed if parent, or type of child process. +# {listen-addr} Bind address or '*' followed by TCP or TLS port listening on, or +# Unix socket if only that's available. +# {server-mode} Special mode, i.e. "[sentinel]" or "[cluster]". +# {port} TCP port listening on, or 0. +# {tls-port} TLS port listening on, or 0. +# {unixsocket} Unix domain socket listening on, or "". +# {config-file} Name of configuration file used. +# +proc-title-template "{title} {listen-addr} {server-mode}" ################################ SNAPSHOTTING ################################ -# -# Save the DB on disk: -# -# save -# -# Will save the DB if both the given number of seconds and the given -# number of write operations against the DB occurred. -# -# In the example below the behavior will be to save: -# after 900 sec (15 min) if at least 1 key changed -# after 300 sec (5 min) if at least 10 keys changed -# after 60 sec if at least 10000 keys changed -# -# Note: you can disable saving completely by commenting out all "save" lines. -# -# It is also possible to remove all the previously configured save -# points by adding a save directive with a single empty string argument -# like in the following example: -# -# save "" -save 900 1 -save 300 10 -save 60 10000 +# Save the DB to disk. +# +# save [ ...] +# +# Redis will save the DB if the given number of seconds elapsed and it +# surpassed the given number of write operations against the DB. +# +# Snapshotting can be completely disabled with a single empty string argument +# as in following example: +# +# save "" +# +# Unless specified otherwise, by default Redis will save the DB: +# * After 3600 seconds (an hour) if at least 1 change was performed +# * After 300 seconds (5 minutes) if at least 100 changes were performed +# * After 60 seconds if at least 10000 changes were performed +# +# You can set these explicitly by uncommenting the following line. +# +# save 3600 1 300 100 60 10000 # By default Redis will stop accepting writes if RDB snapshots are enabled # (at least one save point) and the latest background save failed. @@ -338,6 +462,21 @@ rdbcompression yes # tell the loading code to skip the check. rdbchecksum yes +# Enables or disables full sanitization checks for ziplist and listpack etc when +# loading an RDB or RESTORE payload. This reduces the chances of a assertion or +# crash later on while processing commands. +# Options: +# no - Never perform full sanitization +# yes - Always perform full sanitization +# clients - Perform full sanitization only for user connections. +# Excludes: RDB files, RESTORE commands received from the master +# connection, and client connections which have the +# skip-sanitize-payload ACL flag. +# The default should be 'clients' but since it currently affects cluster +# resharding via MIGRATE, it is temporarily set to 'no' by default. +# +# sanitize-dump-payload no + # The filename where to dump the DB dbfilename dump.rdb @@ -412,9 +551,10 @@ dir ./ # still reply to client requests, possibly with out of date data, or the # data set may just be empty if this is the first synchronization. # -# 2) If replica-serve-stale-data is set to 'no' the replica will reply with -# an error "SYNC with master in progress" to all commands except: -# INFO, REPLICAOF, AUTH, PING, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, +# 2) If replica-serve-stale-data is set to 'no' the replica will reply with error +# "MASTERDOWN Link with MASTER is down and replica-serve-stale-data is set to 'no'" +# to all data access commands, excluding commands such as: +# INFO, REPLICAOF, AUTH, SHUTDOWN, REPLCONF, ROLE, CONFIG, SUBSCRIBE, # UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH, PUBSUB, COMMAND, POST, # HOST and LATENCY. # @@ -463,7 +603,7 @@ replica-read-only yes # # With slow disks and fast (large bandwidth) networks, diskless replication # works better. -repl-diskless-sync no +repl-diskless-sync yes # When diskless replication is enabled, it is possible to configure the delay # the server waits in order to spawn the child that transfers the RDB via socket @@ -477,12 +617,18 @@ repl-diskless-sync no # it entirely just set it to 0 seconds and the transfer will start ASAP. repl-diskless-sync-delay 5 +# When diskless replication is enabled with a delay, it is possible to let +# the replication start before the maximum delay is reached if the maximum +# number of replicas expected have connected. Default of 0 means that the +# maximum is not defined and Redis will wait the full delay. +repl-diskless-sync-max-replicas 0 + # ----------------------------------------------------------------------------- # WARNING: RDB diskless load is experimental. Since in this setup the replica # does not immediately store an RDB on disk, it may cause data loss during # failovers. RDB diskless load + Redis modules not handling I/O reads may also # cause Redis to abort in case of I/O errors during the initial synchronization -# stage with the master. Use only if your do what you are doing. +# stage with the master. Use only if you know what you are doing. # ----------------------------------------------------------------------------- # # Replica can load the RDB it reads from the replication link directly from the @@ -491,19 +637,23 @@ repl-diskless-sync-delay 5 # # In many cases the disk is slower than the network, and storing and loading # the RDB file may increase replication time (and even increase the master's -# Copy on Write memory and salve buffers). +# Copy on Write memory and replica buffers). # However, parsing the RDB file directly from the socket may mean that we have # to flush the contents of the current database before the full rdb was # received. For this reason we have the following options: # # "disabled" - Don't use diskless load (store the rdb file to the disk first) # "on-empty-db" - Use diskless load only when it is completely safe. -# "swapdb" - Keep a copy of the current db contents in RAM while parsing -# the data directly from the socket. note that this requires -# sufficient memory, if you don't have it, you risk an OOM kill. +# "swapdb" - Keep current db contents in RAM while parsing the data directly +# from the socket. Replicas in this mode can keep serving current +# data set while replication is in progress, except for cases where +# they can't recognize master as having a data set from same +# replication history. +# Note that this requires sufficient memory, if you don't have it, +# you risk an OOM kill. repl-diskless-load disabled -# Replicas send PINGs to server in a predefined interval. It's possible to +# Master send PINGs to its replicas in a predefined interval. It's possible to # change this interval with the repl_ping_replica_period option. The default # value is 10 seconds. # @@ -578,6 +728,43 @@ repl-disable-tcp-nodelay no # By default the priority is 100. replica-priority 100 +# The propagation error behavior controls how Redis will behave when it is +# unable to handle a command being processed in the replication stream from a master +# or processed while reading from an AOF file. Errors that occur during propagation +# are unexpected, and can cause data inconsistency. However, there are edge cases +# in earlier versions of Redis where it was possible for the server to replicate or persist +# commands that would fail on future versions. For this reason the default behavior +# is to ignore such errors and continue processing commands. +# +# If an application wants to ensure there is no data divergence, this configuration +# should be set to 'panic' instead. The value can also be set to 'panic-on-replicas' +# to only panic when a replica encounters an error on the replication stream. One of +# these two panic values will become the default value in the future once there are +# sufficient safety mechanisms in place to prevent false positive crashes. +# +# propagation-error-behavior ignore + +# Replica ignore disk write errors controls the behavior of a replica when it is +# unable to persist a write command received from its master to disk. By default, +# this configuration is set to 'no' and will crash the replica in this condition. +# It is not recommended to change this default, however in order to be compatible +# with older versions of Redis this config can be toggled to 'yes' which will just +# log a warning and execute the write command it got from the master. +# +# replica-ignore-disk-write-errors no + +# ----------------------------------------------------------------------------- +# By default, Redis Sentinel includes all replicas in its reports. A replica +# can be excluded from Redis Sentinel's announcements. An unannounced replica +# will be ignored by the 'sentinel replicas ' command and won't be +# exposed to Redis Sentinel's clients. +# +# This option does not change the behavior of replica-priority. Even with +# replica-announced set to 'no', the replica can be promoted to master. To +# prevent this behavior, set replica-priority to 0. +# +# replica-announced yes + # It is possible for a master to stop accepting writes if there are less than # N replicas connected, having a lag less or equal than M seconds. # @@ -633,7 +820,7 @@ replica-priority 100 # Redis implements server assisted support for client side caching of values. # This is implemented using an invalidation table that remembers, using -# 16 millions of slots, what clients may have certain subsets of keys. In turn +# a radix key indexed by key name, what clients have which keys. In turn # this is used in order to send invalidation messages to clients. Please # check this page to understand more about the feature: # @@ -697,8 +884,12 @@ replica-priority 100 # off Disable the user: it's no longer possible to authenticate # with this user, however the already authenticated connections # will still work. -# + Allow the execution of that command -# - Disallow the execution of that command +# skip-sanitize-payload RESTORE dump-payload sanitization is skipped. +# sanitize-payload RESTORE dump-payload is sanitized (default). +# + Allow the execution of that command. +# May be used with `|` for allowing subcommands (e.g "+config|get") +# - Disallow the execution of that command. +# May be used with `|` for blocking subcommands (e.g "-config|set") # +@ Allow the execution of all the commands in such category # with valid categories are like @admin, @set, @sortedset, ... # and so forth, see the full list in the server.c file where @@ -706,10 +897,11 @@ replica-priority 100 # The special category @all means all the commands, but currently # present in the server, and that will be loaded in the future # via modules. -# +|subcommand Allow a specific subcommand of an otherwise -# disabled command. Note that this form is not -# allowed as negative like -DEBUG|SEGFAULT, but -# only additive starting with "+". +# +|first-arg Allow a specific first argument of an otherwise +# disabled command. It is only supported on commands with +# no sub-commands, and is not allowed as negative form +# like -SELECT|1, only additive starting with "+". This +# feature is deprecated and may be removed in the future. # allcommands Alias for +@all. Note that it implies the ability to execute # all the future commands loaded via the modules system. # nocommands Alias for -@all. @@ -717,8 +909,17 @@ replica-priority 100 # commands. For instance ~* allows all the keys. The pattern # is a glob-style pattern like the one of KEYS. # It is possible to specify multiple patterns. +# %R~ Add key read pattern that specifies which keys can be read +# from. +# %W~ Add key write pattern that specifies which keys can be +# written to. # allkeys Alias for ~* # resetkeys Flush the list of allowed keys patterns. +# & Add a glob-style pattern of Pub/Sub channels that can be +# accessed by the user. It is possible to specify multiple channel +# patterns. +# allchannels Alias for &* +# resetchannels Flush the list of allowed channel patterns. # > Add this password to the list of valid password for the user. # For example >mypass will add "mypass" to the list. # This directive clears the "nopass" flag (see later). @@ -737,6 +938,14 @@ replica-priority 100 # reset Performs the following actions: resetpass, resetkeys, off, # -@all. The user returns to the same state it has immediately # after its creation. +# () Create a new selector with the options specified within the +# parentheses and attach it to the user. Each option should be +# space separated. The first character must be ( and the last +# character must be ). +# clearselectors Remove all of the currently attached selectors. +# Note this does not change the "root" user permissions, +# which are the permissions directly applied onto the +# user (outside the parentheses). # # ACL rules can be specified in any order: for instance you can start with # passwords, then flags, or key patterns. However note that the additive @@ -758,6 +967,40 @@ replica-priority 100 # # Basically ACL rules are processed left-to-right. # +# The following is a list of command categories and their meanings: +# * keyspace - Writing or reading from keys, databases, or their metadata +# in a type agnostic way. Includes DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, +# KEYS, EXPIRE, TTL, FLUSHALL, etc. Commands that may modify the keyspace, +# key or metadata will also have `write` category. Commands that only read +# the keyspace, key or metadata will have the `read` category. +# * read - Reading from keys (values or metadata). Note that commands that don't +# interact with keys, will not have either `read` or `write`. +# * write - Writing to keys (values or metadata) +# * admin - Administrative commands. Normal applications will never need to use +# these. Includes REPLICAOF, CONFIG, DEBUG, SAVE, MONITOR, ACL, SHUTDOWN, etc. +# * dangerous - Potentially dangerous (each should be considered with care for +# various reasons). This includes FLUSHALL, MIGRATE, RESTORE, SORT, KEYS, +# CLIENT, DEBUG, INFO, CONFIG, SAVE, REPLICAOF, etc. +# * connection - Commands affecting the connection or other connections. +# This includes AUTH, SELECT, COMMAND, CLIENT, ECHO, PING, etc. +# * blocking - Potentially blocking the connection until released by another +# command. +# * fast - Fast O(1) commands. May loop on the number of arguments, but not the +# number of elements in the key. +# * slow - All commands that are not Fast. +# * pubsub - PUBLISH / SUBSCRIBE related +# * transaction - WATCH / MULTI / EXEC related commands. +# * scripting - Scripting related. +# * set - Data type: sets related. +# * sortedset - Data type: zsets related. +# * list - Data type: lists related. +# * hash - Data type: hashes related. +# * string - Data type: strings related. +# * bitmap - Data type: bitmaps related. +# * hyperloglog - Data type: hyperloglog related. +# * geo - Data type: geo related. +# * stream - Data type: streams related. +# # For more information about ACL configuration please refer to # the Redis web site at https://redis.io/topics/acl @@ -787,8 +1030,24 @@ acllog-max-len 128 # AUTH as usually, or more explicitly with AUTH default # if they follow the new protocol: both will work. # +# The requirepass is not compatible with aclfile option and the ACL LOAD +# command, these will cause requirepass to be ignored. +# # requirepass foobared +# New users are initialized with restrictive permissions by default, via the +# equivalent of this ACL rule 'off resetkeys -@all'. Starting with Redis 6.2, it +# is possible to manage access to Pub/Sub channels with ACL rules as well. The +# default Pub/Sub channels permission if new users is controlled by the +# acl-pubsub-default configuration directive, which accepts one of these values: +# +# allchannels: grants access to all Pub/Sub channels +# resetchannels: revokes access to all Pub/Sub channels +# +# From Redis 7.0, acl-pubsub-default defaults to 'resetchannels' permission. +# +# acl-pubsub-default resetchannels + # Command renaming (DEPRECATED). # # ------------------------------------------------------------------------ @@ -877,14 +1136,12 @@ acllog-max-len 128 # Both LRU, LFU and volatile-ttl are implemented using approximated # randomized algorithms. # -# Note: with any of the above policies, Redis will return an error on write -# operations, when there are no suitable keys for eviction. -# -# At the date of writing these commands are: set setnx setex append -# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd -# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby -# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby -# getset mset msetnx exec sort +# Note: with any of the above policies, when there are no suitable keys for +# eviction, Redis will return an error on write operations that require +# more memory. These are usually commands that create new keys, add data or +# modify existing keys. A few examples are: SET, INCR, HSET, LPUSH, SUNIONSTORE, +# SORT (due to the STORE argument), and EXEC (if the transaction includes any +# command that requires memory). # # The default is: # @@ -901,6 +1158,14 @@ acllog-max-len 128 # # maxmemory-samples 5 +# Eviction processing is designed to function well with the default setting. +# If there is an unusually large amount of write traffic, this value may need to +# be increased. Decreasing this value may reduce latency at the risk of +# eviction processing effectiveness +# 0 = minimum latency, 10 = default, 100 = process without regard to latency +# +# maxmemory-eviction-tenacity 10 + # Starting from Redis 5, by default a replica will ignore its maxmemory setting # (unless it is promoted to master after a failover or manually). It means # that the eviction of keys will be just handled by the master, sending the @@ -994,6 +1259,13 @@ replica-lazy-flush no lazyfree-lazy-user-del no +# FLUSHDB, FLUSHALL, SCRIPT FLUSH and FUNCTION FLUSH support both asynchronous and synchronous +# deletion, which can be controlled by passing the [SYNC|ASYNC] flags into the +# commands. When neither flag is passed, this directive will be used to determine +# if the data should be deleted asynchronously. + +lazyfree-lazy-user-flush no + ################################ THREADED I/O ################################# # Redis is mostly single threaded, however there are certain threaded @@ -1032,7 +1304,7 @@ lazyfree-lazy-user-del no # Usually threading reads doesn't help much. # # NOTE 1: This configuration directive cannot be changed at runtime via -# CONFIG SET. Aso this feature currently does not work when SSL is +# CONFIG SET. Also, this feature currently does not work when SSL is # enabled. # # NOTE 2: If you want to test the Redis speedup using redis-benchmark, make @@ -1050,7 +1322,7 @@ lazyfree-lazy-user-del no # attempt to have background child processes killed before all others, and # replicas killed before masters. # -# Redis supports three options: +# Redis supports these options: # # no: Don't make changes to oom-score-adj (default). # yes: Alias to "relative" see below. @@ -1071,6 +1343,19 @@ oom-score-adj no # oom-score-adj-values to positive values will always succeed. oom-score-adj-values 0 200 800 + +#################### KERNEL transparent hugepage CONTROL ###################### + +# Usually the kernel Transparent Huge Pages control is set to "madvise" or +# or "never" by default (/sys/kernel/mm/transparent_hugepage/enabled), in which +# case this config has no effect. On systems in which it is set to "always", +# redis will attempt to disable it specifically for the redis process in order +# to avoid latency problems specifically with fork(2) and CoW. +# If for some reason you prefer to keep it enabled, you can set this config to +# "no" and the kernel global to "always". + +disable-thp yes + ############################## APPEND ONLY MODE ############################### # By default Redis asynchronously dumps the dataset on disk. This mode is @@ -1089,14 +1374,43 @@ oom-score-adj-values 0 200 800 # If the AOF is enabled on startup Redis will load the AOF, that is the file # with the better durability guarantees. # -# Please check http://redis.io/topics/persistence for more information. +# Please check https://redis.io/topics/persistence for more information. appendonly no -# The name of the append only file (default: "appendonly.aof") +# The base name of the append only file. +# +# Redis 7 and newer use a set of append-only files to persist the dataset +# and changes applied to it. There are two basic types of files in use: +# +# - Base files, which are a snapshot representing the complete state of the +# dataset at the time the file was created. Base files can be either in +# the form of RDB (binary serialized) or AOF (textual commands). +# - Incremental files, which contain additional commands that were applied +# to the dataset following the previous file. +# +# In addition, manifest files are used to track the files and the order in +# which they were created and should be applied. +# +# Append-only file names are created by Redis following a specific pattern. +# The file name's prefix is based on the 'appendfilename' configuration +# parameter, followed by additional information about the sequence and type. +# +# For example, if appendfilename is set to appendonly.aof, the following file +# names could be derived: +# +# - appendonly.aof.1.base.rdb as a base file. +# - appendonly.aof.1.incr.aof, appendonly.aof.2.incr.aof as incremental files. +# - appendonly.aof.manifest as a manifest file. appendfilename "appendonly.aof" +# For convenience, Redis stores all persistent append-only files in a dedicated +# directory. The name of the directory is determined by the appenddirname +# configuration parameter. + +appenddirname "appendonlydir" + # The fsync() call tells the Operating System to actually write data on disk # instead of waiting for more data in the output buffer. Some OS will really flush # data on disk, some other OS will just try to do it ASAP. @@ -1136,7 +1450,7 @@ appendfsync everysec # BGSAVE or BGREWRITEAOF is in progress. # # This means that while another child is saving, the durability of Redis is -# the same as "appendfsync none". In practical terms, this means that it is +# the same as "appendfsync no". In practical terms, this means that it is # possible to lose up to 30 seconds of log in the worst scenario (with the # default Linux settings). # @@ -1189,34 +1503,69 @@ auto-aof-rewrite-min-size 64mb # will be found. aof-load-truncated yes -# When rewriting the AOF file, Redis is able to use an RDB preamble in the -# AOF file for faster rewrites and recoveries. When this option is turned -# on the rewritten AOF file is composed of two different stanzas: -# -# [RDB file][AOF tail] -# -# When loading, Redis recognizes that the AOF file starts with the "REDIS" -# string and loads the prefixed RDB file, then continues loading the AOF -# tail. +# Redis can create append-only base files in either RDB or AOF formats. Using +# the RDB format is always faster and more efficient, and disabling it is only +# supported for backward compatibility purposes. aof-use-rdb-preamble yes -################################ LUA SCRIPTING ############################### +# Redis supports recording timestamp annotations in the AOF to support restoring +# the data from a specific point-in-time. However, using this capability changes +# the AOF format in a way that may not be compatible with existing AOF parsers. +aof-timestamp-enabled no -# Max execution time of a Lua script in milliseconds. +################################ SHUTDOWN ##################################### + +# Maximum time to wait for replicas when shutting down, in seconds. # -# If the maximum execution time is reached Redis will log that a script is -# still in execution after the maximum allowed time and will start to -# reply to queries with an error. +# During shut down, a grace period allows any lagging replicas to catch up with +# the latest replication offset before the master exists. This period can +# prevent data loss, especially for deployments without configured disk backups. # -# When a long running script exceeds the maximum execution time only the -# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be -# used to stop a script that did not yet call any write commands. The second -# is the only way to shut down the server in the case a write command was -# already issued by the script but the user doesn't want to wait for the natural -# termination of the script. +# The 'shutdown-timeout' value is the grace period's duration in seconds. It is +# only applicable when the instance has replicas. To disable the feature, set +# the value to 0. # -# Set it to 0 or a negative value for unlimited execution without warnings. -lua-time-limit 5000 +# shutdown-timeout 10 + +# When Redis receives a SIGINT or SIGTERM, shutdown is initiated and by default +# an RDB snapshot is written to disk in a blocking operation if save points are configured. +# The options used on signaled shutdown can include the following values: +# default: Saves RDB snapshot only if save points are configured. +# Waits for lagging replicas to catch up. +# save: Forces a DB saving operation even if no save points are configured. +# nosave: Prevents DB saving operation even if one or more save points are configured. +# now: Skips waiting for lagging replicas. +# force: Ignores any errors that would normally prevent the server from exiting. +# +# Any combination of values is allowed as long as "save" and "nosave" are not set simultaneously. +# Example: "nosave force now" +# +# shutdown-on-sigint default +# shutdown-on-sigterm default + +################ NON-DETERMINISTIC LONG BLOCKING COMMANDS ##################### + +# Maximum time in milliseconds for EVAL scripts, functions and in some cases +# modules' commands before Redis can start processing or rejecting other clients. +# +# If the maximum execution time is reached Redis will start to reply to most +# commands with a BUSY error. +# +# In this state Redis will only allow a handful of commands to be executed. +# For instance, SCRIPT KILL, FUNCTION KILL, SHUTDOWN NOSAVE and possibly some +# module specific 'allow-busy' commands. +# +# SCRIPT KILL and FUNCTION KILL will only be able to stop a script that did not +# yet call any write commands, so SHUTDOWN NOSAVE may be the only way to stop +# the server in the case a write command was already issued by the script when +# the user doesn't want to wait for the natural termination of the script. +# +# The default is 5 seconds. It is possible to set it to 0 or a negative value +# to disable this mechanism (uninterrupted execution). Note that in the past +# this config had a different name, which is now an alias, so both of these do +# the same: +# lua-time-limit 5000 +# busy-reply-threshold 5000 ################################ REDIS CLUSTER ############################### @@ -1240,6 +1589,11 @@ lua-time-limit 5000 # # cluster-node-timeout 15000 +# The cluster port is the port that the cluster bus will listen for inbound connections on. When set +# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires +# you to specify the cluster bus port when executing cluster meet. +# cluster-port 0 + # A replica of a failing master will avoid to start a failover if its data # looks too old. # @@ -1298,12 +1652,21 @@ lua-time-limit 5000 # master in your cluster. # # Default is 1 (replicas migrate only if their masters remain with at least -# one replica). To disable migration just set it to a very large value. +# one replica). To disable migration just set it to a very large value or +# set cluster-allow-replica-migration to 'no'. # A value of 0 can be set but is useful only for debugging and dangerous # in production. # # cluster-migration-barrier 1 +# Turning off this option allows to use less automatic cluster configuration. +# It both disables migration to orphaned masters and migration from masters +# that became empty. +# +# Default is 'yes' (allow automatic migrations). +# +# cluster-allow-replica-migration yes + # By default Redis Cluster nodes stop accepting queries if they detect there # is at least a hash slot uncovered (no available node is serving it). # This way if the cluster is partially down (for example a range of hash slots @@ -1318,7 +1681,7 @@ lua-time-limit 5000 # cluster-require-full-coverage yes # This option, when set to yes, prevents replicas from trying to failover its -# master during master failures. However the master can still perform a +# master during master failures. However the replica can still perform a # manual failover, if forced to do so. # # This is useful in different scenarios, especially in the case of multiple @@ -1328,7 +1691,7 @@ lua-time-limit 5000 # cluster-replica-no-failover no # This option, when set to yes, allows nodes to serve read traffic while the -# the cluster is in a down state, as long as it believes it owns the slots. +# cluster is in a down state, as long as it believes it owns the slots. # # This is useful for two cases. The first case is for when an application # doesn't require consistency of data during node failures or network partitions. @@ -1343,8 +1706,54 @@ lua-time-limit 5000 # # cluster-allow-reads-when-down no +# This option, when set to yes, allows nodes to serve pubsub shard traffic while +# the cluster is in a down state, as long as it believes it owns the slots. +# +# This is useful if the application would like to use the pubsub feature even when +# the cluster global stable state is not OK. If the application wants to make sure only +# one shard is serving a given channel, this feature should be kept as yes. +# +# cluster-allow-pubsubshard-when-down yes + +# Cluster link send buffer limit is the limit on the memory usage of an individual +# cluster bus link's send buffer in bytes. Cluster links would be freed if they exceed +# this limit. This is to primarily prevent send buffers from growing unbounded on links +# toward slow peers (E.g. PubSub messages being piled up). +# This limit is disabled by default. Enable this limit when 'mem_cluster_links' INFO field +# and/or 'send-buffer-allocated' entries in the 'CLUSTER LINKS` command output continuously increase. +# Minimum limit of 1gb is recommended so that cluster link buffer can fit in at least a single +# PubSub message by default. (client-query-buffer-limit default value is 1gb) +# +# cluster-link-sendbuf-limit 0 + +# Clusters can configure their announced hostname using this config. This is a common use case for +# applications that need to use TLS Server Name Indication (SNI) or dealing with DNS based +# routing. By default this value is only shown as additional metadata in the CLUSTER SLOTS +# command, but can be changed using 'cluster-preferred-endpoint-type' config. This value is +# communicated along the clusterbus to all nodes, setting it to an empty string will remove +# the hostname and also propagate the removal. +# +# cluster-announce-hostname "" + +# Clusters can advertise how clients should connect to them using either their IP address, +# a user defined hostname, or by declaring they have no endpoint. Which endpoint is +# shown as the preferred endpoint is set by using the cluster-preferred-endpoint-type +# config with values 'ip', 'hostname', or 'unknown-endpoint'. This value controls how +# the endpoint returned for MOVED/ASKING requests as well as the first field of CLUSTER SLOTS. +# If the preferred endpoint type is set to hostname, but no announced hostname is set, a '?' +# will be returned instead. +# +# When a cluster advertises itself as having an unknown endpoint, it's indicating that +# the server doesn't know how clients can reach the cluster. This can happen in certain +# networking situations where there are multiple possible routes to the node, and the +# server doesn't know which one the client took. In this case, the server is expecting +# the client to reach out on the same endpoint it used for making the last request, but use +# the port provided in the response. +# +# cluster-preferred-endpoint-type ip + # In order to setup your cluster make sure to read the documentation -# available at http://redis.io web site. +# available at https://redis.io web site. ########################## CLUSTER DOCKER/NAT support ######################## @@ -1354,16 +1763,21 @@ lua-time-limit 5000 # # In order to make Redis Cluster working in such environments, a static # configuration where each node knows its public address is needed. The -# following two options are used for this scope, and are: +# following four options are used for this scope, and are: # # * cluster-announce-ip # * cluster-announce-port +# * cluster-announce-tls-port # * cluster-announce-bus-port # -# Each instructs the node about its address, client port, and cluster message -# bus port. The information is then published in the header of the bus packets -# so that other nodes will be able to correctly map the address of the node -# publishing the information. +# Each instructs the node about its address, client ports (for connections +# without and with TLS) and cluster message bus port. The information is then +# published in the header of the bus packets so that other nodes will be able to +# correctly map the address of the node publishing the information. +# +# If cluster-tls is set to yes and cluster-announce-tls-port is omitted or set +# to zero, then cluster-announce-port refers to the TLS port. Note also that +# cluster-announce-tls-port has no effect if cluster-tls is set to no. # # If the above options are not used, the normal Redis Cluster auto-detection # will be used instead. @@ -1376,7 +1790,8 @@ lua-time-limit 5000 # Example: # # cluster-announce-ip 10.1.1.5 -# cluster-announce-port 6379 +# cluster-announce-tls-port 6379 +# cluster-announce-port 0 # cluster-announce-bus-port 6380 ################################## SLOW LOG ################################### @@ -1424,10 +1839,24 @@ slowlog-max-len 128 # "CONFIG SET latency-monitor-threshold " if needed. latency-monitor-threshold 0 +################################ LATENCY TRACKING ############################## + +# The Redis extended latency monitoring tracks the per command latencies and enables +# exporting the percentile distribution via the INFO latencystats command, +# and cumulative latency distributions (histograms) via the LATENCY command. +# +# By default, the extended latency monitoring is enabled since the overhead +# of keeping track of the command latency is very small. +# latency-tracking yes + +# By default the exported latency percentiles via the INFO latencystats command +# are the p50, p99, and p999. +# latency-tracking-info-percentiles 50 99 99.9 + ############################# EVENT NOTIFICATION ############################## # Redis can notify Pub/Sub clients about events happening in the key space. -# This feature is documented at http://redis.io/topics/notifications +# This feature is documented at https://redis.io/topics/notifications # # For instance if keyspace events notification is enabled, and a client # performs a DEL operation on key "foo" stored in the Database 0, two @@ -1449,9 +1878,11 @@ latency-monitor-threshold 0 # z Sorted set commands # x Expired events (events generated every time a key expires) # e Evicted events (events generated when a key is evicted for maxmemory) +# n New key events (Note: not included in the 'A' class) # t Stream commands +# d Module key type events # m Key-miss events (Note: It is not included in the 'A' class) -# A Alias for g$lshzxet, so that the "AKE" string means all the events +# A Alias for g$lshzxetd, so that the "AKE" string means all the events # (Except key-miss events which are excluded from 'A' due to their # unique nature). # @@ -1474,71 +1905,13 @@ latency-monitor-threshold 0 # specify at least one of K or E, no events will be delivered. notify-keyspace-events "" -############################### GOPHER SERVER ################################# - -# Redis contains an implementation of the Gopher protocol, as specified in -# the RFC 1436 (https://www.ietf.org/rfc/rfc1436.txt). -# -# The Gopher protocol was very popular in the late '90s. It is an alternative -# to the web, and the implementation both server and client side is so simple -# that the Redis server has just 100 lines of code in order to implement this -# support. -# -# What do you do with Gopher nowadays? Well Gopher never *really* died, and -# lately there is a movement in order for the Gopher more hierarchical content -# composed of just plain text documents to be resurrected. Some want a simpler -# internet, others believe that the mainstream internet became too much -# controlled, and it's cool to create an alternative space for people that -# want a bit of fresh air. -# -# Anyway for the 10nth birthday of the Redis, we gave it the Gopher protocol -# as a gift. -# -# --- HOW IT WORKS? --- -# -# The Redis Gopher support uses the inline protocol of Redis, and specifically -# two kind of inline requests that were anyway illegal: an empty request -# or any request that starts with "/" (there are no Redis commands starting -# with such a slash). Normal RESP2/RESP3 requests are completely out of the -# path of the Gopher protocol implementation and are served as usual as well. -# -# If you open a connection to Redis when Gopher is enabled and send it -# a string like "/foo", if there is a key named "/foo" it is served via the -# Gopher protocol. -# -# In order to create a real Gopher "hole" (the name of a Gopher site in Gopher -# talking), you likely need a script like the following: -# -# https://github.com/antirez/gopher2redis -# -# --- SECURITY WARNING --- -# -# If you plan to put Redis on the internet in a publicly accessible address -# to server Gopher pages MAKE SURE TO SET A PASSWORD to the instance. -# Once a password is set: -# -# 1. The Gopher server (when enabled, not by default) will still serve -# content via Gopher. -# 2. However other commands cannot be called before the client will -# authenticate. -# -# So use the 'requirepass' option to protect your instance. -# -# Note that Gopher is not currently supported when 'io-threads-do-reads' -# is enabled. -# -# To enable Gopher support, uncomment the following line and set the option -# from no (the default) to yes. -# -# gopher-enabled no - ############################### ADVANCED CONFIG ############################### # Hashes are encoded using a memory efficient data structure when they have a # small number of entries, and the biggest entry does not exceed a given # threshold. These thresholds can be configured using the following directives. -hash-max-ziplist-entries 512 -hash-max-ziplist-value 64 +hash-max-listpack-entries 512 +hash-max-listpack-value 64 # Lists are also encoded in a special way to save a lot of space. # The number of entries allowed per internal list node can be specified @@ -1553,7 +1926,7 @@ hash-max-ziplist-value 64 # per list node. # The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size), # but if your use case is unique, adjust the settings as necessary. -list-max-ziplist-size -2 +list-max-listpack-size -2 # Lists may also be compressed. # Compress depth is the number of quicklist ziplist nodes from *each* side of @@ -1581,8 +1954,8 @@ set-max-intset-entries 512 # Similarly to hashes and lists, sorted sets are also specially encoded in # order to save a lot of space. This encoding is only used when the length and # elements of a sorted set are below the following limits: -zset-max-ziplist-entries 128 -zset-max-ziplist-value 64 +zset-max-listpack-entries 128 +zset-max-listpack-value 64 # HyperLogLog sparse representation bytes limit. The limit includes the # 16 bytes header. When an HyperLogLog using the sparse representation crosses @@ -1604,7 +1977,7 @@ hll-sparse-max-bytes 3000 # maximum number of items it may contain before switching to a new node when # appending new stream entries. If any of the following settings are set to # zero, the limit is ignored, so for instance it is possible to set just a -# max entires limit by setting max-bytes to 0 and max-entries to the desired +# max entries limit by setting max-bytes to 0 and max-entries to the desired # value. stream-node-max-bytes 4096 stream-node-max-entries 100 @@ -1637,7 +2010,7 @@ activerehashing yes # The limit can be set differently for the three different classes of clients: # # normal -> normal clients including MONITOR clients -# replica -> replica clients +# replica -> replica clients # pubsub -> clients subscribed to at least one pubsub channel or pattern # # The syntax of every client-output-buffer-limit directive is the following: @@ -1661,6 +2034,13 @@ activerehashing yes # Instead there is a default limit for pubsub and replica clients, since # subscribers and replicas receive data in a push fashion. # +# Note that it doesn't make sense to set the replica clients output buffer +# limit lower than the repl-backlog-size config (partial sync will succeed +# and then replica will get disconnected). +# Such a configuration is ignored (the size of repl-backlog-size will be used). +# This doesn't have memory consumption implications since the replica client +# will share the backlog buffers memory. +# # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 @@ -1674,6 +2054,25 @@ client-output-buffer-limit pubsub 32mb 8mb 60 # # client-query-buffer-limit 1gb +# In some scenarios client connections can hog up memory leading to OOM +# errors or data eviction. To avoid this we can cap the accumulated memory +# used by all client connections (all pubsub and normal clients). Once we +# reach that limit connections will be dropped by the server freeing up +# memory. The server will attempt to drop the connections using the most +# memory first. We call this mechanism "client eviction". +# +# Client eviction is configured using the maxmemory-clients setting as follows: +# 0 - client eviction is disabled (default) +# +# A memory value can be used for the client eviction threshold, +# for example: +# maxmemory-clients 1g +# +# A percentage value (between 1% and 100%) means the client eviction threshold +# is based on a percentage of the maxmemory setting. For example to set client +# eviction at 5% of maxmemory: +# maxmemory-clients 5% + # In the Redis protocol, bulk requests, that are, elements representing single # strings, are normally limited to 512 mb. However you can change this limit # here, but must be 1mb or greater @@ -1714,13 +2113,13 @@ hz 10 dynamic-hz yes # When a child rewrites the AOF file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. aof-rewrite-incremental-fsync yes # When redis saves RDB file, if the following option is enabled -# the file will be fsync-ed every 32 MB of data generated. This is useful +# the file will be fsync-ed every 4 MB of data generated. This is useful # in order to commit the file to the disk more incrementally and avoid # big latency spikes. rdb-save-incremental-fsync yes @@ -1817,7 +2216,7 @@ rdb-save-incremental-fsync yes # defragmentation process. If you are not sure about what they mean it is # a good idea to leave the defaults untouched. -# Enabled active defragmentation +# Active defragmentation is disabled by default # activedefrag no # Minimum amount of fragmentation waste to start active defrag diff --git a/dockge/redis_6_2_18/docker-compose.yml b/dockge/redis_7_4_4/docker-compose.yml similarity index 94% rename from dockge/redis_6_2_18/docker-compose.yml rename to dockge/redis_7_4_4/docker-compose.yml index cadefa142..08fd078c6 100644 --- a/dockge/redis_6_2_18/docker-compose.yml +++ b/dockge/redis_7_4_4/docker-compose.yml @@ -7,7 +7,7 @@ services: else\n redis-server /etc/redis/redis.conf --requirepass ${REDIS_ROOT_PASSWORD}\n\ fi'\n" container_name: redis - image: redis:6.2.18-alpine + image: redis:7.4.4-alpine labels: createdBy: Apps networks: diff --git a/dockge/redis_6_2_18/envs/default.env b/dockge/redis_7_4_4/envs/default.env similarity index 100% rename from dockge/redis_6_2_18/envs/default.env rename to dockge/redis_7_4_4/envs/default.env diff --git a/dockge/redis_6_2_18/envs/global.env b/dockge/redis_7_4_4/envs/global.env similarity index 100% rename from dockge/redis_6_2_18/envs/global.env rename to dockge/redis_7_4_4/envs/global.env diff --git a/dockge/stream-rec/docker-compose.yml b/dockge/stream-rec/docker-compose.yml index 4076f23a1..8465b7136 100644 --- a/dockge/stream-rec/docker-compose.yml +++ b/dockge/stream-rec/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:main + image: streamrec/stream-rec:dev labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:main + image: streamrec/stream-rec-front:dev labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_dev/.env b/dockge/stream-rec_main/.env similarity index 100% rename from dockge/stream-rec_dev/.env rename to dockge/stream-rec_main/.env diff --git a/dockge/stream-rec_dev/docker-compose.yml b/dockge/stream-rec_main/docker-compose.yml similarity index 92% rename from dockge/stream-rec_dev/docker-compose.yml rename to dockge/stream-rec_main/docker-compose.yml index 8465b7136..4076f23a1 100644 --- a/dockge/stream-rec_dev/docker-compose.yml +++ b/dockge/stream-rec_main/docker-compose.yml @@ -15,7 +15,7 @@ services: - DOWNLOAD_PATH=/download - PGID=1000 - PUID=1000 - image: streamrec/stream-rec:dev + image: streamrec/stream-rec:main labels: createdBy: Apps networks: @@ -37,7 +37,7 @@ services: environment: - TZ=Asia/Shanghai - API_URL=http://stream-rec-backend:12555/api - image: streamrec/stream-rec-front:dev + image: streamrec/stream-rec-front:main labels: createdBy: Apps networks: diff --git a/dockge/stream-rec_dev/envs/default.env b/dockge/stream-rec_main/envs/default.env similarity index 100% rename from dockge/stream-rec_dev/envs/default.env rename to dockge/stream-rec_main/envs/default.env diff --git a/dockge/stream-rec_dev/envs/global.env b/dockge/stream-rec_main/envs/global.env similarity index 100% rename from dockge/stream-rec_dev/envs/global.env rename to dockge/stream-rec_main/envs/global.env diff --git a/dockge/umami-mysql/docker-compose.yml b/dockge/umami-mysql/docker-compose.yml index 2bc7a13bc..0347d07c0 100644 --- a/dockge/umami-mysql/docker-compose.yml +++ b/dockge/umami-mysql/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.16.0 + image: umamisoftware/umami:mysql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_18_1/.env b/dockge/umami-mysql_2_16_0/.env similarity index 100% rename from dockge/umami-mysql_2_18_1/.env rename to dockge/umami-mysql_2_16_0/.env diff --git a/dockge/umami-mysql_2_18_1/docker-compose.yml b/dockge/umami-mysql_2_16_0/docker-compose.yml similarity index 91% rename from dockge/umami-mysql_2_18_1/docker-compose.yml rename to dockge/umami-mysql_2_16_0/docker-compose.yml index 0347d07c0..2bc7a13bc 100644 --- a/dockge/umami-mysql_2_18_1/docker-compose.yml +++ b/dockge/umami-mysql_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=mysql - DATABASE_URL=mysql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:mysql-v2.18.1 + image: umamisoftware/umami:mysql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami-mysql_2_18_1/envs/default.env b/dockge/umami-mysql_2_16_0/envs/default.env similarity index 100% rename from dockge/umami-mysql_2_18_1/envs/default.env rename to dockge/umami-mysql_2_16_0/envs/default.env diff --git a/dockge/umami-mysql_2_18_1/envs/global.env b/dockge/umami-mysql_2_16_0/envs/global.env similarity index 100% rename from dockge/umami-mysql_2_18_1/envs/global.env rename to dockge/umami-mysql_2_16_0/envs/global.env diff --git a/dockge/umami/docker-compose.yml b/dockge/umami/docker-compose.yml index 7f7a58660..9bbf23909 100644 --- a/dockge/umami/docker-compose.yml +++ b/dockge/umami/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.16.0 + image: umamisoftware/umami:postgresql-v2.18.1 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_18_1/.env b/dockge/umami_2_16_0/.env similarity index 100% rename from dockge/umami_2_18_1/.env rename to dockge/umami_2_16_0/.env diff --git a/dockge/umami_2_18_1/docker-compose.yml b/dockge/umami_2_16_0/docker-compose.yml similarity index 90% rename from dockge/umami_2_18_1/docker-compose.yml rename to dockge/umami_2_16_0/docker-compose.yml index 9bbf23909..7f7a58660 100644 --- a/dockge/umami_2_18_1/docker-compose.yml +++ b/dockge/umami_2_16_0/docker-compose.yml @@ -12,7 +12,7 @@ services: - REMOVE_TRAILING_SLASH = 1 - DATABASE_TYPE=postgresql - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME} - image: umamisoftware/umami:postgresql-v2.18.1 + image: umamisoftware/umami:postgresql-v2.16.0 labels: createdBy: Apps networks: diff --git a/dockge/umami_2_18_1/envs/default.env b/dockge/umami_2_16_0/envs/default.env similarity index 100% rename from dockge/umami_2_18_1/envs/default.env rename to dockge/umami_2_16_0/envs/default.env diff --git a/dockge/umami_2_18_1/envs/global.env b/dockge/umami_2_16_0/envs/global.env similarity index 100% rename from dockge/umami_2_18_1/envs/global.env rename to dockge/umami_2_16_0/envs/global.env diff --git a/dockge/uptime-kuma/.env b/dockge/uptime-kuma/.env index 32a291fcd..5fa74c158 100644 --- a/dockge/uptime-kuma/.env +++ b/dockge/uptime-kuma/.env @@ -4,3 +4,9 @@ UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=3001 +# Cloudflared 隧道令牌 +UPTIME_KUMA_CLOUDFLARED_TOKEN= + +# 禁用 Frame SameOrigin [必填] +UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false + diff --git a/dockge/uptime-kuma/docker-compose.yml b/dockge/uptime-kuma/docker-compose.yml index c6ee97339..03b4560f7 100644 --- a/dockge/uptime-kuma/docker-compose.yml +++ b/dockge/uptime-kuma/docker-compose.yml @@ -7,7 +7,16 @@ services: env_file: - ./envs/global.env - .env - image: louislam/uptime-kuma:2.0.0-beta.3 + environment: + - PUID=0 + - PGID=0 + - UPTIME_KUMA_PORT=3001 + - UPTIME_KUMA_HOST=0.0.0.0 + - DATA_DIR=/app/data + - NODE_TLS_REJECT_UNAUTHORIZED=0 + - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 + - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like + image: louislam/uptime-kuma:1.23.16 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/.env b/dockge/uptime-kuma_1_23_16/.env deleted file mode 100644 index 5fa74c158..000000000 --- a/dockge/uptime-kuma_1_23_16/.env +++ /dev/null @@ -1,12 +0,0 @@ -# 数据持久化路径 [必填] -UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma - -# WebUI 端口 [必填] -PANEL_APP_PORT_HTTP=3001 - -# Cloudflared 隧道令牌 -UPTIME_KUMA_CLOUDFLARED_TOKEN= - -# 禁用 Frame SameOrigin [必填] -UPTIME_KUMA_DISABLE_FRAME_SAMEORIGIN=false - diff --git a/dockge/uptime-kuma_2_0_0/.env b/dockge/uptime-kuma_2_0_0/.env new file mode 100644 index 000000000..32a291fcd --- /dev/null +++ b/dockge/uptime-kuma_2_0_0/.env @@ -0,0 +1,6 @@ +# 数据持久化路径 [必填] +UPTIME_KUMA_ROOT_PATH=/home/uptime-kuma + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=3001 + diff --git a/dockge/uptime-kuma_1_23_16/docker-compose.yml b/dockge/uptime-kuma_2_0_0/docker-compose.yml similarity index 57% rename from dockge/uptime-kuma_1_23_16/docker-compose.yml rename to dockge/uptime-kuma_2_0_0/docker-compose.yml index 03b4560f7..c6ee97339 100644 --- a/dockge/uptime-kuma_1_23_16/docker-compose.yml +++ b/dockge/uptime-kuma_2_0_0/docker-compose.yml @@ -7,16 +7,7 @@ services: env_file: - ./envs/global.env - .env - environment: - - PUID=0 - - PGID=0 - - UPTIME_KUMA_PORT=3001 - - UPTIME_KUMA_HOST=0.0.0.0 - - DATA_DIR=/app/data - - NODE_TLS_REJECT_UNAUTHORIZED=0 - - UPTIME_KUMA_ALLOW_ALL_CHROME_EXEC=0 - - UPTIME_KUMA_WS_ORIGIN_CHECK=cors-like - image: louislam/uptime-kuma:1.23.16 + image: louislam/uptime-kuma:2.0.0-beta.3 labels: createdBy: Apps networks: diff --git a/dockge/uptime-kuma_1_23_16/envs/default.env b/dockge/uptime-kuma_2_0_0/envs/default.env similarity index 100% rename from dockge/uptime-kuma_1_23_16/envs/default.env rename to dockge/uptime-kuma_2_0_0/envs/default.env diff --git a/dockge/uptime-kuma_1_23_16/envs/global.env b/dockge/uptime-kuma_2_0_0/envs/global.env similarity index 100% rename from dockge/uptime-kuma_1_23_16/envs/global.env rename to dockge/uptime-kuma_2_0_0/envs/global.env From c16340fa536873c385ff13297801c2964b1eb775 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 01:53:21 +0000 Subject: [PATCH 55/96] Update emby/embyserver Docker tag to v4.9.1.3 --- apps/emby/4.9.1.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emby/4.9.1.1/docker-compose.yml b/apps/emby/4.9.1.1/docker-compose.yml index 6562bad9e..667c9f828 100644 --- a/apps/emby/4.9.1.1/docker-compose.yml +++ b/apps/emby/4.9.1.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: emby: - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.9.1.3 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 0b26f60fb3abc82cab9ff2d80328ba095b9d250c Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 27 Jun 2025 01:53:30 +0000 Subject: [PATCH 56/96] Update app version [skip ci] --- apps/emby/{4.9.1.1 => 4.9.1.3}/data.yml | 0 apps/emby/{4.9.1.1 => 4.9.1.3}/docker-compose.yml | 0 apps/emby/{4.9.1.1 => 4.9.1.3}/envs/default.env | 0 apps/emby/{4.9.1.1 => 4.9.1.3}/envs/global.env | 0 apps/emby/{4.9.1.1 => 4.9.1.3}/scripts/init.sh | 0 apps/emby/{4.9.1.1 => 4.9.1.3}/scripts/uninstall.sh | 0 apps/emby/{4.9.1.1 => 4.9.1.3}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/emby/{4.9.1.1 => 4.9.1.3}/data.yml (100%) rename apps/emby/{4.9.1.1 => 4.9.1.3}/docker-compose.yml (100%) rename apps/emby/{4.9.1.1 => 4.9.1.3}/envs/default.env (100%) rename apps/emby/{4.9.1.1 => 4.9.1.3}/envs/global.env (100%) rename apps/emby/{4.9.1.1 => 4.9.1.3}/scripts/init.sh (100%) rename apps/emby/{4.9.1.1 => 4.9.1.3}/scripts/uninstall.sh (100%) rename apps/emby/{4.9.1.1 => 4.9.1.3}/scripts/upgrade.sh (100%) diff --git a/apps/emby/4.9.1.1/data.yml b/apps/emby/4.9.1.3/data.yml similarity index 100% rename from apps/emby/4.9.1.1/data.yml rename to apps/emby/4.9.1.3/data.yml diff --git a/apps/emby/4.9.1.1/docker-compose.yml b/apps/emby/4.9.1.3/docker-compose.yml similarity index 100% rename from apps/emby/4.9.1.1/docker-compose.yml rename to apps/emby/4.9.1.3/docker-compose.yml diff --git a/apps/emby/4.9.1.1/envs/default.env b/apps/emby/4.9.1.3/envs/default.env similarity index 100% rename from apps/emby/4.9.1.1/envs/default.env rename to apps/emby/4.9.1.3/envs/default.env diff --git a/apps/emby/4.9.1.1/envs/global.env b/apps/emby/4.9.1.3/envs/global.env similarity index 100% rename from apps/emby/4.9.1.1/envs/global.env rename to apps/emby/4.9.1.3/envs/global.env diff --git a/apps/emby/4.9.1.1/scripts/init.sh b/apps/emby/4.9.1.3/scripts/init.sh similarity index 100% rename from apps/emby/4.9.1.1/scripts/init.sh rename to apps/emby/4.9.1.3/scripts/init.sh diff --git a/apps/emby/4.9.1.1/scripts/uninstall.sh b/apps/emby/4.9.1.3/scripts/uninstall.sh similarity index 100% rename from apps/emby/4.9.1.1/scripts/uninstall.sh rename to apps/emby/4.9.1.3/scripts/uninstall.sh diff --git a/apps/emby/4.9.1.1/scripts/upgrade.sh b/apps/emby/4.9.1.3/scripts/upgrade.sh similarity index 100% rename from apps/emby/4.9.1.1/scripts/upgrade.sh rename to apps/emby/4.9.1.3/scripts/upgrade.sh From 6028249c2b5c50a418e326a64077c81ec99ff7f2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 03:18:12 +0000 Subject: [PATCH 57/96] Update svhd/logto Docker tag to v1.29.0 --- apps/logto/1.28.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/logto/1.28.0/docker-compose.yml b/apps/logto/1.28.0/docker-compose.yml index b225f589c..7c1ca1ac3 100644 --- a/apps/logto/1.28.0/docker-compose.yml +++ b/apps/logto/1.28.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: logto: - image: svhd/logto:1.28.0 + image: svhd/logto:1.29.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 19692ddbfab2eb3bb7f71e81dbca9f246f3aff86 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 27 Jun 2025 03:18:22 +0000 Subject: [PATCH 58/96] Update app version [skip ci] --- apps/logto/{1.28.0 => 1.29.0}/data.yml | 0 apps/logto/{1.28.0 => 1.29.0}/docker-compose.yml | 0 apps/logto/{1.28.0 => 1.29.0}/envs/default.env | 0 apps/logto/{1.28.0 => 1.29.0}/envs/global.env | 0 apps/logto/{1.28.0 => 1.29.0}/scripts/init.sh | 0 apps/logto/{1.28.0 => 1.29.0}/scripts/uninstall.sh | 0 apps/logto/{1.28.0 => 1.29.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/logto/{1.28.0 => 1.29.0}/data.yml (100%) rename apps/logto/{1.28.0 => 1.29.0}/docker-compose.yml (100%) rename apps/logto/{1.28.0 => 1.29.0}/envs/default.env (100%) rename apps/logto/{1.28.0 => 1.29.0}/envs/global.env (100%) rename apps/logto/{1.28.0 => 1.29.0}/scripts/init.sh (100%) rename apps/logto/{1.28.0 => 1.29.0}/scripts/uninstall.sh (100%) rename apps/logto/{1.28.0 => 1.29.0}/scripts/upgrade.sh (100%) diff --git a/apps/logto/1.28.0/data.yml b/apps/logto/1.29.0/data.yml similarity index 100% rename from apps/logto/1.28.0/data.yml rename to apps/logto/1.29.0/data.yml diff --git a/apps/logto/1.28.0/docker-compose.yml b/apps/logto/1.29.0/docker-compose.yml similarity index 100% rename from apps/logto/1.28.0/docker-compose.yml rename to apps/logto/1.29.0/docker-compose.yml diff --git a/apps/logto/1.28.0/envs/default.env b/apps/logto/1.29.0/envs/default.env similarity index 100% rename from apps/logto/1.28.0/envs/default.env rename to apps/logto/1.29.0/envs/default.env diff --git a/apps/logto/1.28.0/envs/global.env b/apps/logto/1.29.0/envs/global.env similarity index 100% rename from apps/logto/1.28.0/envs/global.env rename to apps/logto/1.29.0/envs/global.env diff --git a/apps/logto/1.28.0/scripts/init.sh b/apps/logto/1.29.0/scripts/init.sh similarity index 100% rename from apps/logto/1.28.0/scripts/init.sh rename to apps/logto/1.29.0/scripts/init.sh diff --git a/apps/logto/1.28.0/scripts/uninstall.sh b/apps/logto/1.29.0/scripts/uninstall.sh similarity index 100% rename from apps/logto/1.28.0/scripts/uninstall.sh rename to apps/logto/1.29.0/scripts/uninstall.sh diff --git a/apps/logto/1.28.0/scripts/upgrade.sh b/apps/logto/1.29.0/scripts/upgrade.sh similarity index 100% rename from apps/logto/1.28.0/scripts/upgrade.sh rename to apps/logto/1.29.0/scripts/upgrade.sh From 649e6a771d5bae49f091326d84d4e365b19387da Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Fri, 27 Jun 2025 03:50:08 +0000 Subject: [PATCH 59/96] Processed apps directory via GitHub Actions --- appstore/ammds-ol8/{1.6.16 => 1.6.18}/.env | 0 appstore/ammds-ol8/{1.6.16 => 1.6.18}/data.yml | 0 appstore/ammds-ol8/{1.6.16 => 1.6.18}/docker-compose.yml | 2 +- appstore/ammds-ol8/{1.6.16 => 1.6.18}/envs/default.env | 0 appstore/ammds-ol8/{1.6.16 => 1.6.18}/envs/global.env | 0 appstore/ammds-ol8/{1.6.16 => 1.6.18}/scripts/init.sh | 0 appstore/ammds-ol8/{1.6.16 => 1.6.18}/scripts/uninstall.sh | 0 appstore/ammds-ol8/{1.6.16 => 1.6.18}/scripts/upgrade.sh | 0 appstore/ammds/{1.6.16 => 1.6.18}/.env | 0 appstore/ammds/{1.6.16 => 1.6.18}/data.yml | 0 appstore/ammds/{1.6.16 => 1.6.18}/docker-compose.yml | 2 +- appstore/ammds/{1.6.16 => 1.6.18}/envs/default.env | 0 appstore/ammds/{1.6.16 => 1.6.18}/envs/global.env | 0 appstore/ammds/{1.6.16 => 1.6.18}/scripts/init.sh | 0 appstore/ammds/{1.6.16 => 1.6.18}/scripts/uninstall.sh | 0 appstore/ammds/{1.6.16 => 1.6.18}/scripts/upgrade.sh | 0 appstore/casdoor/{1.948.0 => 1.949.0}/.env | 0 appstore/casdoor/{1.948.0 => 1.949.0}/config/init_data.json | 0 appstore/casdoor/{1.948.0 => 1.949.0}/data.yml | 0 appstore/casdoor/{1.948.0 => 1.949.0}/docker-compose.yml | 2 +- appstore/casdoor/{1.948.0 => 1.949.0}/envs/casdoor.env | 0 appstore/casdoor/{1.948.0 => 1.949.0}/envs/default.env | 0 appstore/casdoor/{1.948.0 => 1.949.0}/envs/global.env | 0 appstore/casdoor/{1.948.0 => 1.949.0}/scripts/init.sh | 0 appstore/casdoor/{1.948.0 => 1.949.0}/scripts/uninstall.sh | 0 appstore/casdoor/{1.948.0 => 1.949.0}/scripts/upgrade.sh | 0 appstore/emby/{4.9.1.1 => 4.9.1.3}/.env | 0 appstore/emby/{4.9.1.1 => 4.9.1.3}/data.yml | 0 .../emby_4_9_1_1 => appstore/emby/4.9.1.3}/docker-compose.yml | 2 +- appstore/emby/{4.9.1.1 => 4.9.1.3}/envs/default.env | 0 appstore/emby/{4.9.1.1 => 4.9.1.3}/envs/global.env | 0 appstore/emby/{4.9.1.1 => 4.9.1.3}/scripts/init.sh | 0 appstore/emby/{4.9.1.1 => 4.9.1.3}/scripts/uninstall.sh | 0 appstore/emby/{4.9.1.1 => 4.9.1.3}/scripts/upgrade.sh | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/.env | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/data.yml | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/docker-compose.yml | 2 +- appstore/halo-h2/{2.21.1 => 2.21.2}/envs/default.env | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/envs/global.env | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/scripts/init.sh | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/scripts/uninstall.sh | 0 appstore/halo-h2/{2.21.1 => 2.21.2}/scripts/upgrade.sh | 0 appstore/halo/{2.21.1 => 2.21.2}/.env | 0 appstore/halo/{2.21.1 => 2.21.2}/data.yml | 0 appstore/halo/{2.21.1 => 2.21.2}/docker-compose.yml | 2 +- appstore/halo/{2.21.1 => 2.21.2}/envs/default.env | 0 appstore/halo/{2.21.1 => 2.21.2}/envs/global.env | 0 appstore/halo/{2.21.1 => 2.21.2}/scripts/init.sh | 0 appstore/halo/{2.21.1 => 2.21.2}/scripts/uninstall.sh | 0 appstore/halo/{2.21.1 => 2.21.2}/scripts/upgrade.sh | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/.env | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/data.yml | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.6.1 => 1.6.2}/envs/default.env | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/envs/global.env | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/scripts/init.sh | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.6.1 => 1.6.2}/scripts/upgrade.sh | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/.env | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/data.yml | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/docker-compose.yml | 2 +- appstore/rsshub/{2025-06-25 => 2025-06-26}/envs/default.env | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/envs/global.env | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/scripts/init.sh | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/scripts/uninstall.sh | 0 appstore/rsshub/{2025-06-25 => 2025-06-26}/scripts/upgrade.sh | 0 dockge/ammds-ol8/docker-compose.yml | 2 +- dockge/ammds/docker-compose.yml | 2 +- dockge/casdoor/docker-compose.yml | 2 +- dockge/{emby_4_9_1_1 => emby_4_9_1_3}/.env | 0 .../emby/4.9.1.1 => dockge/emby_4_9_1_3}/docker-compose.yml | 2 +- dockge/{emby_4_9_1_1 => emby_4_9_1_3}/envs/default.env | 0 dockge/{emby_4_9_1_1 => emby_4_9_1_3}/envs/global.env | 0 dockge/halo-h2/docker-compose.yml | 2 +- dockge/halo/docker-compose.yml | 2 +- dockge/mdc-ng/docker-compose.yml | 2 +- dockge/rsshub/docker-compose.yml | 2 +- 77 files changed, 16 insertions(+), 16 deletions(-) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/.env (100%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/data.yml (100%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/docker-compose.yml (95%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/envs/default.env (100%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/envs/global.env (100%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/scripts/init.sh (100%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/scripts/uninstall.sh (100%) rename appstore/ammds-ol8/{1.6.16 => 1.6.18}/scripts/upgrade.sh (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/.env (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/data.yml (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/docker-compose.yml (96%) rename appstore/ammds/{1.6.16 => 1.6.18}/envs/default.env (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/envs/global.env (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/scripts/init.sh (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/scripts/uninstall.sh (100%) rename appstore/ammds/{1.6.16 => 1.6.18}/scripts/upgrade.sh (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/.env (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/config/init_data.json (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/data.yml (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/docker-compose.yml (93%) rename appstore/casdoor/{1.948.0 => 1.949.0}/envs/casdoor.env (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/envs/default.env (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/envs/global.env (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/scripts/init.sh (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/scripts/uninstall.sh (100%) rename appstore/casdoor/{1.948.0 => 1.949.0}/scripts/upgrade.sh (100%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/.env (100%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/data.yml (100%) rename {dockge/emby_4_9_1_1 => appstore/emby/4.9.1.3}/docker-compose.yml (96%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/envs/default.env (100%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/envs/global.env (100%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/scripts/init.sh (100%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/scripts/uninstall.sh (100%) rename appstore/emby/{4.9.1.1 => 4.9.1.3}/scripts/upgrade.sh (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/.env (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/data.yml (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/docker-compose.yml (93%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/envs/default.env (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/envs/global.env (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/scripts/init.sh (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/scripts/uninstall.sh (100%) rename appstore/halo-h2/{2.21.1 => 2.21.2}/scripts/upgrade.sh (100%) rename appstore/halo/{2.21.1 => 2.21.2}/.env (100%) rename appstore/halo/{2.21.1 => 2.21.2}/data.yml (100%) rename appstore/halo/{2.21.1 => 2.21.2}/docker-compose.yml (95%) rename appstore/halo/{2.21.1 => 2.21.2}/envs/default.env (100%) rename appstore/halo/{2.21.1 => 2.21.2}/envs/global.env (100%) rename appstore/halo/{2.21.1 => 2.21.2}/scripts/init.sh (100%) rename appstore/halo/{2.21.1 => 2.21.2}/scripts/uninstall.sh (100%) rename appstore/halo/{2.21.1 => 2.21.2}/scripts/upgrade.sh (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/.env (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/data.yml (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/envs/default.env (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/envs/global.env (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.6.1 => 1.6.2}/scripts/upgrade.sh (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/.env (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/data.yml (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/docker-compose.yml (97%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/envs/default.env (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/envs/global.env (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/scripts/init.sh (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/scripts/uninstall.sh (100%) rename appstore/rsshub/{2025-06-25 => 2025-06-26}/scripts/upgrade.sh (100%) rename dockge/{emby_4_9_1_1 => emby_4_9_1_3}/.env (100%) rename {appstore/emby/4.9.1.1 => dockge/emby_4_9_1_3}/docker-compose.yml (96%) rename dockge/{emby_4_9_1_1 => emby_4_9_1_3}/envs/default.env (100%) rename dockge/{emby_4_9_1_1 => emby_4_9_1_3}/envs/global.env (100%) diff --git a/appstore/ammds-ol8/1.6.16/.env b/appstore/ammds-ol8/1.6.18/.env similarity index 100% rename from appstore/ammds-ol8/1.6.16/.env rename to appstore/ammds-ol8/1.6.18/.env diff --git a/appstore/ammds-ol8/1.6.16/data.yml b/appstore/ammds-ol8/1.6.18/data.yml similarity index 100% rename from appstore/ammds-ol8/1.6.16/data.yml rename to appstore/ammds-ol8/1.6.18/data.yml diff --git a/appstore/ammds-ol8/1.6.16/docker-compose.yml b/appstore/ammds-ol8/1.6.18/docker-compose.yml similarity index 95% rename from appstore/ammds-ol8/1.6.16/docker-compose.yml rename to appstore/ammds-ol8/1.6.18/docker-compose.yml index d631c50b3..22fa20995 100644 --- a/appstore/ammds-ol8/1.6.16/docker-compose.yml +++ b/appstore/ammds-ol8/1.6.18/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.16-ol8 + image: qyg2297248353/ammds:v1.6.18-ol8 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/ammds-ol8/1.6.16/envs/default.env b/appstore/ammds-ol8/1.6.18/envs/default.env similarity index 100% rename from appstore/ammds-ol8/1.6.16/envs/default.env rename to appstore/ammds-ol8/1.6.18/envs/default.env diff --git a/appstore/ammds-ol8/1.6.16/envs/global.env b/appstore/ammds-ol8/1.6.18/envs/global.env similarity index 100% rename from appstore/ammds-ol8/1.6.16/envs/global.env rename to appstore/ammds-ol8/1.6.18/envs/global.env diff --git a/appstore/ammds-ol8/1.6.16/scripts/init.sh b/appstore/ammds-ol8/1.6.18/scripts/init.sh similarity index 100% rename from appstore/ammds-ol8/1.6.16/scripts/init.sh rename to appstore/ammds-ol8/1.6.18/scripts/init.sh diff --git a/appstore/ammds-ol8/1.6.16/scripts/uninstall.sh b/appstore/ammds-ol8/1.6.18/scripts/uninstall.sh similarity index 100% rename from appstore/ammds-ol8/1.6.16/scripts/uninstall.sh rename to appstore/ammds-ol8/1.6.18/scripts/uninstall.sh diff --git a/appstore/ammds-ol8/1.6.16/scripts/upgrade.sh b/appstore/ammds-ol8/1.6.18/scripts/upgrade.sh similarity index 100% rename from appstore/ammds-ol8/1.6.16/scripts/upgrade.sh rename to appstore/ammds-ol8/1.6.18/scripts/upgrade.sh diff --git a/appstore/ammds/1.6.16/.env b/appstore/ammds/1.6.18/.env similarity index 100% rename from appstore/ammds/1.6.16/.env rename to appstore/ammds/1.6.18/.env diff --git a/appstore/ammds/1.6.16/data.yml b/appstore/ammds/1.6.18/data.yml similarity index 100% rename from appstore/ammds/1.6.16/data.yml rename to appstore/ammds/1.6.18/data.yml diff --git a/appstore/ammds/1.6.16/docker-compose.yml b/appstore/ammds/1.6.18/docker-compose.yml similarity index 96% rename from appstore/ammds/1.6.16/docker-compose.yml rename to appstore/ammds/1.6.18/docker-compose.yml index 668738ab3..c5e9b458b 100644 --- a/appstore/ammds/1.6.16/docker-compose.yml +++ b/appstore/ammds/1.6.18/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.16 + image: qyg2297248353/ammds:v1.6.18 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/ammds/1.6.16/envs/default.env b/appstore/ammds/1.6.18/envs/default.env similarity index 100% rename from appstore/ammds/1.6.16/envs/default.env rename to appstore/ammds/1.6.18/envs/default.env diff --git a/appstore/ammds/1.6.16/envs/global.env b/appstore/ammds/1.6.18/envs/global.env similarity index 100% rename from appstore/ammds/1.6.16/envs/global.env rename to appstore/ammds/1.6.18/envs/global.env diff --git a/appstore/ammds/1.6.16/scripts/init.sh b/appstore/ammds/1.6.18/scripts/init.sh similarity index 100% rename from appstore/ammds/1.6.16/scripts/init.sh rename to appstore/ammds/1.6.18/scripts/init.sh diff --git a/appstore/ammds/1.6.16/scripts/uninstall.sh b/appstore/ammds/1.6.18/scripts/uninstall.sh similarity index 100% rename from appstore/ammds/1.6.16/scripts/uninstall.sh rename to appstore/ammds/1.6.18/scripts/uninstall.sh diff --git a/appstore/ammds/1.6.16/scripts/upgrade.sh b/appstore/ammds/1.6.18/scripts/upgrade.sh similarity index 100% rename from appstore/ammds/1.6.16/scripts/upgrade.sh rename to appstore/ammds/1.6.18/scripts/upgrade.sh diff --git a/appstore/casdoor/1.948.0/.env b/appstore/casdoor/1.949.0/.env similarity index 100% rename from appstore/casdoor/1.948.0/.env rename to appstore/casdoor/1.949.0/.env diff --git a/appstore/casdoor/1.948.0/config/init_data.json b/appstore/casdoor/1.949.0/config/init_data.json similarity index 100% rename from appstore/casdoor/1.948.0/config/init_data.json rename to appstore/casdoor/1.949.0/config/init_data.json diff --git a/appstore/casdoor/1.948.0/data.yml b/appstore/casdoor/1.949.0/data.yml similarity index 100% rename from appstore/casdoor/1.948.0/data.yml rename to appstore/casdoor/1.949.0/data.yml diff --git a/appstore/casdoor/1.948.0/docker-compose.yml b/appstore/casdoor/1.949.0/docker-compose.yml similarity index 93% rename from appstore/casdoor/1.948.0/docker-compose.yml rename to appstore/casdoor/1.949.0/docker-compose.yml index 856029ce1..0289be9ec 100644 --- a/appstore/casdoor/1.948.0/docker-compose.yml +++ b/appstore/casdoor/1.949.0/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.948.0 + image: casbin/casdoor:v1.949.0 labels: createdBy: Apps networks: diff --git a/appstore/casdoor/1.948.0/envs/casdoor.env b/appstore/casdoor/1.949.0/envs/casdoor.env similarity index 100% rename from appstore/casdoor/1.948.0/envs/casdoor.env rename to appstore/casdoor/1.949.0/envs/casdoor.env diff --git a/appstore/casdoor/1.948.0/envs/default.env b/appstore/casdoor/1.949.0/envs/default.env similarity index 100% rename from appstore/casdoor/1.948.0/envs/default.env rename to appstore/casdoor/1.949.0/envs/default.env diff --git a/appstore/casdoor/1.948.0/envs/global.env b/appstore/casdoor/1.949.0/envs/global.env similarity index 100% rename from appstore/casdoor/1.948.0/envs/global.env rename to appstore/casdoor/1.949.0/envs/global.env diff --git a/appstore/casdoor/1.948.0/scripts/init.sh b/appstore/casdoor/1.949.0/scripts/init.sh similarity index 100% rename from appstore/casdoor/1.948.0/scripts/init.sh rename to appstore/casdoor/1.949.0/scripts/init.sh diff --git a/appstore/casdoor/1.948.0/scripts/uninstall.sh b/appstore/casdoor/1.949.0/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/1.948.0/scripts/uninstall.sh rename to appstore/casdoor/1.949.0/scripts/uninstall.sh diff --git a/appstore/casdoor/1.948.0/scripts/upgrade.sh b/appstore/casdoor/1.949.0/scripts/upgrade.sh similarity index 100% rename from appstore/casdoor/1.948.0/scripts/upgrade.sh rename to appstore/casdoor/1.949.0/scripts/upgrade.sh diff --git a/appstore/emby/4.9.1.1/.env b/appstore/emby/4.9.1.3/.env similarity index 100% rename from appstore/emby/4.9.1.1/.env rename to appstore/emby/4.9.1.3/.env diff --git a/appstore/emby/4.9.1.1/data.yml b/appstore/emby/4.9.1.3/data.yml similarity index 100% rename from appstore/emby/4.9.1.1/data.yml rename to appstore/emby/4.9.1.3/data.yml diff --git a/dockge/emby_4_9_1_1/docker-compose.yml b/appstore/emby/4.9.1.3/docker-compose.yml similarity index 96% rename from dockge/emby_4_9_1_1/docker-compose.yml rename to appstore/emby/4.9.1.3/docker-compose.yml index e2d892aa1..8859201b7 100644 --- a/dockge/emby_4_9_1_1/docker-compose.yml +++ b/appstore/emby/4.9.1.3/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.9.1.3 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/emby/4.9.1.1/envs/default.env b/appstore/emby/4.9.1.3/envs/default.env similarity index 100% rename from appstore/emby/4.9.1.1/envs/default.env rename to appstore/emby/4.9.1.3/envs/default.env diff --git a/appstore/emby/4.9.1.1/envs/global.env b/appstore/emby/4.9.1.3/envs/global.env similarity index 100% rename from appstore/emby/4.9.1.1/envs/global.env rename to appstore/emby/4.9.1.3/envs/global.env diff --git a/appstore/emby/4.9.1.1/scripts/init.sh b/appstore/emby/4.9.1.3/scripts/init.sh similarity index 100% rename from appstore/emby/4.9.1.1/scripts/init.sh rename to appstore/emby/4.9.1.3/scripts/init.sh diff --git a/appstore/emby/4.9.1.1/scripts/uninstall.sh b/appstore/emby/4.9.1.3/scripts/uninstall.sh similarity index 100% rename from appstore/emby/4.9.1.1/scripts/uninstall.sh rename to appstore/emby/4.9.1.3/scripts/uninstall.sh diff --git a/appstore/emby/4.9.1.1/scripts/upgrade.sh b/appstore/emby/4.9.1.3/scripts/upgrade.sh similarity index 100% rename from appstore/emby/4.9.1.1/scripts/upgrade.sh rename to appstore/emby/4.9.1.3/scripts/upgrade.sh diff --git a/appstore/halo-h2/2.21.1/.env b/appstore/halo-h2/2.21.2/.env similarity index 100% rename from appstore/halo-h2/2.21.1/.env rename to appstore/halo-h2/2.21.2/.env diff --git a/appstore/halo-h2/2.21.1/data.yml b/appstore/halo-h2/2.21.2/data.yml similarity index 100% rename from appstore/halo-h2/2.21.1/data.yml rename to appstore/halo-h2/2.21.2/data.yml diff --git a/appstore/halo-h2/2.21.1/docker-compose.yml b/appstore/halo-h2/2.21.2/docker-compose.yml similarity index 93% rename from appstore/halo-h2/2.21.1/docker-compose.yml rename to appstore/halo-h2/2.21.2/docker-compose.yml index 0839b2f3a..a832ced56 100644 --- a/appstore/halo-h2/2.21.1/docker-compose.yml +++ b/appstore/halo-h2/2.21.2/docker-compose.yml @@ -9,7 +9,7 @@ services: container_name: halo-h2 environment: - JVM_OPTS=-Xmx256m -Xms256m - image: halohub/halo:2.21.1 + image: halohub/halo:2.21.2 labels: createdBy: Apps networks: diff --git a/appstore/halo-h2/2.21.1/envs/default.env b/appstore/halo-h2/2.21.2/envs/default.env similarity index 100% rename from appstore/halo-h2/2.21.1/envs/default.env rename to appstore/halo-h2/2.21.2/envs/default.env diff --git a/appstore/halo-h2/2.21.1/envs/global.env b/appstore/halo-h2/2.21.2/envs/global.env similarity index 100% rename from appstore/halo-h2/2.21.1/envs/global.env rename to appstore/halo-h2/2.21.2/envs/global.env diff --git a/appstore/halo-h2/2.21.1/scripts/init.sh b/appstore/halo-h2/2.21.2/scripts/init.sh similarity index 100% rename from appstore/halo-h2/2.21.1/scripts/init.sh rename to appstore/halo-h2/2.21.2/scripts/init.sh diff --git a/appstore/halo-h2/2.21.1/scripts/uninstall.sh b/appstore/halo-h2/2.21.2/scripts/uninstall.sh similarity index 100% rename from appstore/halo-h2/2.21.1/scripts/uninstall.sh rename to appstore/halo-h2/2.21.2/scripts/uninstall.sh diff --git a/appstore/halo-h2/2.21.1/scripts/upgrade.sh b/appstore/halo-h2/2.21.2/scripts/upgrade.sh similarity index 100% rename from appstore/halo-h2/2.21.1/scripts/upgrade.sh rename to appstore/halo-h2/2.21.2/scripts/upgrade.sh diff --git a/appstore/halo/2.21.1/.env b/appstore/halo/2.21.2/.env similarity index 100% rename from appstore/halo/2.21.1/.env rename to appstore/halo/2.21.2/.env diff --git a/appstore/halo/2.21.1/data.yml b/appstore/halo/2.21.2/data.yml similarity index 100% rename from appstore/halo/2.21.1/data.yml rename to appstore/halo/2.21.2/data.yml diff --git a/appstore/halo/2.21.1/docker-compose.yml b/appstore/halo/2.21.2/docker-compose.yml similarity index 95% rename from appstore/halo/2.21.1/docker-compose.yml rename to appstore/halo/2.21.2/docker-compose.yml index c033cbd90..13fe712b5 100644 --- a/appstore/halo/2.21.1/docker-compose.yml +++ b/appstore/halo/2.21.2/docker-compose.yml @@ -11,7 +11,7 @@ services: - --halo.external-url=${HALO_EXTERNAL_URL} - --halo.security.remember-me.token-validity=${HALO_REMEMBER_ME_TOKEN_VALIDITY} container_name: halo - image: halohub/halo:2.21.1 + image: halohub/halo:2.21.2 labels: createdBy: Apps networks: diff --git a/appstore/halo/2.21.1/envs/default.env b/appstore/halo/2.21.2/envs/default.env similarity index 100% rename from appstore/halo/2.21.1/envs/default.env rename to appstore/halo/2.21.2/envs/default.env diff --git a/appstore/halo/2.21.1/envs/global.env b/appstore/halo/2.21.2/envs/global.env similarity index 100% rename from appstore/halo/2.21.1/envs/global.env rename to appstore/halo/2.21.2/envs/global.env diff --git a/appstore/halo/2.21.1/scripts/init.sh b/appstore/halo/2.21.2/scripts/init.sh similarity index 100% rename from appstore/halo/2.21.1/scripts/init.sh rename to appstore/halo/2.21.2/scripts/init.sh diff --git a/appstore/halo/2.21.1/scripts/uninstall.sh b/appstore/halo/2.21.2/scripts/uninstall.sh similarity index 100% rename from appstore/halo/2.21.1/scripts/uninstall.sh rename to appstore/halo/2.21.2/scripts/uninstall.sh diff --git a/appstore/halo/2.21.1/scripts/upgrade.sh b/appstore/halo/2.21.2/scripts/upgrade.sh similarity index 100% rename from appstore/halo/2.21.1/scripts/upgrade.sh rename to appstore/halo/2.21.2/scripts/upgrade.sh diff --git a/appstore/mdc-ng/1.6.1/.env b/appstore/mdc-ng/1.6.2/.env similarity index 100% rename from appstore/mdc-ng/1.6.1/.env rename to appstore/mdc-ng/1.6.2/.env diff --git a/appstore/mdc-ng/1.6.1/data.yml b/appstore/mdc-ng/1.6.2/data.yml similarity index 100% rename from appstore/mdc-ng/1.6.1/data.yml rename to appstore/mdc-ng/1.6.2/data.yml diff --git a/appstore/mdc-ng/1.6.1/docker-compose.yml b/appstore/mdc-ng/1.6.2/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.6.1/docker-compose.yml rename to appstore/mdc-ng/1.6.2/docker-compose.yml index 8adfa9a8a..a59567225 100644 --- a/appstore/mdc-ng/1.6.1/docker-compose.yml +++ b/appstore/mdc-ng/1.6.2/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.6.1 + image: mdcng/mdc:1.6.2 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.6.1/envs/default.env b/appstore/mdc-ng/1.6.2/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.6.1/envs/default.env rename to appstore/mdc-ng/1.6.2/envs/default.env diff --git a/appstore/mdc-ng/1.6.1/envs/global.env b/appstore/mdc-ng/1.6.2/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.6.1/envs/global.env rename to appstore/mdc-ng/1.6.2/envs/global.env diff --git a/appstore/mdc-ng/1.6.1/scripts/init.sh b/appstore/mdc-ng/1.6.2/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.6.1/scripts/init.sh rename to appstore/mdc-ng/1.6.2/scripts/init.sh diff --git a/appstore/mdc-ng/1.6.1/scripts/uninstall.sh b/appstore/mdc-ng/1.6.2/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.6.1/scripts/uninstall.sh rename to appstore/mdc-ng/1.6.2/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.6.1/scripts/upgrade.sh b/appstore/mdc-ng/1.6.2/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.6.1/scripts/upgrade.sh rename to appstore/mdc-ng/1.6.2/scripts/upgrade.sh diff --git a/appstore/rsshub/2025-06-25/.env b/appstore/rsshub/2025-06-26/.env similarity index 100% rename from appstore/rsshub/2025-06-25/.env rename to appstore/rsshub/2025-06-26/.env diff --git a/appstore/rsshub/2025-06-25/data.yml b/appstore/rsshub/2025-06-26/data.yml similarity index 100% rename from appstore/rsshub/2025-06-25/data.yml rename to appstore/rsshub/2025-06-26/data.yml diff --git a/appstore/rsshub/2025-06-25/docker-compose.yml b/appstore/rsshub/2025-06-26/docker-compose.yml similarity index 97% rename from appstore/rsshub/2025-06-25/docker-compose.yml rename to appstore/rsshub/2025-06-26/docker-compose.yml index 7acceca0d..465650161 100644 --- a/appstore/rsshub/2025-06-25/docker-compose.yml +++ b/appstore/rsshub/2025-06-26/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-06-25 + image: diygod/rsshub:2025-06-26 labels: createdBy: Apps networks: diff --git a/appstore/rsshub/2025-06-25/envs/default.env b/appstore/rsshub/2025-06-26/envs/default.env similarity index 100% rename from appstore/rsshub/2025-06-25/envs/default.env rename to appstore/rsshub/2025-06-26/envs/default.env diff --git a/appstore/rsshub/2025-06-25/envs/global.env b/appstore/rsshub/2025-06-26/envs/global.env similarity index 100% rename from appstore/rsshub/2025-06-25/envs/global.env rename to appstore/rsshub/2025-06-26/envs/global.env diff --git a/appstore/rsshub/2025-06-25/scripts/init.sh b/appstore/rsshub/2025-06-26/scripts/init.sh similarity index 100% rename from appstore/rsshub/2025-06-25/scripts/init.sh rename to appstore/rsshub/2025-06-26/scripts/init.sh diff --git a/appstore/rsshub/2025-06-25/scripts/uninstall.sh b/appstore/rsshub/2025-06-26/scripts/uninstall.sh similarity index 100% rename from appstore/rsshub/2025-06-25/scripts/uninstall.sh rename to appstore/rsshub/2025-06-26/scripts/uninstall.sh diff --git a/appstore/rsshub/2025-06-25/scripts/upgrade.sh b/appstore/rsshub/2025-06-26/scripts/upgrade.sh similarity index 100% rename from appstore/rsshub/2025-06-25/scripts/upgrade.sh rename to appstore/rsshub/2025-06-26/scripts/upgrade.sh diff --git a/dockge/ammds-ol8/docker-compose.yml b/dockge/ammds-ol8/docker-compose.yml index d631c50b3..22fa20995 100644 --- a/dockge/ammds-ol8/docker-compose.yml +++ b/dockge/ammds-ol8/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.16-ol8 + image: qyg2297248353/ammds:v1.6.18-ol8 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/ammds/docker-compose.yml b/dockge/ammds/docker-compose.yml index 668738ab3..c5e9b458b 100644 --- a/dockge/ammds/docker-compose.yml +++ b/dockge/ammds/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - NGINX_PORT=${PANEL_APP_PORT_HTTP:-8080} - AMMDS_SERVER_PORT=${PANEL_APP_PORT_API:-9523} - image: qyg2297248353/ammds:v1.6.16 + image: qyg2297248353/ammds:v1.6.18 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index 856029ce1..0289be9ec 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.948.0 + image: casbin/casdoor:v1.949.0 labels: createdBy: Apps networks: diff --git a/dockge/emby_4_9_1_1/.env b/dockge/emby_4_9_1_3/.env similarity index 100% rename from dockge/emby_4_9_1_1/.env rename to dockge/emby_4_9_1_3/.env diff --git a/appstore/emby/4.9.1.1/docker-compose.yml b/dockge/emby_4_9_1_3/docker-compose.yml similarity index 96% rename from appstore/emby/4.9.1.1/docker-compose.yml rename to dockge/emby_4_9_1_3/docker-compose.yml index e2d892aa1..8859201b7 100644 --- a/appstore/emby/4.9.1.1/docker-compose.yml +++ b/dockge/emby_4_9_1_3/docker-compose.yml @@ -13,7 +13,7 @@ services: - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTP_PROXY:-} - NO_PROXY=localhost,127.0.0.1,::1 - image: emby/embyserver:4.9.1.1 + image: emby/embyserver:4.9.1.3 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/emby_4_9_1_1/envs/default.env b/dockge/emby_4_9_1_3/envs/default.env similarity index 100% rename from dockge/emby_4_9_1_1/envs/default.env rename to dockge/emby_4_9_1_3/envs/default.env diff --git a/dockge/emby_4_9_1_1/envs/global.env b/dockge/emby_4_9_1_3/envs/global.env similarity index 100% rename from dockge/emby_4_9_1_1/envs/global.env rename to dockge/emby_4_9_1_3/envs/global.env diff --git a/dockge/halo-h2/docker-compose.yml b/dockge/halo-h2/docker-compose.yml index 0839b2f3a..a832ced56 100644 --- a/dockge/halo-h2/docker-compose.yml +++ b/dockge/halo-h2/docker-compose.yml @@ -9,7 +9,7 @@ services: container_name: halo-h2 environment: - JVM_OPTS=-Xmx256m -Xms256m - image: halohub/halo:2.21.1 + image: halohub/halo:2.21.2 labels: createdBy: Apps networks: diff --git a/dockge/halo/docker-compose.yml b/dockge/halo/docker-compose.yml index c033cbd90..13fe712b5 100644 --- a/dockge/halo/docker-compose.yml +++ b/dockge/halo/docker-compose.yml @@ -11,7 +11,7 @@ services: - --halo.external-url=${HALO_EXTERNAL_URL} - --halo.security.remember-me.token-validity=${HALO_REMEMBER_ME_TOKEN_VALIDITY} container_name: halo - image: halohub/halo:2.21.1 + image: halohub/halo:2.21.2 labels: createdBy: Apps networks: diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 8adfa9a8a..a59567225 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.6.1 + image: mdcng/mdc:1.6.2 labels: createdBy: Apps networks: diff --git a/dockge/rsshub/docker-compose.yml b/dockge/rsshub/docker-compose.yml index 7acceca0d..465650161 100644 --- a/dockge/rsshub/docker-compose.yml +++ b/dockge/rsshub/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-06-25 + image: diygod/rsshub:2025-06-26 labels: createdBy: Apps networks: From f2b235be7b698b5a1c85365f478436148fec4daf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 03:52:13 +0000 Subject: [PATCH 60/96] Update cloudreve/cloudreve Docker tag to v4.1.0 --- apps/cloudreve/4.0.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cloudreve/4.0.0/docker-compose.yml b/apps/cloudreve/4.0.0/docker-compose.yml index 8bdf569e0..5f04f1ce2 100644 --- a/apps/cloudreve/4.0.0/docker-compose.yml +++ b/apps/cloudreve/4.0.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: cloudreve: - image: cloudreve/cloudreve:4.0.0 + image: cloudreve/cloudreve:4.1.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 22f9169a17a6d8730aed1aa544e077a6b34a84b7 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 27 Jun 2025 03:52:26 +0000 Subject: [PATCH 61/96] Update app version [skip ci] --- apps/cloudreve/{4.0.0 => 4.1.0}/data.yml | 0 apps/cloudreve/{4.0.0 => 4.1.0}/docker-compose.yml | 0 apps/cloudreve/{4.0.0 => 4.1.0}/envs/default.env | 0 apps/cloudreve/{4.0.0 => 4.1.0}/envs/global.env | 0 apps/cloudreve/{4.0.0 => 4.1.0}/scripts/init.sh | 0 apps/cloudreve/{4.0.0 => 4.1.0}/scripts/uninstall.sh | 0 apps/cloudreve/{4.0.0 => 4.1.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/cloudreve/{4.0.0 => 4.1.0}/data.yml (100%) rename apps/cloudreve/{4.0.0 => 4.1.0}/docker-compose.yml (100%) rename apps/cloudreve/{4.0.0 => 4.1.0}/envs/default.env (100%) rename apps/cloudreve/{4.0.0 => 4.1.0}/envs/global.env (100%) rename apps/cloudreve/{4.0.0 => 4.1.0}/scripts/init.sh (100%) rename apps/cloudreve/{4.0.0 => 4.1.0}/scripts/uninstall.sh (100%) rename apps/cloudreve/{4.0.0 => 4.1.0}/scripts/upgrade.sh (100%) diff --git a/apps/cloudreve/4.0.0/data.yml b/apps/cloudreve/4.1.0/data.yml similarity index 100% rename from apps/cloudreve/4.0.0/data.yml rename to apps/cloudreve/4.1.0/data.yml diff --git a/apps/cloudreve/4.0.0/docker-compose.yml b/apps/cloudreve/4.1.0/docker-compose.yml similarity index 100% rename from apps/cloudreve/4.0.0/docker-compose.yml rename to apps/cloudreve/4.1.0/docker-compose.yml diff --git a/apps/cloudreve/4.0.0/envs/default.env b/apps/cloudreve/4.1.0/envs/default.env similarity index 100% rename from apps/cloudreve/4.0.0/envs/default.env rename to apps/cloudreve/4.1.0/envs/default.env diff --git a/apps/cloudreve/4.0.0/envs/global.env b/apps/cloudreve/4.1.0/envs/global.env similarity index 100% rename from apps/cloudreve/4.0.0/envs/global.env rename to apps/cloudreve/4.1.0/envs/global.env diff --git a/apps/cloudreve/4.0.0/scripts/init.sh b/apps/cloudreve/4.1.0/scripts/init.sh similarity index 100% rename from apps/cloudreve/4.0.0/scripts/init.sh rename to apps/cloudreve/4.1.0/scripts/init.sh diff --git a/apps/cloudreve/4.0.0/scripts/uninstall.sh b/apps/cloudreve/4.1.0/scripts/uninstall.sh similarity index 100% rename from apps/cloudreve/4.0.0/scripts/uninstall.sh rename to apps/cloudreve/4.1.0/scripts/uninstall.sh diff --git a/apps/cloudreve/4.0.0/scripts/upgrade.sh b/apps/cloudreve/4.1.0/scripts/upgrade.sh similarity index 100% rename from apps/cloudreve/4.0.0/scripts/upgrade.sh rename to apps/cloudreve/4.1.0/scripts/upgrade.sh From f905da83b036458075698d8339fcc10d0ae4060c Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Fri, 27 Jun 2025 09:24:10 +0000 Subject: [PATCH 62/96] Processed apps directory via GitHub Actions --- appstore/cloudreve/{4.0.0 => 4.1.0}/.env | 0 appstore/cloudreve/{4.0.0 => 4.1.0}/data.yml | 0 appstore/cloudreve/{4.0.0 => 4.1.0}/docker-compose.yml | 2 +- appstore/cloudreve/{4.0.0 => 4.1.0}/envs/default.env | 0 appstore/cloudreve/{4.0.0 => 4.1.0}/envs/global.env | 0 appstore/cloudreve/{4.0.0 => 4.1.0}/scripts/init.sh | 0 appstore/cloudreve/{4.0.0 => 4.1.0}/scripts/uninstall.sh | 0 appstore/cloudreve/{4.0.0 => 4.1.0}/scripts/upgrade.sh | 0 appstore/logto/{1.28.0 => 1.29.0}/.env | 0 appstore/logto/{1.28.0 => 1.29.0}/data.yml | 0 appstore/logto/{1.28.0 => 1.29.0}/docker-compose.yml | 2 +- appstore/logto/{1.28.0 => 1.29.0}/envs/default.env | 0 appstore/logto/{1.28.0 => 1.29.0}/envs/global.env | 0 appstore/logto/{1.28.0 => 1.29.0}/scripts/init.sh | 0 appstore/logto/{1.28.0 => 1.29.0}/scripts/uninstall.sh | 0 appstore/logto/{1.28.0 => 1.29.0}/scripts/upgrade.sh | 0 dockge/cloudreve/docker-compose.yml | 2 +- dockge/logto/docker-compose.yml | 2 +- 18 files changed, 4 insertions(+), 4 deletions(-) rename appstore/cloudreve/{4.0.0 => 4.1.0}/.env (100%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/data.yml (100%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/docker-compose.yml (91%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/envs/default.env (100%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/envs/global.env (100%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/scripts/init.sh (100%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/scripts/uninstall.sh (100%) rename appstore/cloudreve/{4.0.0 => 4.1.0}/scripts/upgrade.sh (100%) rename appstore/logto/{1.28.0 => 1.29.0}/.env (100%) rename appstore/logto/{1.28.0 => 1.29.0}/data.yml (100%) rename appstore/logto/{1.28.0 => 1.29.0}/docker-compose.yml (95%) rename appstore/logto/{1.28.0 => 1.29.0}/envs/default.env (100%) rename appstore/logto/{1.28.0 => 1.29.0}/envs/global.env (100%) rename appstore/logto/{1.28.0 => 1.29.0}/scripts/init.sh (100%) rename appstore/logto/{1.28.0 => 1.29.0}/scripts/uninstall.sh (100%) rename appstore/logto/{1.28.0 => 1.29.0}/scripts/upgrade.sh (100%) diff --git a/appstore/cloudreve/4.0.0/.env b/appstore/cloudreve/4.1.0/.env similarity index 100% rename from appstore/cloudreve/4.0.0/.env rename to appstore/cloudreve/4.1.0/.env diff --git a/appstore/cloudreve/4.0.0/data.yml b/appstore/cloudreve/4.1.0/data.yml similarity index 100% rename from appstore/cloudreve/4.0.0/data.yml rename to appstore/cloudreve/4.1.0/data.yml diff --git a/appstore/cloudreve/4.0.0/docker-compose.yml b/appstore/cloudreve/4.1.0/docker-compose.yml similarity index 91% rename from appstore/cloudreve/4.0.0/docker-compose.yml rename to appstore/cloudreve/4.1.0/docker-compose.yml index 33a475685..6227111dd 100644 --- a/appstore/cloudreve/4.0.0/docker-compose.yml +++ b/appstore/cloudreve/4.1.0/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: cloudreve/cloudreve:4.0.0 + image: cloudreve/cloudreve:4.1.0 labels: createdBy: Apps networks: diff --git a/appstore/cloudreve/4.0.0/envs/default.env b/appstore/cloudreve/4.1.0/envs/default.env similarity index 100% rename from appstore/cloudreve/4.0.0/envs/default.env rename to appstore/cloudreve/4.1.0/envs/default.env diff --git a/appstore/cloudreve/4.0.0/envs/global.env b/appstore/cloudreve/4.1.0/envs/global.env similarity index 100% rename from appstore/cloudreve/4.0.0/envs/global.env rename to appstore/cloudreve/4.1.0/envs/global.env diff --git a/appstore/cloudreve/4.0.0/scripts/init.sh b/appstore/cloudreve/4.1.0/scripts/init.sh similarity index 100% rename from appstore/cloudreve/4.0.0/scripts/init.sh rename to appstore/cloudreve/4.1.0/scripts/init.sh diff --git a/appstore/cloudreve/4.0.0/scripts/uninstall.sh b/appstore/cloudreve/4.1.0/scripts/uninstall.sh similarity index 100% rename from appstore/cloudreve/4.0.0/scripts/uninstall.sh rename to appstore/cloudreve/4.1.0/scripts/uninstall.sh diff --git a/appstore/cloudreve/4.0.0/scripts/upgrade.sh b/appstore/cloudreve/4.1.0/scripts/upgrade.sh similarity index 100% rename from appstore/cloudreve/4.0.0/scripts/upgrade.sh rename to appstore/cloudreve/4.1.0/scripts/upgrade.sh diff --git a/appstore/logto/1.28.0/.env b/appstore/logto/1.29.0/.env similarity index 100% rename from appstore/logto/1.28.0/.env rename to appstore/logto/1.29.0/.env diff --git a/appstore/logto/1.28.0/data.yml b/appstore/logto/1.29.0/data.yml similarity index 100% rename from appstore/logto/1.28.0/data.yml rename to appstore/logto/1.29.0/data.yml diff --git a/appstore/logto/1.28.0/docker-compose.yml b/appstore/logto/1.29.0/docker-compose.yml similarity index 95% rename from appstore/logto/1.28.0/docker-compose.yml rename to appstore/logto/1.29.0/docker-compose.yml index 54c747182..775335695 100644 --- a/appstore/logto/1.28.0/docker-compose.yml +++ b/appstore/logto/1.29.0/docker-compose.yml @@ -18,7 +18,7 @@ services: - TRUST_PROXY_HEADER=true - CASE_SENSITIVE_USERNAME=true - DB_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_NAME} - image: svhd/logto:1.28.0 + image: svhd/logto:1.29.0 labels: createdBy: Apps networks: diff --git a/appstore/logto/1.28.0/envs/default.env b/appstore/logto/1.29.0/envs/default.env similarity index 100% rename from appstore/logto/1.28.0/envs/default.env rename to appstore/logto/1.29.0/envs/default.env diff --git a/appstore/logto/1.28.0/envs/global.env b/appstore/logto/1.29.0/envs/global.env similarity index 100% rename from appstore/logto/1.28.0/envs/global.env rename to appstore/logto/1.29.0/envs/global.env diff --git a/appstore/logto/1.28.0/scripts/init.sh b/appstore/logto/1.29.0/scripts/init.sh similarity index 100% rename from appstore/logto/1.28.0/scripts/init.sh rename to appstore/logto/1.29.0/scripts/init.sh diff --git a/appstore/logto/1.28.0/scripts/uninstall.sh b/appstore/logto/1.29.0/scripts/uninstall.sh similarity index 100% rename from appstore/logto/1.28.0/scripts/uninstall.sh rename to appstore/logto/1.29.0/scripts/uninstall.sh diff --git a/appstore/logto/1.28.0/scripts/upgrade.sh b/appstore/logto/1.29.0/scripts/upgrade.sh similarity index 100% rename from appstore/logto/1.28.0/scripts/upgrade.sh rename to appstore/logto/1.29.0/scripts/upgrade.sh diff --git a/dockge/cloudreve/docker-compose.yml b/dockge/cloudreve/docker-compose.yml index 33a475685..6227111dd 100644 --- a/dockge/cloudreve/docker-compose.yml +++ b/dockge/cloudreve/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: cloudreve/cloudreve:4.0.0 + image: cloudreve/cloudreve:4.1.0 labels: createdBy: Apps networks: diff --git a/dockge/logto/docker-compose.yml b/dockge/logto/docker-compose.yml index 54c747182..775335695 100644 --- a/dockge/logto/docker-compose.yml +++ b/dockge/logto/docker-compose.yml @@ -18,7 +18,7 @@ services: - TRUST_PROXY_HEADER=true - CASE_SENSITIVE_USERNAME=true - DB_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_NAME} - image: svhd/logto:1.28.0 + image: svhd/logto:1.29.0 labels: createdBy: Apps networks: From c20ef516735396ade1d3b45818904590832f9278 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 16:31:03 +0000 Subject: [PATCH 63/96] Update amir20/dozzle Docker tag to v8.13.3 --- apps/dozzle/8.13.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dozzle/8.13.2/docker-compose.yml b/apps/dozzle/8.13.2/docker-compose.yml index b4f3dc4b4..fcac58e24 100644 --- a/apps/dozzle/8.13.2/docker-compose.yml +++ b/apps/dozzle/8.13.2/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: dozzle: - image: amir20/dozzle:v8.13.2 + image: amir20/dozzle:v8.13.3 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 91e7955043057cc3a9bcfca93917598cadd78e98 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Jun 2025 16:31:07 +0000 Subject: [PATCH 64/96] Update diygod/rsshub Docker tag to v2025-06-27 --- apps/rsshub/2025-06-26/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rsshub/2025-06-26/docker-compose.yml b/apps/rsshub/2025-06-26/docker-compose.yml index 779d36f39..075e345b4 100644 --- a/apps/rsshub/2025-06-26/docker-compose.yml +++ b/apps/rsshub/2025-06-26/docker-compose.yml @@ -23,7 +23,7 @@ services: timeout: 10s retries: 3 rsshub: - image: diygod/rsshub:2025-06-26 + image: diygod/rsshub:2025-06-27 container_name: rsshub-${CONTAINER_NAME} depends_on: - browserless From 792b054bf201ed5f3abe928e6fd6e47e0217c184 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 27 Jun 2025 16:31:13 +0000 Subject: [PATCH 65/96] Update app version [skip ci] --- apps/dozzle/{8.13.2 => 8.13.3}/data.yml | 0 apps/dozzle/{8.13.2 => 8.13.3}/docker-compose.yml | 0 apps/dozzle/{8.13.2 => 8.13.3}/envs/default.env | 0 apps/dozzle/{8.13.2 => 8.13.3}/envs/global.env | 0 apps/dozzle/{8.13.2 => 8.13.3}/scripts/init.sh | 0 apps/dozzle/{8.13.2 => 8.13.3}/scripts/uninstall.sh | 0 apps/dozzle/{8.13.2 => 8.13.3}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/dozzle/{8.13.2 => 8.13.3}/data.yml (100%) rename apps/dozzle/{8.13.2 => 8.13.3}/docker-compose.yml (100%) rename apps/dozzle/{8.13.2 => 8.13.3}/envs/default.env (100%) rename apps/dozzle/{8.13.2 => 8.13.3}/envs/global.env (100%) rename apps/dozzle/{8.13.2 => 8.13.3}/scripts/init.sh (100%) rename apps/dozzle/{8.13.2 => 8.13.3}/scripts/uninstall.sh (100%) rename apps/dozzle/{8.13.2 => 8.13.3}/scripts/upgrade.sh (100%) diff --git a/apps/dozzle/8.13.2/data.yml b/apps/dozzle/8.13.3/data.yml similarity index 100% rename from apps/dozzle/8.13.2/data.yml rename to apps/dozzle/8.13.3/data.yml diff --git a/apps/dozzle/8.13.2/docker-compose.yml b/apps/dozzle/8.13.3/docker-compose.yml similarity index 100% rename from apps/dozzle/8.13.2/docker-compose.yml rename to apps/dozzle/8.13.3/docker-compose.yml diff --git a/apps/dozzle/8.13.2/envs/default.env b/apps/dozzle/8.13.3/envs/default.env similarity index 100% rename from apps/dozzle/8.13.2/envs/default.env rename to apps/dozzle/8.13.3/envs/default.env diff --git a/apps/dozzle/8.13.2/envs/global.env b/apps/dozzle/8.13.3/envs/global.env similarity index 100% rename from apps/dozzle/8.13.2/envs/global.env rename to apps/dozzle/8.13.3/envs/global.env diff --git a/apps/dozzle/8.13.2/scripts/init.sh b/apps/dozzle/8.13.3/scripts/init.sh similarity index 100% rename from apps/dozzle/8.13.2/scripts/init.sh rename to apps/dozzle/8.13.3/scripts/init.sh diff --git a/apps/dozzle/8.13.2/scripts/uninstall.sh b/apps/dozzle/8.13.3/scripts/uninstall.sh similarity index 100% rename from apps/dozzle/8.13.2/scripts/uninstall.sh rename to apps/dozzle/8.13.3/scripts/uninstall.sh diff --git a/apps/dozzle/8.13.2/scripts/upgrade.sh b/apps/dozzle/8.13.3/scripts/upgrade.sh similarity index 100% rename from apps/dozzle/8.13.2/scripts/upgrade.sh rename to apps/dozzle/8.13.3/scripts/upgrade.sh From 28c8e4deff6f38fa705bb7d95c9ce2d979b69445 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Fri, 27 Jun 2025 16:31:16 +0000 Subject: [PATCH 66/96] Update app version [skip ci] --- apps/rsshub/{2025-06-26 => 2025-06-27}/data.yml | 0 apps/rsshub/{2025-06-26 => 2025-06-27}/docker-compose.yml | 0 apps/rsshub/{2025-06-26 => 2025-06-27}/envs/default.env | 0 apps/rsshub/{2025-06-26 => 2025-06-27}/envs/global.env | 0 apps/rsshub/{2025-06-26 => 2025-06-27}/scripts/init.sh | 0 apps/rsshub/{2025-06-26 => 2025-06-27}/scripts/uninstall.sh | 0 apps/rsshub/{2025-06-26 => 2025-06-27}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/rsshub/{2025-06-26 => 2025-06-27}/data.yml (100%) rename apps/rsshub/{2025-06-26 => 2025-06-27}/docker-compose.yml (100%) rename apps/rsshub/{2025-06-26 => 2025-06-27}/envs/default.env (100%) rename apps/rsshub/{2025-06-26 => 2025-06-27}/envs/global.env (100%) rename apps/rsshub/{2025-06-26 => 2025-06-27}/scripts/init.sh (100%) rename apps/rsshub/{2025-06-26 => 2025-06-27}/scripts/uninstall.sh (100%) rename apps/rsshub/{2025-06-26 => 2025-06-27}/scripts/upgrade.sh (100%) diff --git a/apps/rsshub/2025-06-26/data.yml b/apps/rsshub/2025-06-27/data.yml similarity index 100% rename from apps/rsshub/2025-06-26/data.yml rename to apps/rsshub/2025-06-27/data.yml diff --git a/apps/rsshub/2025-06-26/docker-compose.yml b/apps/rsshub/2025-06-27/docker-compose.yml similarity index 100% rename from apps/rsshub/2025-06-26/docker-compose.yml rename to apps/rsshub/2025-06-27/docker-compose.yml diff --git a/apps/rsshub/2025-06-26/envs/default.env b/apps/rsshub/2025-06-27/envs/default.env similarity index 100% rename from apps/rsshub/2025-06-26/envs/default.env rename to apps/rsshub/2025-06-27/envs/default.env diff --git a/apps/rsshub/2025-06-26/envs/global.env b/apps/rsshub/2025-06-27/envs/global.env similarity index 100% rename from apps/rsshub/2025-06-26/envs/global.env rename to apps/rsshub/2025-06-27/envs/global.env diff --git a/apps/rsshub/2025-06-26/scripts/init.sh b/apps/rsshub/2025-06-27/scripts/init.sh similarity index 100% rename from apps/rsshub/2025-06-26/scripts/init.sh rename to apps/rsshub/2025-06-27/scripts/init.sh diff --git a/apps/rsshub/2025-06-26/scripts/uninstall.sh b/apps/rsshub/2025-06-27/scripts/uninstall.sh similarity index 100% rename from apps/rsshub/2025-06-26/scripts/uninstall.sh rename to apps/rsshub/2025-06-27/scripts/uninstall.sh diff --git a/apps/rsshub/2025-06-26/scripts/upgrade.sh b/apps/rsshub/2025-06-27/scripts/upgrade.sh similarity index 100% rename from apps/rsshub/2025-06-26/scripts/upgrade.sh rename to apps/rsshub/2025-06-27/scripts/upgrade.sh From 424b5b88c0f2eadbfdb8a85c2c973d6469cb805e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 00:04:47 +0000 Subject: [PATCH 67/96] Update whyour/qinglong Docker tag to v2.19.2 --- apps/qinglong/2.19.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/qinglong/2.19.1/docker-compose.yml b/apps/qinglong/2.19.1/docker-compose.yml index 7fa619c23..f1249abfc 100644 --- a/apps/qinglong/2.19.1/docker-compose.yml +++ b/apps/qinglong/2.19.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: qinglong: - image: whyour/qinglong:2.19.1 + image: whyour/qinglong:2.19.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 86181d93ad091c80820411bbd84acbeec45421d6 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 00:05:02 +0000 Subject: [PATCH 68/96] Update app version [skip ci] --- apps/qinglong/{2.19.1 => 2.19.2}/data.yml | 0 apps/qinglong/{2.19.1 => 2.19.2}/docker-compose.yml | 0 apps/qinglong/{2.19.1 => 2.19.2}/envs/default.env | 0 apps/qinglong/{2.19.1 => 2.19.2}/envs/global.env | 0 apps/qinglong/{2.19.1 => 2.19.2}/scripts/init.sh | 0 apps/qinglong/{2.19.1 => 2.19.2}/scripts/uninstall.sh | 0 apps/qinglong/{2.19.1 => 2.19.2}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/qinglong/{2.19.1 => 2.19.2}/data.yml (100%) rename apps/qinglong/{2.19.1 => 2.19.2}/docker-compose.yml (100%) rename apps/qinglong/{2.19.1 => 2.19.2}/envs/default.env (100%) rename apps/qinglong/{2.19.1 => 2.19.2}/envs/global.env (100%) rename apps/qinglong/{2.19.1 => 2.19.2}/scripts/init.sh (100%) rename apps/qinglong/{2.19.1 => 2.19.2}/scripts/uninstall.sh (100%) rename apps/qinglong/{2.19.1 => 2.19.2}/scripts/upgrade.sh (100%) diff --git a/apps/qinglong/2.19.1/data.yml b/apps/qinglong/2.19.2/data.yml similarity index 100% rename from apps/qinglong/2.19.1/data.yml rename to apps/qinglong/2.19.2/data.yml diff --git a/apps/qinglong/2.19.1/docker-compose.yml b/apps/qinglong/2.19.2/docker-compose.yml similarity index 100% rename from apps/qinglong/2.19.1/docker-compose.yml rename to apps/qinglong/2.19.2/docker-compose.yml diff --git a/apps/qinglong/2.19.1/envs/default.env b/apps/qinglong/2.19.2/envs/default.env similarity index 100% rename from apps/qinglong/2.19.1/envs/default.env rename to apps/qinglong/2.19.2/envs/default.env diff --git a/apps/qinglong/2.19.1/envs/global.env b/apps/qinglong/2.19.2/envs/global.env similarity index 100% rename from apps/qinglong/2.19.1/envs/global.env rename to apps/qinglong/2.19.2/envs/global.env diff --git a/apps/qinglong/2.19.1/scripts/init.sh b/apps/qinglong/2.19.2/scripts/init.sh similarity index 100% rename from apps/qinglong/2.19.1/scripts/init.sh rename to apps/qinglong/2.19.2/scripts/init.sh diff --git a/apps/qinglong/2.19.1/scripts/uninstall.sh b/apps/qinglong/2.19.2/scripts/uninstall.sh similarity index 100% rename from apps/qinglong/2.19.1/scripts/uninstall.sh rename to apps/qinglong/2.19.2/scripts/uninstall.sh diff --git a/apps/qinglong/2.19.1/scripts/upgrade.sh b/apps/qinglong/2.19.2/scripts/upgrade.sh similarity index 100% rename from apps/qinglong/2.19.1/scripts/upgrade.sh rename to apps/qinglong/2.19.2/scripts/upgrade.sh From 08bb451d524fb76ad3b855c3e9148be5ddaa5a7d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 08:10:24 +0000 Subject: [PATCH 69/96] Update cloudreve/cloudreve Docker tag to v4.1.2 --- apps/cloudreve/4.1.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/cloudreve/4.1.0/docker-compose.yml b/apps/cloudreve/4.1.0/docker-compose.yml index 5f04f1ce2..6697de77d 100644 --- a/apps/cloudreve/4.1.0/docker-compose.yml +++ b/apps/cloudreve/4.1.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: cloudreve: - image: cloudreve/cloudreve:4.1.0 + image: cloudreve/cloudreve:4.1.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 9bd1e5a22bf347e7fc577247c152b0c4345dd9f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 08:10:28 +0000 Subject: [PATCH 70/96] Update ghcr.io/nodepassproject/nodepassdash Docker tag to v2.0.6 --- apps/nodepassdash/2.0.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/nodepassdash/2.0.4/docker-compose.yml b/apps/nodepassdash/2.0.4/docker-compose.yml index 04652965e..30f70b183 100644 --- a/apps/nodepassdash/2.0.4/docker-compose.yml +++ b/apps/nodepassdash/2.0.4/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: nodepassdash: - image: ghcr.io/nodepassproject/nodepassdash:2.0.4 + image: ghcr.io/nodepassproject/nodepassdash:2.0.6 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From bd6565adc9f4dfed1acd0b7c1c96f1f72f2ae53d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 08:10:33 +0000 Subject: [PATCH 71/96] Update casbin/casdoor Docker tag to v1.951.0 --- apps/casdoor/1.949.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/casdoor/1.949.0/docker-compose.yml b/apps/casdoor/1.949.0/docker-compose.yml index 241d21030..e6e14609e 100644 --- a/apps/casdoor/1.949.0/docker-compose.yml +++ b/apps/casdoor/1.949.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: casdoor: - image: casbin/casdoor:v1.949.0 + image: casbin/casdoor:v1.951.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 65e2dfb149c4453bbd16c38e22375e4ee89bb5a4 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 08:10:34 +0000 Subject: [PATCH 72/96] Update app version [skip ci] --- apps/cloudreve/{4.1.0 => 4.1.2}/data.yml | 0 apps/cloudreve/{4.1.0 => 4.1.2}/docker-compose.yml | 0 apps/cloudreve/{4.1.0 => 4.1.2}/envs/default.env | 0 apps/cloudreve/{4.1.0 => 4.1.2}/envs/global.env | 0 apps/cloudreve/{4.1.0 => 4.1.2}/scripts/init.sh | 0 apps/cloudreve/{4.1.0 => 4.1.2}/scripts/uninstall.sh | 0 apps/cloudreve/{4.1.0 => 4.1.2}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/cloudreve/{4.1.0 => 4.1.2}/data.yml (100%) rename apps/cloudreve/{4.1.0 => 4.1.2}/docker-compose.yml (100%) rename apps/cloudreve/{4.1.0 => 4.1.2}/envs/default.env (100%) rename apps/cloudreve/{4.1.0 => 4.1.2}/envs/global.env (100%) rename apps/cloudreve/{4.1.0 => 4.1.2}/scripts/init.sh (100%) rename apps/cloudreve/{4.1.0 => 4.1.2}/scripts/uninstall.sh (100%) rename apps/cloudreve/{4.1.0 => 4.1.2}/scripts/upgrade.sh (100%) diff --git a/apps/cloudreve/4.1.0/data.yml b/apps/cloudreve/4.1.2/data.yml similarity index 100% rename from apps/cloudreve/4.1.0/data.yml rename to apps/cloudreve/4.1.2/data.yml diff --git a/apps/cloudreve/4.1.0/docker-compose.yml b/apps/cloudreve/4.1.2/docker-compose.yml similarity index 100% rename from apps/cloudreve/4.1.0/docker-compose.yml rename to apps/cloudreve/4.1.2/docker-compose.yml diff --git a/apps/cloudreve/4.1.0/envs/default.env b/apps/cloudreve/4.1.2/envs/default.env similarity index 100% rename from apps/cloudreve/4.1.0/envs/default.env rename to apps/cloudreve/4.1.2/envs/default.env diff --git a/apps/cloudreve/4.1.0/envs/global.env b/apps/cloudreve/4.1.2/envs/global.env similarity index 100% rename from apps/cloudreve/4.1.0/envs/global.env rename to apps/cloudreve/4.1.2/envs/global.env diff --git a/apps/cloudreve/4.1.0/scripts/init.sh b/apps/cloudreve/4.1.2/scripts/init.sh similarity index 100% rename from apps/cloudreve/4.1.0/scripts/init.sh rename to apps/cloudreve/4.1.2/scripts/init.sh diff --git a/apps/cloudreve/4.1.0/scripts/uninstall.sh b/apps/cloudreve/4.1.2/scripts/uninstall.sh similarity index 100% rename from apps/cloudreve/4.1.0/scripts/uninstall.sh rename to apps/cloudreve/4.1.2/scripts/uninstall.sh diff --git a/apps/cloudreve/4.1.0/scripts/upgrade.sh b/apps/cloudreve/4.1.2/scripts/upgrade.sh similarity index 100% rename from apps/cloudreve/4.1.0/scripts/upgrade.sh rename to apps/cloudreve/4.1.2/scripts/upgrade.sh From af94e99bf7d75404ffff09b3b7fde4110ce575a7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 08:10:37 +0000 Subject: [PATCH 73/96] Update mdcng/mdc Docker tag to v1.7.0 --- apps/mdc-ng/1.6.2/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.6.2/docker-compose.yml b/apps/mdc-ng/1.6.2/docker-compose.yml index 954c07db0..5dbc18b2c 100644 --- a/apps/mdc-ng/1.6.2/docker-compose.yml +++ b/apps/mdc-ng/1.6.2/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.6.2 + image: mdcng/mdc:1.7.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From f020294d1864e4e96c58bdfe70b95f7afb99d69f Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 08:10:38 +0000 Subject: [PATCH 74/96] Update app version [skip ci] --- apps/nodepassdash/{2.0.4 => 2.0.6}/data.yml | 0 apps/nodepassdash/{2.0.4 => 2.0.6}/docker-compose.yml | 0 apps/nodepassdash/{2.0.4 => 2.0.6}/envs/default.env | 0 apps/nodepassdash/{2.0.4 => 2.0.6}/envs/global.env | 0 apps/nodepassdash/{2.0.4 => 2.0.6}/scripts/init.sh | 0 apps/nodepassdash/{2.0.4 => 2.0.6}/scripts/uninstall.sh | 0 apps/nodepassdash/{2.0.4 => 2.0.6}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/nodepassdash/{2.0.4 => 2.0.6}/data.yml (100%) rename apps/nodepassdash/{2.0.4 => 2.0.6}/docker-compose.yml (100%) rename apps/nodepassdash/{2.0.4 => 2.0.6}/envs/default.env (100%) rename apps/nodepassdash/{2.0.4 => 2.0.6}/envs/global.env (100%) rename apps/nodepassdash/{2.0.4 => 2.0.6}/scripts/init.sh (100%) rename apps/nodepassdash/{2.0.4 => 2.0.6}/scripts/uninstall.sh (100%) rename apps/nodepassdash/{2.0.4 => 2.0.6}/scripts/upgrade.sh (100%) diff --git a/apps/nodepassdash/2.0.4/data.yml b/apps/nodepassdash/2.0.6/data.yml similarity index 100% rename from apps/nodepassdash/2.0.4/data.yml rename to apps/nodepassdash/2.0.6/data.yml diff --git a/apps/nodepassdash/2.0.4/docker-compose.yml b/apps/nodepassdash/2.0.6/docker-compose.yml similarity index 100% rename from apps/nodepassdash/2.0.4/docker-compose.yml rename to apps/nodepassdash/2.0.6/docker-compose.yml diff --git a/apps/nodepassdash/2.0.4/envs/default.env b/apps/nodepassdash/2.0.6/envs/default.env similarity index 100% rename from apps/nodepassdash/2.0.4/envs/default.env rename to apps/nodepassdash/2.0.6/envs/default.env diff --git a/apps/nodepassdash/2.0.4/envs/global.env b/apps/nodepassdash/2.0.6/envs/global.env similarity index 100% rename from apps/nodepassdash/2.0.4/envs/global.env rename to apps/nodepassdash/2.0.6/envs/global.env diff --git a/apps/nodepassdash/2.0.4/scripts/init.sh b/apps/nodepassdash/2.0.6/scripts/init.sh similarity index 100% rename from apps/nodepassdash/2.0.4/scripts/init.sh rename to apps/nodepassdash/2.0.6/scripts/init.sh diff --git a/apps/nodepassdash/2.0.4/scripts/uninstall.sh b/apps/nodepassdash/2.0.6/scripts/uninstall.sh similarity index 100% rename from apps/nodepassdash/2.0.4/scripts/uninstall.sh rename to apps/nodepassdash/2.0.6/scripts/uninstall.sh diff --git a/apps/nodepassdash/2.0.4/scripts/upgrade.sh b/apps/nodepassdash/2.0.6/scripts/upgrade.sh similarity index 100% rename from apps/nodepassdash/2.0.4/scripts/upgrade.sh rename to apps/nodepassdash/2.0.6/scripts/upgrade.sh From 0f42423a3374cef44b1febb633f7acc04fa2aa52 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 08:10:42 +0000 Subject: [PATCH 75/96] Update app version [skip ci] --- apps/casdoor/{1.949.0 => 1.951.0}/config/init_data.json | 0 apps/casdoor/{1.949.0 => 1.951.0}/data.yml | 0 apps/casdoor/{1.949.0 => 1.951.0}/docker-compose.yml | 0 apps/casdoor/{1.949.0 => 1.951.0}/envs/casdoor.env | 0 apps/casdoor/{1.949.0 => 1.951.0}/envs/default.env | 0 apps/casdoor/{1.949.0 => 1.951.0}/envs/global.env | 0 apps/casdoor/{1.949.0 => 1.951.0}/scripts/init.sh | 0 apps/casdoor/{1.949.0 => 1.951.0}/scripts/uninstall.sh | 0 apps/casdoor/{1.949.0 => 1.951.0}/scripts/upgrade.sh | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename apps/casdoor/{1.949.0 => 1.951.0}/config/init_data.json (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/data.yml (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/docker-compose.yml (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/envs/casdoor.env (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/envs/default.env (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/envs/global.env (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/scripts/init.sh (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/scripts/uninstall.sh (100%) rename apps/casdoor/{1.949.0 => 1.951.0}/scripts/upgrade.sh (100%) diff --git a/apps/casdoor/1.949.0/config/init_data.json b/apps/casdoor/1.951.0/config/init_data.json similarity index 100% rename from apps/casdoor/1.949.0/config/init_data.json rename to apps/casdoor/1.951.0/config/init_data.json diff --git a/apps/casdoor/1.949.0/data.yml b/apps/casdoor/1.951.0/data.yml similarity index 100% rename from apps/casdoor/1.949.0/data.yml rename to apps/casdoor/1.951.0/data.yml diff --git a/apps/casdoor/1.949.0/docker-compose.yml b/apps/casdoor/1.951.0/docker-compose.yml similarity index 100% rename from apps/casdoor/1.949.0/docker-compose.yml rename to apps/casdoor/1.951.0/docker-compose.yml diff --git a/apps/casdoor/1.949.0/envs/casdoor.env b/apps/casdoor/1.951.0/envs/casdoor.env similarity index 100% rename from apps/casdoor/1.949.0/envs/casdoor.env rename to apps/casdoor/1.951.0/envs/casdoor.env diff --git a/apps/casdoor/1.949.0/envs/default.env b/apps/casdoor/1.951.0/envs/default.env similarity index 100% rename from apps/casdoor/1.949.0/envs/default.env rename to apps/casdoor/1.951.0/envs/default.env diff --git a/apps/casdoor/1.949.0/envs/global.env b/apps/casdoor/1.951.0/envs/global.env similarity index 100% rename from apps/casdoor/1.949.0/envs/global.env rename to apps/casdoor/1.951.0/envs/global.env diff --git a/apps/casdoor/1.949.0/scripts/init.sh b/apps/casdoor/1.951.0/scripts/init.sh similarity index 100% rename from apps/casdoor/1.949.0/scripts/init.sh rename to apps/casdoor/1.951.0/scripts/init.sh diff --git a/apps/casdoor/1.949.0/scripts/uninstall.sh b/apps/casdoor/1.951.0/scripts/uninstall.sh similarity index 100% rename from apps/casdoor/1.949.0/scripts/uninstall.sh rename to apps/casdoor/1.951.0/scripts/uninstall.sh diff --git a/apps/casdoor/1.949.0/scripts/upgrade.sh b/apps/casdoor/1.951.0/scripts/upgrade.sh similarity index 100% rename from apps/casdoor/1.949.0/scripts/upgrade.sh rename to apps/casdoor/1.951.0/scripts/upgrade.sh From 2442c774a68e3267fc75b7fb71d7fed9334721d2 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 08:10:45 +0000 Subject: [PATCH 76/96] Update app version [skip ci] --- apps/mdc-ng/{1.6.2 => 1.7.0}/data.yml | 0 apps/mdc-ng/{1.6.2 => 1.7.0}/docker-compose.yml | 0 apps/mdc-ng/{1.6.2 => 1.7.0}/envs/default.env | 0 apps/mdc-ng/{1.6.2 => 1.7.0}/envs/global.env | 0 apps/mdc-ng/{1.6.2 => 1.7.0}/scripts/init.sh | 0 apps/mdc-ng/{1.6.2 => 1.7.0}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.6.2 => 1.7.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.6.2 => 1.7.0}/data.yml (100%) rename apps/mdc-ng/{1.6.2 => 1.7.0}/docker-compose.yml (100%) rename apps/mdc-ng/{1.6.2 => 1.7.0}/envs/default.env (100%) rename apps/mdc-ng/{1.6.2 => 1.7.0}/envs/global.env (100%) rename apps/mdc-ng/{1.6.2 => 1.7.0}/scripts/init.sh (100%) rename apps/mdc-ng/{1.6.2 => 1.7.0}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.6.2 => 1.7.0}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.6.2/data.yml b/apps/mdc-ng/1.7.0/data.yml similarity index 100% rename from apps/mdc-ng/1.6.2/data.yml rename to apps/mdc-ng/1.7.0/data.yml diff --git a/apps/mdc-ng/1.6.2/docker-compose.yml b/apps/mdc-ng/1.7.0/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.6.2/docker-compose.yml rename to apps/mdc-ng/1.7.0/docker-compose.yml diff --git a/apps/mdc-ng/1.6.2/envs/default.env b/apps/mdc-ng/1.7.0/envs/default.env similarity index 100% rename from apps/mdc-ng/1.6.2/envs/default.env rename to apps/mdc-ng/1.7.0/envs/default.env diff --git a/apps/mdc-ng/1.6.2/envs/global.env b/apps/mdc-ng/1.7.0/envs/global.env similarity index 100% rename from apps/mdc-ng/1.6.2/envs/global.env rename to apps/mdc-ng/1.7.0/envs/global.env diff --git a/apps/mdc-ng/1.6.2/scripts/init.sh b/apps/mdc-ng/1.7.0/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.6.2/scripts/init.sh rename to apps/mdc-ng/1.7.0/scripts/init.sh diff --git a/apps/mdc-ng/1.6.2/scripts/uninstall.sh b/apps/mdc-ng/1.7.0/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.6.2/scripts/uninstall.sh rename to apps/mdc-ng/1.7.0/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.6.2/scripts/upgrade.sh b/apps/mdc-ng/1.7.0/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.6.2/scripts/upgrade.sh rename to apps/mdc-ng/1.7.0/scripts/upgrade.sh From cf4068e867b41176bc086a5b3098c8db2bccd2f5 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Sat, 28 Jun 2025 09:22:52 +0000 Subject: [PATCH 77/96] Processed apps directory via GitHub Actions --- appstore/casdoor/{1.949.0 => 1.951.0}/.env | 0 appstore/casdoor/{1.949.0 => 1.951.0}/config/init_data.json | 0 appstore/casdoor/{1.949.0 => 1.951.0}/data.yml | 0 appstore/casdoor/{1.949.0 => 1.951.0}/docker-compose.yml | 2 +- appstore/casdoor/{1.949.0 => 1.951.0}/envs/casdoor.env | 0 appstore/casdoor/{1.949.0 => 1.951.0}/envs/default.env | 0 appstore/casdoor/{1.949.0 => 1.951.0}/envs/global.env | 0 appstore/casdoor/{1.949.0 => 1.951.0}/scripts/init.sh | 0 appstore/casdoor/{1.949.0 => 1.951.0}/scripts/uninstall.sh | 0 appstore/casdoor/{1.949.0 => 1.951.0}/scripts/upgrade.sh | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/.env | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/data.yml | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/docker-compose.yml | 2 +- appstore/cloudreve/{4.1.0 => 4.1.2}/envs/default.env | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/envs/global.env | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/scripts/init.sh | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/scripts/uninstall.sh | 0 appstore/cloudreve/{4.1.0 => 4.1.2}/scripts/upgrade.sh | 0 appstore/dozzle/{8.13.2 => 8.13.3}/.env | 0 appstore/dozzle/{8.13.2 => 8.13.3}/data.yml | 0 appstore/dozzle/{8.13.2 => 8.13.3}/docker-compose.yml | 2 +- appstore/dozzle/{8.13.2 => 8.13.3}/envs/default.env | 0 appstore/dozzle/{8.13.2 => 8.13.3}/envs/global.env | 0 appstore/dozzle/{8.13.2 => 8.13.3}/scripts/init.sh | 0 appstore/dozzle/{8.13.2 => 8.13.3}/scripts/uninstall.sh | 0 appstore/dozzle/{8.13.2 => 8.13.3}/scripts/upgrade.sh | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/.env | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/data.yml | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.6.2 => 1.7.0}/envs/default.env | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/envs/global.env | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/scripts/init.sh | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.6.2 => 1.7.0}/scripts/upgrade.sh | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/.env | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/data.yml | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/docker-compose.yml | 2 +- appstore/nodepassdash/{2.0.4 => 2.0.6}/envs/default.env | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/envs/global.env | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/scripts/init.sh | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/scripts/uninstall.sh | 0 appstore/nodepassdash/{2.0.4 => 2.0.6}/scripts/upgrade.sh | 0 appstore/qinglong/{2.19.1 => 2.19.2}/.env | 0 appstore/qinglong/{2.19.1 => 2.19.2}/data.yml | 0 appstore/qinglong/{2.19.1 => 2.19.2}/docker-compose.yml | 2 +- appstore/qinglong/{2.19.1 => 2.19.2}/envs/default.env | 0 appstore/qinglong/{2.19.1 => 2.19.2}/envs/global.env | 0 appstore/qinglong/{2.19.1 => 2.19.2}/scripts/init.sh | 0 appstore/qinglong/{2.19.1 => 2.19.2}/scripts/uninstall.sh | 0 appstore/qinglong/{2.19.1 => 2.19.2}/scripts/upgrade.sh | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/.env | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/data.yml | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/docker-compose.yml | 2 +- appstore/rsshub/{2025-06-26 => 2025-06-27}/envs/default.env | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/envs/global.env | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/scripts/init.sh | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/scripts/uninstall.sh | 0 appstore/rsshub/{2025-06-26 => 2025-06-27}/scripts/upgrade.sh | 0 dockge/casdoor/docker-compose.yml | 2 +- dockge/cloudreve/docker-compose.yml | 2 +- dockge/dozzle/docker-compose.yml | 2 +- dockge/mdc-ng/docker-compose.yml | 2 +- dockge/nodepassdash/docker-compose.yml | 2 +- dockge/qinglong/docker-compose.yml | 2 +- dockge/rsshub/docker-compose.yml | 2 +- 65 files changed, 14 insertions(+), 14 deletions(-) rename appstore/casdoor/{1.949.0 => 1.951.0}/.env (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/config/init_data.json (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/data.yml (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/docker-compose.yml (93%) rename appstore/casdoor/{1.949.0 => 1.951.0}/envs/casdoor.env (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/envs/default.env (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/envs/global.env (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/scripts/init.sh (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/scripts/uninstall.sh (100%) rename appstore/casdoor/{1.949.0 => 1.951.0}/scripts/upgrade.sh (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/.env (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/data.yml (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/docker-compose.yml (91%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/envs/default.env (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/envs/global.env (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/scripts/init.sh (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/scripts/uninstall.sh (100%) rename appstore/cloudreve/{4.1.0 => 4.1.2}/scripts/upgrade.sh (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/.env (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/data.yml (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/docker-compose.yml (94%) rename appstore/dozzle/{8.13.2 => 8.13.3}/envs/default.env (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/envs/global.env (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/scripts/init.sh (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/scripts/uninstall.sh (100%) rename appstore/dozzle/{8.13.2 => 8.13.3}/scripts/upgrade.sh (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/.env (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/data.yml (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/envs/default.env (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/envs/global.env (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.6.2 => 1.7.0}/scripts/upgrade.sh (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/.env (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/data.yml (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/docker-compose.yml (90%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/envs/default.env (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/envs/global.env (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/scripts/init.sh (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/scripts/uninstall.sh (100%) rename appstore/nodepassdash/{2.0.4 => 2.0.6}/scripts/upgrade.sh (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/.env (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/data.yml (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/docker-compose.yml (91%) rename appstore/qinglong/{2.19.1 => 2.19.2}/envs/default.env (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/envs/global.env (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/scripts/init.sh (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/scripts/uninstall.sh (100%) rename appstore/qinglong/{2.19.1 => 2.19.2}/scripts/upgrade.sh (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/.env (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/data.yml (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/docker-compose.yml (97%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/envs/default.env (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/envs/global.env (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/scripts/init.sh (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/scripts/uninstall.sh (100%) rename appstore/rsshub/{2025-06-26 => 2025-06-27}/scripts/upgrade.sh (100%) diff --git a/appstore/casdoor/1.949.0/.env b/appstore/casdoor/1.951.0/.env similarity index 100% rename from appstore/casdoor/1.949.0/.env rename to appstore/casdoor/1.951.0/.env diff --git a/appstore/casdoor/1.949.0/config/init_data.json b/appstore/casdoor/1.951.0/config/init_data.json similarity index 100% rename from appstore/casdoor/1.949.0/config/init_data.json rename to appstore/casdoor/1.951.0/config/init_data.json diff --git a/appstore/casdoor/1.949.0/data.yml b/appstore/casdoor/1.951.0/data.yml similarity index 100% rename from appstore/casdoor/1.949.0/data.yml rename to appstore/casdoor/1.951.0/data.yml diff --git a/appstore/casdoor/1.949.0/docker-compose.yml b/appstore/casdoor/1.951.0/docker-compose.yml similarity index 93% rename from appstore/casdoor/1.949.0/docker-compose.yml rename to appstore/casdoor/1.951.0/docker-compose.yml index 0289be9ec..a451117cf 100644 --- a/appstore/casdoor/1.949.0/docker-compose.yml +++ b/appstore/casdoor/1.951.0/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.949.0 + image: casbin/casdoor:v1.951.0 labels: createdBy: Apps networks: diff --git a/appstore/casdoor/1.949.0/envs/casdoor.env b/appstore/casdoor/1.951.0/envs/casdoor.env similarity index 100% rename from appstore/casdoor/1.949.0/envs/casdoor.env rename to appstore/casdoor/1.951.0/envs/casdoor.env diff --git a/appstore/casdoor/1.949.0/envs/default.env b/appstore/casdoor/1.951.0/envs/default.env similarity index 100% rename from appstore/casdoor/1.949.0/envs/default.env rename to appstore/casdoor/1.951.0/envs/default.env diff --git a/appstore/casdoor/1.949.0/envs/global.env b/appstore/casdoor/1.951.0/envs/global.env similarity index 100% rename from appstore/casdoor/1.949.0/envs/global.env rename to appstore/casdoor/1.951.0/envs/global.env diff --git a/appstore/casdoor/1.949.0/scripts/init.sh b/appstore/casdoor/1.951.0/scripts/init.sh similarity index 100% rename from appstore/casdoor/1.949.0/scripts/init.sh rename to appstore/casdoor/1.951.0/scripts/init.sh diff --git a/appstore/casdoor/1.949.0/scripts/uninstall.sh b/appstore/casdoor/1.951.0/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/1.949.0/scripts/uninstall.sh rename to appstore/casdoor/1.951.0/scripts/uninstall.sh diff --git a/appstore/casdoor/1.949.0/scripts/upgrade.sh b/appstore/casdoor/1.951.0/scripts/upgrade.sh similarity index 100% rename from appstore/casdoor/1.949.0/scripts/upgrade.sh rename to appstore/casdoor/1.951.0/scripts/upgrade.sh diff --git a/appstore/cloudreve/4.1.0/.env b/appstore/cloudreve/4.1.2/.env similarity index 100% rename from appstore/cloudreve/4.1.0/.env rename to appstore/cloudreve/4.1.2/.env diff --git a/appstore/cloudreve/4.1.0/data.yml b/appstore/cloudreve/4.1.2/data.yml similarity index 100% rename from appstore/cloudreve/4.1.0/data.yml rename to appstore/cloudreve/4.1.2/data.yml diff --git a/appstore/cloudreve/4.1.0/docker-compose.yml b/appstore/cloudreve/4.1.2/docker-compose.yml similarity index 91% rename from appstore/cloudreve/4.1.0/docker-compose.yml rename to appstore/cloudreve/4.1.2/docker-compose.yml index 6227111dd..b49aef9cb 100644 --- a/appstore/cloudreve/4.1.0/docker-compose.yml +++ b/appstore/cloudreve/4.1.2/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: cloudreve/cloudreve:4.1.0 + image: cloudreve/cloudreve:4.1.2 labels: createdBy: Apps networks: diff --git a/appstore/cloudreve/4.1.0/envs/default.env b/appstore/cloudreve/4.1.2/envs/default.env similarity index 100% rename from appstore/cloudreve/4.1.0/envs/default.env rename to appstore/cloudreve/4.1.2/envs/default.env diff --git a/appstore/cloudreve/4.1.0/envs/global.env b/appstore/cloudreve/4.1.2/envs/global.env similarity index 100% rename from appstore/cloudreve/4.1.0/envs/global.env rename to appstore/cloudreve/4.1.2/envs/global.env diff --git a/appstore/cloudreve/4.1.0/scripts/init.sh b/appstore/cloudreve/4.1.2/scripts/init.sh similarity index 100% rename from appstore/cloudreve/4.1.0/scripts/init.sh rename to appstore/cloudreve/4.1.2/scripts/init.sh diff --git a/appstore/cloudreve/4.1.0/scripts/uninstall.sh b/appstore/cloudreve/4.1.2/scripts/uninstall.sh similarity index 100% rename from appstore/cloudreve/4.1.0/scripts/uninstall.sh rename to appstore/cloudreve/4.1.2/scripts/uninstall.sh diff --git a/appstore/cloudreve/4.1.0/scripts/upgrade.sh b/appstore/cloudreve/4.1.2/scripts/upgrade.sh similarity index 100% rename from appstore/cloudreve/4.1.0/scripts/upgrade.sh rename to appstore/cloudreve/4.1.2/scripts/upgrade.sh diff --git a/appstore/dozzle/8.13.2/.env b/appstore/dozzle/8.13.3/.env similarity index 100% rename from appstore/dozzle/8.13.2/.env rename to appstore/dozzle/8.13.3/.env diff --git a/appstore/dozzle/8.13.2/data.yml b/appstore/dozzle/8.13.3/data.yml similarity index 100% rename from appstore/dozzle/8.13.2/data.yml rename to appstore/dozzle/8.13.3/data.yml diff --git a/appstore/dozzle/8.13.2/docker-compose.yml b/appstore/dozzle/8.13.3/docker-compose.yml similarity index 94% rename from appstore/dozzle/8.13.2/docker-compose.yml rename to appstore/dozzle/8.13.3/docker-compose.yml index ca75ee2b4..6c276f177 100644 --- a/appstore/dozzle/8.13.2/docker-compose.yml +++ b/appstore/dozzle/8.13.3/docker-compose.yml @@ -20,7 +20,7 @@ services: - /dozzle - healthcheck timeout: 30s - image: amir20/dozzle:v8.13.2 + image: amir20/dozzle:v8.13.3 labels: createdBy: Apps networks: diff --git a/appstore/dozzle/8.13.2/envs/default.env b/appstore/dozzle/8.13.3/envs/default.env similarity index 100% rename from appstore/dozzle/8.13.2/envs/default.env rename to appstore/dozzle/8.13.3/envs/default.env diff --git a/appstore/dozzle/8.13.2/envs/global.env b/appstore/dozzle/8.13.3/envs/global.env similarity index 100% rename from appstore/dozzle/8.13.2/envs/global.env rename to appstore/dozzle/8.13.3/envs/global.env diff --git a/appstore/dozzle/8.13.2/scripts/init.sh b/appstore/dozzle/8.13.3/scripts/init.sh similarity index 100% rename from appstore/dozzle/8.13.2/scripts/init.sh rename to appstore/dozzle/8.13.3/scripts/init.sh diff --git a/appstore/dozzle/8.13.2/scripts/uninstall.sh b/appstore/dozzle/8.13.3/scripts/uninstall.sh similarity index 100% rename from appstore/dozzle/8.13.2/scripts/uninstall.sh rename to appstore/dozzle/8.13.3/scripts/uninstall.sh diff --git a/appstore/dozzle/8.13.2/scripts/upgrade.sh b/appstore/dozzle/8.13.3/scripts/upgrade.sh similarity index 100% rename from appstore/dozzle/8.13.2/scripts/upgrade.sh rename to appstore/dozzle/8.13.3/scripts/upgrade.sh diff --git a/appstore/mdc-ng/1.6.2/.env b/appstore/mdc-ng/1.7.0/.env similarity index 100% rename from appstore/mdc-ng/1.6.2/.env rename to appstore/mdc-ng/1.7.0/.env diff --git a/appstore/mdc-ng/1.6.2/data.yml b/appstore/mdc-ng/1.7.0/data.yml similarity index 100% rename from appstore/mdc-ng/1.6.2/data.yml rename to appstore/mdc-ng/1.7.0/data.yml diff --git a/appstore/mdc-ng/1.6.2/docker-compose.yml b/appstore/mdc-ng/1.7.0/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.6.2/docker-compose.yml rename to appstore/mdc-ng/1.7.0/docker-compose.yml index a59567225..6b2c1588e 100644 --- a/appstore/mdc-ng/1.6.2/docker-compose.yml +++ b/appstore/mdc-ng/1.7.0/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.6.2 + image: mdcng/mdc:1.7.0 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.6.2/envs/default.env b/appstore/mdc-ng/1.7.0/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.6.2/envs/default.env rename to appstore/mdc-ng/1.7.0/envs/default.env diff --git a/appstore/mdc-ng/1.6.2/envs/global.env b/appstore/mdc-ng/1.7.0/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.6.2/envs/global.env rename to appstore/mdc-ng/1.7.0/envs/global.env diff --git a/appstore/mdc-ng/1.6.2/scripts/init.sh b/appstore/mdc-ng/1.7.0/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.6.2/scripts/init.sh rename to appstore/mdc-ng/1.7.0/scripts/init.sh diff --git a/appstore/mdc-ng/1.6.2/scripts/uninstall.sh b/appstore/mdc-ng/1.7.0/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.6.2/scripts/uninstall.sh rename to appstore/mdc-ng/1.7.0/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.6.2/scripts/upgrade.sh b/appstore/mdc-ng/1.7.0/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.6.2/scripts/upgrade.sh rename to appstore/mdc-ng/1.7.0/scripts/upgrade.sh diff --git a/appstore/nodepassdash/2.0.4/.env b/appstore/nodepassdash/2.0.6/.env similarity index 100% rename from appstore/nodepassdash/2.0.4/.env rename to appstore/nodepassdash/2.0.6/.env diff --git a/appstore/nodepassdash/2.0.4/data.yml b/appstore/nodepassdash/2.0.6/data.yml similarity index 100% rename from appstore/nodepassdash/2.0.4/data.yml rename to appstore/nodepassdash/2.0.6/data.yml diff --git a/appstore/nodepassdash/2.0.4/docker-compose.yml b/appstore/nodepassdash/2.0.6/docker-compose.yml similarity index 90% rename from appstore/nodepassdash/2.0.4/docker-compose.yml rename to appstore/nodepassdash/2.0.6/docker-compose.yml index e2fdb3097..9fadcad30 100644 --- a/appstore/nodepassdash/2.0.4/docker-compose.yml +++ b/appstore/nodepassdash/2.0.6/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.0.4 + image: ghcr.io/nodepassproject/nodepassdash:2.0.6 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/appstore/nodepassdash/2.0.4/envs/default.env b/appstore/nodepassdash/2.0.6/envs/default.env similarity index 100% rename from appstore/nodepassdash/2.0.4/envs/default.env rename to appstore/nodepassdash/2.0.6/envs/default.env diff --git a/appstore/nodepassdash/2.0.4/envs/global.env b/appstore/nodepassdash/2.0.6/envs/global.env similarity index 100% rename from appstore/nodepassdash/2.0.4/envs/global.env rename to appstore/nodepassdash/2.0.6/envs/global.env diff --git a/appstore/nodepassdash/2.0.4/scripts/init.sh b/appstore/nodepassdash/2.0.6/scripts/init.sh similarity index 100% rename from appstore/nodepassdash/2.0.4/scripts/init.sh rename to appstore/nodepassdash/2.0.6/scripts/init.sh diff --git a/appstore/nodepassdash/2.0.4/scripts/uninstall.sh b/appstore/nodepassdash/2.0.6/scripts/uninstall.sh similarity index 100% rename from appstore/nodepassdash/2.0.4/scripts/uninstall.sh rename to appstore/nodepassdash/2.0.6/scripts/uninstall.sh diff --git a/appstore/nodepassdash/2.0.4/scripts/upgrade.sh b/appstore/nodepassdash/2.0.6/scripts/upgrade.sh similarity index 100% rename from appstore/nodepassdash/2.0.4/scripts/upgrade.sh rename to appstore/nodepassdash/2.0.6/scripts/upgrade.sh diff --git a/appstore/qinglong/2.19.1/.env b/appstore/qinglong/2.19.2/.env similarity index 100% rename from appstore/qinglong/2.19.1/.env rename to appstore/qinglong/2.19.2/.env diff --git a/appstore/qinglong/2.19.1/data.yml b/appstore/qinglong/2.19.2/data.yml similarity index 100% rename from appstore/qinglong/2.19.1/data.yml rename to appstore/qinglong/2.19.2/data.yml diff --git a/appstore/qinglong/2.19.1/docker-compose.yml b/appstore/qinglong/2.19.2/docker-compose.yml similarity index 91% rename from appstore/qinglong/2.19.1/docker-compose.yml rename to appstore/qinglong/2.19.2/docker-compose.yml index 722d30ff0..bd436dc35 100644 --- a/appstore/qinglong/2.19.1/docker-compose.yml +++ b/appstore/qinglong/2.19.2/docker-compose.yml @@ -7,7 +7,7 @@ services: environment: - QlPort=5700 - QlBaseUrl=${QINGLONG_BASE_URL:-/} - image: whyour/qinglong:2.19.1 + image: whyour/qinglong:2.19.2 labels: createdBy: Apps networks: diff --git a/appstore/qinglong/2.19.1/envs/default.env b/appstore/qinglong/2.19.2/envs/default.env similarity index 100% rename from appstore/qinglong/2.19.1/envs/default.env rename to appstore/qinglong/2.19.2/envs/default.env diff --git a/appstore/qinglong/2.19.1/envs/global.env b/appstore/qinglong/2.19.2/envs/global.env similarity index 100% rename from appstore/qinglong/2.19.1/envs/global.env rename to appstore/qinglong/2.19.2/envs/global.env diff --git a/appstore/qinglong/2.19.1/scripts/init.sh b/appstore/qinglong/2.19.2/scripts/init.sh similarity index 100% rename from appstore/qinglong/2.19.1/scripts/init.sh rename to appstore/qinglong/2.19.2/scripts/init.sh diff --git a/appstore/qinglong/2.19.1/scripts/uninstall.sh b/appstore/qinglong/2.19.2/scripts/uninstall.sh similarity index 100% rename from appstore/qinglong/2.19.1/scripts/uninstall.sh rename to appstore/qinglong/2.19.2/scripts/uninstall.sh diff --git a/appstore/qinglong/2.19.1/scripts/upgrade.sh b/appstore/qinglong/2.19.2/scripts/upgrade.sh similarity index 100% rename from appstore/qinglong/2.19.1/scripts/upgrade.sh rename to appstore/qinglong/2.19.2/scripts/upgrade.sh diff --git a/appstore/rsshub/2025-06-26/.env b/appstore/rsshub/2025-06-27/.env similarity index 100% rename from appstore/rsshub/2025-06-26/.env rename to appstore/rsshub/2025-06-27/.env diff --git a/appstore/rsshub/2025-06-26/data.yml b/appstore/rsshub/2025-06-27/data.yml similarity index 100% rename from appstore/rsshub/2025-06-26/data.yml rename to appstore/rsshub/2025-06-27/data.yml diff --git a/appstore/rsshub/2025-06-26/docker-compose.yml b/appstore/rsshub/2025-06-27/docker-compose.yml similarity index 97% rename from appstore/rsshub/2025-06-26/docker-compose.yml rename to appstore/rsshub/2025-06-27/docker-compose.yml index 465650161..61335eeed 100644 --- a/appstore/rsshub/2025-06-26/docker-compose.yml +++ b/appstore/rsshub/2025-06-27/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-06-26 + image: diygod/rsshub:2025-06-27 labels: createdBy: Apps networks: diff --git a/appstore/rsshub/2025-06-26/envs/default.env b/appstore/rsshub/2025-06-27/envs/default.env similarity index 100% rename from appstore/rsshub/2025-06-26/envs/default.env rename to appstore/rsshub/2025-06-27/envs/default.env diff --git a/appstore/rsshub/2025-06-26/envs/global.env b/appstore/rsshub/2025-06-27/envs/global.env similarity index 100% rename from appstore/rsshub/2025-06-26/envs/global.env rename to appstore/rsshub/2025-06-27/envs/global.env diff --git a/appstore/rsshub/2025-06-26/scripts/init.sh b/appstore/rsshub/2025-06-27/scripts/init.sh similarity index 100% rename from appstore/rsshub/2025-06-26/scripts/init.sh rename to appstore/rsshub/2025-06-27/scripts/init.sh diff --git a/appstore/rsshub/2025-06-26/scripts/uninstall.sh b/appstore/rsshub/2025-06-27/scripts/uninstall.sh similarity index 100% rename from appstore/rsshub/2025-06-26/scripts/uninstall.sh rename to appstore/rsshub/2025-06-27/scripts/uninstall.sh diff --git a/appstore/rsshub/2025-06-26/scripts/upgrade.sh b/appstore/rsshub/2025-06-27/scripts/upgrade.sh similarity index 100% rename from appstore/rsshub/2025-06-26/scripts/upgrade.sh rename to appstore/rsshub/2025-06-27/scripts/upgrade.sh diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index 0289be9ec..a451117cf 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.949.0 + image: casbin/casdoor:v1.951.0 labels: createdBy: Apps networks: diff --git a/dockge/cloudreve/docker-compose.yml b/dockge/cloudreve/docker-compose.yml index 6227111dd..b49aef9cb 100644 --- a/dockge/cloudreve/docker-compose.yml +++ b/dockge/cloudreve/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: cloudreve/cloudreve:4.1.0 + image: cloudreve/cloudreve:4.1.2 labels: createdBy: Apps networks: diff --git a/dockge/dozzle/docker-compose.yml b/dockge/dozzle/docker-compose.yml index ca75ee2b4..6c276f177 100644 --- a/dockge/dozzle/docker-compose.yml +++ b/dockge/dozzle/docker-compose.yml @@ -20,7 +20,7 @@ services: - /dozzle - healthcheck timeout: 30s - image: amir20/dozzle:v8.13.2 + image: amir20/dozzle:v8.13.3 labels: createdBy: Apps networks: diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index a59567225..6b2c1588e 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.6.2 + image: mdcng/mdc:1.7.0 labels: createdBy: Apps networks: diff --git a/dockge/nodepassdash/docker-compose.yml b/dockge/nodepassdash/docker-compose.yml index e2fdb3097..9fadcad30 100644 --- a/dockge/nodepassdash/docker-compose.yml +++ b/dockge/nodepassdash/docker-compose.yml @@ -10,7 +10,7 @@ services: environment: - TZ=Asia/Shanghai - PORT=${PANEL_APP_PORT_HTTP} - image: ghcr.io/nodepassproject/nodepassdash:2.0.4 + image: ghcr.io/nodepassproject/nodepassdash:2.0.6 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/qinglong/docker-compose.yml b/dockge/qinglong/docker-compose.yml index 722d30ff0..bd436dc35 100644 --- a/dockge/qinglong/docker-compose.yml +++ b/dockge/qinglong/docker-compose.yml @@ -7,7 +7,7 @@ services: environment: - QlPort=5700 - QlBaseUrl=${QINGLONG_BASE_URL:-/} - image: whyour/qinglong:2.19.1 + image: whyour/qinglong:2.19.2 labels: createdBy: Apps networks: diff --git a/dockge/rsshub/docker-compose.yml b/dockge/rsshub/docker-compose.yml index 465650161..61335eeed 100644 --- a/dockge/rsshub/docker-compose.yml +++ b/dockge/rsshub/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-06-26 + image: diygod/rsshub:2025-06-27 labels: createdBy: Apps networks: From ba12649365f73d9609d1fa9f7f94f3d6bcc2d4ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 09:26:13 +0000 Subject: [PATCH 78/96] Update mdcng/mdc Docker tag to v1.8.0 --- apps/mdc-ng/1.7.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/mdc-ng/1.7.0/docker-compose.yml b/apps/mdc-ng/1.7.0/docker-compose.yml index 5dbc18b2c..5a98d0d4c 100644 --- a/apps/mdc-ng/1.7.0/docker-compose.yml +++ b/apps/mdc-ng/1.7.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: mdc-ng: - image: mdcng/mdc:1.7.0 + image: mdcng/mdc:1.8.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From c449f9ee1fcfba6bf3c430f582ee1aeab58bffe8 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 09:26:25 +0000 Subject: [PATCH 79/96] Update app version [skip ci] --- apps/mdc-ng/{1.7.0 => 1.8.0}/data.yml | 0 apps/mdc-ng/{1.7.0 => 1.8.0}/docker-compose.yml | 0 apps/mdc-ng/{1.7.0 => 1.8.0}/envs/default.env | 0 apps/mdc-ng/{1.7.0 => 1.8.0}/envs/global.env | 0 apps/mdc-ng/{1.7.0 => 1.8.0}/scripts/init.sh | 0 apps/mdc-ng/{1.7.0 => 1.8.0}/scripts/uninstall.sh | 0 apps/mdc-ng/{1.7.0 => 1.8.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/mdc-ng/{1.7.0 => 1.8.0}/data.yml (100%) rename apps/mdc-ng/{1.7.0 => 1.8.0}/docker-compose.yml (100%) rename apps/mdc-ng/{1.7.0 => 1.8.0}/envs/default.env (100%) rename apps/mdc-ng/{1.7.0 => 1.8.0}/envs/global.env (100%) rename apps/mdc-ng/{1.7.0 => 1.8.0}/scripts/init.sh (100%) rename apps/mdc-ng/{1.7.0 => 1.8.0}/scripts/uninstall.sh (100%) rename apps/mdc-ng/{1.7.0 => 1.8.0}/scripts/upgrade.sh (100%) diff --git a/apps/mdc-ng/1.7.0/data.yml b/apps/mdc-ng/1.8.0/data.yml similarity index 100% rename from apps/mdc-ng/1.7.0/data.yml rename to apps/mdc-ng/1.8.0/data.yml diff --git a/apps/mdc-ng/1.7.0/docker-compose.yml b/apps/mdc-ng/1.8.0/docker-compose.yml similarity index 100% rename from apps/mdc-ng/1.7.0/docker-compose.yml rename to apps/mdc-ng/1.8.0/docker-compose.yml diff --git a/apps/mdc-ng/1.7.0/envs/default.env b/apps/mdc-ng/1.8.0/envs/default.env similarity index 100% rename from apps/mdc-ng/1.7.0/envs/default.env rename to apps/mdc-ng/1.8.0/envs/default.env diff --git a/apps/mdc-ng/1.7.0/envs/global.env b/apps/mdc-ng/1.8.0/envs/global.env similarity index 100% rename from apps/mdc-ng/1.7.0/envs/global.env rename to apps/mdc-ng/1.8.0/envs/global.env diff --git a/apps/mdc-ng/1.7.0/scripts/init.sh b/apps/mdc-ng/1.8.0/scripts/init.sh similarity index 100% rename from apps/mdc-ng/1.7.0/scripts/init.sh rename to apps/mdc-ng/1.8.0/scripts/init.sh diff --git a/apps/mdc-ng/1.7.0/scripts/uninstall.sh b/apps/mdc-ng/1.8.0/scripts/uninstall.sh similarity index 100% rename from apps/mdc-ng/1.7.0/scripts/uninstall.sh rename to apps/mdc-ng/1.8.0/scripts/uninstall.sh diff --git a/apps/mdc-ng/1.7.0/scripts/upgrade.sh b/apps/mdc-ng/1.8.0/scripts/upgrade.sh similarity index 100% rename from apps/mdc-ng/1.7.0/scripts/upgrade.sh rename to apps/mdc-ng/1.8.0/scripts/upgrade.sh From 958f9f1adff9f84b22c6f3e6980410ac1f8fdfa5 Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Sat, 28 Jun 2025 12:40:55 +0000 Subject: [PATCH 80/96] Processed apps directory via GitHub Actions --- appstore/mdc-ng/{1.7.0 => 1.8.0}/.env | 0 appstore/mdc-ng/{1.7.0 => 1.8.0}/data.yml | 0 appstore/mdc-ng/{1.7.0 => 1.8.0}/docker-compose.yml | 2 +- appstore/mdc-ng/{1.7.0 => 1.8.0}/envs/default.env | 0 appstore/mdc-ng/{1.7.0 => 1.8.0}/envs/global.env | 0 appstore/mdc-ng/{1.7.0 => 1.8.0}/scripts/init.sh | 0 appstore/mdc-ng/{1.7.0 => 1.8.0}/scripts/uninstall.sh | 0 appstore/mdc-ng/{1.7.0 => 1.8.0}/scripts/upgrade.sh | 0 dockge/mdc-ng/docker-compose.yml | 2 +- 9 files changed, 2 insertions(+), 2 deletions(-) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/.env (100%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/data.yml (100%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/docker-compose.yml (96%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/envs/default.env (100%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/envs/global.env (100%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/scripts/init.sh (100%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/scripts/uninstall.sh (100%) rename appstore/mdc-ng/{1.7.0 => 1.8.0}/scripts/upgrade.sh (100%) diff --git a/appstore/mdc-ng/1.7.0/.env b/appstore/mdc-ng/1.8.0/.env similarity index 100% rename from appstore/mdc-ng/1.7.0/.env rename to appstore/mdc-ng/1.8.0/.env diff --git a/appstore/mdc-ng/1.7.0/data.yml b/appstore/mdc-ng/1.8.0/data.yml similarity index 100% rename from appstore/mdc-ng/1.7.0/data.yml rename to appstore/mdc-ng/1.8.0/data.yml diff --git a/appstore/mdc-ng/1.7.0/docker-compose.yml b/appstore/mdc-ng/1.8.0/docker-compose.yml similarity index 96% rename from appstore/mdc-ng/1.7.0/docker-compose.yml rename to appstore/mdc-ng/1.8.0/docker-compose.yml index 6b2c1588e..95f006a2c 100644 --- a/appstore/mdc-ng/1.7.0/docker-compose.yml +++ b/appstore/mdc-ng/1.8.0/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.7.0 + image: mdcng/mdc:1.8.0 labels: createdBy: Apps networks: diff --git a/appstore/mdc-ng/1.7.0/envs/default.env b/appstore/mdc-ng/1.8.0/envs/default.env similarity index 100% rename from appstore/mdc-ng/1.7.0/envs/default.env rename to appstore/mdc-ng/1.8.0/envs/default.env diff --git a/appstore/mdc-ng/1.7.0/envs/global.env b/appstore/mdc-ng/1.8.0/envs/global.env similarity index 100% rename from appstore/mdc-ng/1.7.0/envs/global.env rename to appstore/mdc-ng/1.8.0/envs/global.env diff --git a/appstore/mdc-ng/1.7.0/scripts/init.sh b/appstore/mdc-ng/1.8.0/scripts/init.sh similarity index 100% rename from appstore/mdc-ng/1.7.0/scripts/init.sh rename to appstore/mdc-ng/1.8.0/scripts/init.sh diff --git a/appstore/mdc-ng/1.7.0/scripts/uninstall.sh b/appstore/mdc-ng/1.8.0/scripts/uninstall.sh similarity index 100% rename from appstore/mdc-ng/1.7.0/scripts/uninstall.sh rename to appstore/mdc-ng/1.8.0/scripts/uninstall.sh diff --git a/appstore/mdc-ng/1.7.0/scripts/upgrade.sh b/appstore/mdc-ng/1.8.0/scripts/upgrade.sh similarity index 100% rename from appstore/mdc-ng/1.7.0/scripts/upgrade.sh rename to appstore/mdc-ng/1.8.0/scripts/upgrade.sh diff --git a/dockge/mdc-ng/docker-compose.yml b/dockge/mdc-ng/docker-compose.yml index 6b2c1588e..95f006a2c 100644 --- a/dockge/mdc-ng/docker-compose.yml +++ b/dockge/mdc-ng/docker-compose.yml @@ -7,7 +7,7 @@ services: env_file: - ./envs/global.env - .env - image: mdcng/mdc:1.7.0 + image: mdcng/mdc:1.8.0 labels: createdBy: Apps networks: From b3752ba33c7b7d181c49d2c6ac40057ea0103690 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 18:03:20 +0000 Subject: [PATCH 81/96] Update diygod/rsshub Docker tag to v2025-06-28 --- apps/rsshub/2025-06-27/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/rsshub/2025-06-27/docker-compose.yml b/apps/rsshub/2025-06-27/docker-compose.yml index 075e345b4..a5400a4a3 100644 --- a/apps/rsshub/2025-06-27/docker-compose.yml +++ b/apps/rsshub/2025-06-27/docker-compose.yml @@ -23,7 +23,7 @@ services: timeout: 10s retries: 3 rsshub: - image: diygod/rsshub:2025-06-27 + image: diygod/rsshub:2025-06-28 container_name: rsshub-${CONTAINER_NAME} depends_on: - browserless From f628fd806d6f602e748d7394a38191c356620cc3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 18:03:25 +0000 Subject: [PATCH 82/96] Update jxxghp/moviepilot-v2 Docker tag to v2.5.9 --- apps/movie-pilot/2.5.8/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/movie-pilot/2.5.8/docker-compose.yml b/apps/movie-pilot/2.5.8/docker-compose.yml index 86bc5c12f..6bd3f4a92 100644 --- a/apps/movie-pilot/2.5.8/docker-compose.yml +++ b/apps/movie-pilot/2.5.8/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: movie-pilot-v2: - image: jxxghp/moviepilot-v2:2.5.8 + image: jxxghp/moviepilot-v2:2.5.9 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 9b3f2a3a25ca67a9fec658a7a6bc8c6f6293de30 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 18:03:29 +0000 Subject: [PATCH 83/96] Update app version [skip ci] --- apps/rsshub/{2025-06-27 => 2025-06-28}/data.yml | 0 apps/rsshub/{2025-06-27 => 2025-06-28}/docker-compose.yml | 0 apps/rsshub/{2025-06-27 => 2025-06-28}/envs/default.env | 0 apps/rsshub/{2025-06-27 => 2025-06-28}/envs/global.env | 0 apps/rsshub/{2025-06-27 => 2025-06-28}/scripts/init.sh | 0 apps/rsshub/{2025-06-27 => 2025-06-28}/scripts/uninstall.sh | 0 apps/rsshub/{2025-06-27 => 2025-06-28}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/rsshub/{2025-06-27 => 2025-06-28}/data.yml (100%) rename apps/rsshub/{2025-06-27 => 2025-06-28}/docker-compose.yml (100%) rename apps/rsshub/{2025-06-27 => 2025-06-28}/envs/default.env (100%) rename apps/rsshub/{2025-06-27 => 2025-06-28}/envs/global.env (100%) rename apps/rsshub/{2025-06-27 => 2025-06-28}/scripts/init.sh (100%) rename apps/rsshub/{2025-06-27 => 2025-06-28}/scripts/uninstall.sh (100%) rename apps/rsshub/{2025-06-27 => 2025-06-28}/scripts/upgrade.sh (100%) diff --git a/apps/rsshub/2025-06-27/data.yml b/apps/rsshub/2025-06-28/data.yml similarity index 100% rename from apps/rsshub/2025-06-27/data.yml rename to apps/rsshub/2025-06-28/data.yml diff --git a/apps/rsshub/2025-06-27/docker-compose.yml b/apps/rsshub/2025-06-28/docker-compose.yml similarity index 100% rename from apps/rsshub/2025-06-27/docker-compose.yml rename to apps/rsshub/2025-06-28/docker-compose.yml diff --git a/apps/rsshub/2025-06-27/envs/default.env b/apps/rsshub/2025-06-28/envs/default.env similarity index 100% rename from apps/rsshub/2025-06-27/envs/default.env rename to apps/rsshub/2025-06-28/envs/default.env diff --git a/apps/rsshub/2025-06-27/envs/global.env b/apps/rsshub/2025-06-28/envs/global.env similarity index 100% rename from apps/rsshub/2025-06-27/envs/global.env rename to apps/rsshub/2025-06-28/envs/global.env diff --git a/apps/rsshub/2025-06-27/scripts/init.sh b/apps/rsshub/2025-06-28/scripts/init.sh similarity index 100% rename from apps/rsshub/2025-06-27/scripts/init.sh rename to apps/rsshub/2025-06-28/scripts/init.sh diff --git a/apps/rsshub/2025-06-27/scripts/uninstall.sh b/apps/rsshub/2025-06-28/scripts/uninstall.sh similarity index 100% rename from apps/rsshub/2025-06-27/scripts/uninstall.sh rename to apps/rsshub/2025-06-28/scripts/uninstall.sh diff --git a/apps/rsshub/2025-06-27/scripts/upgrade.sh b/apps/rsshub/2025-06-28/scripts/upgrade.sh similarity index 100% rename from apps/rsshub/2025-06-27/scripts/upgrade.sh rename to apps/rsshub/2025-06-28/scripts/upgrade.sh From 058d2099484ce932d4003851b0a3861a85d21078 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 18:03:33 +0000 Subject: [PATCH 84/96] Update app version [skip ci] --- apps/movie-pilot/{2.5.8 => 2.5.9}/data.yml | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/docker-compose.yml | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/envs/default.env | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/envs/global.env | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/envs/movie-pilot.env | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/scripts/init.sh | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/scripts/uninstall.sh | 0 apps/movie-pilot/{2.5.8 => 2.5.9}/scripts/upgrade.sh | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename apps/movie-pilot/{2.5.8 => 2.5.9}/data.yml (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/docker-compose.yml (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/envs/default.env (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/envs/global.env (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/envs/movie-pilot.env (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/scripts/init.sh (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/scripts/uninstall.sh (100%) rename apps/movie-pilot/{2.5.8 => 2.5.9}/scripts/upgrade.sh (100%) diff --git a/apps/movie-pilot/2.5.8/data.yml b/apps/movie-pilot/2.5.9/data.yml similarity index 100% rename from apps/movie-pilot/2.5.8/data.yml rename to apps/movie-pilot/2.5.9/data.yml diff --git a/apps/movie-pilot/2.5.8/docker-compose.yml b/apps/movie-pilot/2.5.9/docker-compose.yml similarity index 100% rename from apps/movie-pilot/2.5.8/docker-compose.yml rename to apps/movie-pilot/2.5.9/docker-compose.yml diff --git a/apps/movie-pilot/2.5.8/envs/default.env b/apps/movie-pilot/2.5.9/envs/default.env similarity index 100% rename from apps/movie-pilot/2.5.8/envs/default.env rename to apps/movie-pilot/2.5.9/envs/default.env diff --git a/apps/movie-pilot/2.5.8/envs/global.env b/apps/movie-pilot/2.5.9/envs/global.env similarity index 100% rename from apps/movie-pilot/2.5.8/envs/global.env rename to apps/movie-pilot/2.5.9/envs/global.env diff --git a/apps/movie-pilot/2.5.8/envs/movie-pilot.env b/apps/movie-pilot/2.5.9/envs/movie-pilot.env similarity index 100% rename from apps/movie-pilot/2.5.8/envs/movie-pilot.env rename to apps/movie-pilot/2.5.9/envs/movie-pilot.env diff --git a/apps/movie-pilot/2.5.8/scripts/init.sh b/apps/movie-pilot/2.5.9/scripts/init.sh similarity index 100% rename from apps/movie-pilot/2.5.8/scripts/init.sh rename to apps/movie-pilot/2.5.9/scripts/init.sh diff --git a/apps/movie-pilot/2.5.8/scripts/uninstall.sh b/apps/movie-pilot/2.5.9/scripts/uninstall.sh similarity index 100% rename from apps/movie-pilot/2.5.8/scripts/uninstall.sh rename to apps/movie-pilot/2.5.9/scripts/uninstall.sh diff --git a/apps/movie-pilot/2.5.8/scripts/upgrade.sh b/apps/movie-pilot/2.5.9/scripts/upgrade.sh similarity index 100% rename from apps/movie-pilot/2.5.8/scripts/upgrade.sh rename to apps/movie-pilot/2.5.9/scripts/upgrade.sh From 251ac9be7a4b7a88deb92ffb7c46b5fc4f7c5e60 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 21:45:51 +0000 Subject: [PATCH 85/96] Update casbin/casdoor Docker tag to v1.952.0 --- apps/casdoor/1.951.0/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/casdoor/1.951.0/docker-compose.yml b/apps/casdoor/1.951.0/docker-compose.yml index e6e14609e..c3edc78c3 100644 --- a/apps/casdoor/1.951.0/docker-compose.yml +++ b/apps/casdoor/1.951.0/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: casdoor: - image: casbin/casdoor:v1.951.0 + image: casbin/casdoor:v1.952.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 169fba5e77f9bb5ba9aa0b70c0e1a42cf41855c7 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sat, 28 Jun 2025 21:46:01 +0000 Subject: [PATCH 86/96] Update app version [skip ci] --- apps/casdoor/{1.951.0 => 1.952.0}/config/init_data.json | 0 apps/casdoor/{1.951.0 => 1.952.0}/data.yml | 0 apps/casdoor/{1.951.0 => 1.952.0}/docker-compose.yml | 0 apps/casdoor/{1.951.0 => 1.952.0}/envs/casdoor.env | 0 apps/casdoor/{1.951.0 => 1.952.0}/envs/default.env | 0 apps/casdoor/{1.951.0 => 1.952.0}/envs/global.env | 0 apps/casdoor/{1.951.0 => 1.952.0}/scripts/init.sh | 0 apps/casdoor/{1.951.0 => 1.952.0}/scripts/uninstall.sh | 0 apps/casdoor/{1.951.0 => 1.952.0}/scripts/upgrade.sh | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename apps/casdoor/{1.951.0 => 1.952.0}/config/init_data.json (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/data.yml (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/docker-compose.yml (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/envs/casdoor.env (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/envs/default.env (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/envs/global.env (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/scripts/init.sh (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/scripts/uninstall.sh (100%) rename apps/casdoor/{1.951.0 => 1.952.0}/scripts/upgrade.sh (100%) diff --git a/apps/casdoor/1.951.0/config/init_data.json b/apps/casdoor/1.952.0/config/init_data.json similarity index 100% rename from apps/casdoor/1.951.0/config/init_data.json rename to apps/casdoor/1.952.0/config/init_data.json diff --git a/apps/casdoor/1.951.0/data.yml b/apps/casdoor/1.952.0/data.yml similarity index 100% rename from apps/casdoor/1.951.0/data.yml rename to apps/casdoor/1.952.0/data.yml diff --git a/apps/casdoor/1.951.0/docker-compose.yml b/apps/casdoor/1.952.0/docker-compose.yml similarity index 100% rename from apps/casdoor/1.951.0/docker-compose.yml rename to apps/casdoor/1.952.0/docker-compose.yml diff --git a/apps/casdoor/1.951.0/envs/casdoor.env b/apps/casdoor/1.952.0/envs/casdoor.env similarity index 100% rename from apps/casdoor/1.951.0/envs/casdoor.env rename to apps/casdoor/1.952.0/envs/casdoor.env diff --git a/apps/casdoor/1.951.0/envs/default.env b/apps/casdoor/1.952.0/envs/default.env similarity index 100% rename from apps/casdoor/1.951.0/envs/default.env rename to apps/casdoor/1.952.0/envs/default.env diff --git a/apps/casdoor/1.951.0/envs/global.env b/apps/casdoor/1.952.0/envs/global.env similarity index 100% rename from apps/casdoor/1.951.0/envs/global.env rename to apps/casdoor/1.952.0/envs/global.env diff --git a/apps/casdoor/1.951.0/scripts/init.sh b/apps/casdoor/1.952.0/scripts/init.sh similarity index 100% rename from apps/casdoor/1.951.0/scripts/init.sh rename to apps/casdoor/1.952.0/scripts/init.sh diff --git a/apps/casdoor/1.951.0/scripts/uninstall.sh b/apps/casdoor/1.952.0/scripts/uninstall.sh similarity index 100% rename from apps/casdoor/1.951.0/scripts/uninstall.sh rename to apps/casdoor/1.952.0/scripts/uninstall.sh diff --git a/apps/casdoor/1.951.0/scripts/upgrade.sh b/apps/casdoor/1.952.0/scripts/upgrade.sh similarity index 100% rename from apps/casdoor/1.951.0/scripts/upgrade.sh rename to apps/casdoor/1.952.0/scripts/upgrade.sh From 30c240e8d2fb4cc2fe82fedff45e74e0c8417973 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Jun 2025 02:34:57 +0000 Subject: [PATCH 87/96] Update 1dev/server Docker tag to v11.11.2 --- apps/onedev/11.11.1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/onedev/11.11.1/docker-compose.yml b/apps/onedev/11.11.1/docker-compose.yml index fe3c187e9..4d45d3448 100644 --- a/apps/onedev/11.11.1/docker-compose.yml +++ b/apps/onedev/11.11.1/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: onedev: - image: 1dev/server:11.11.1 + image: 1dev/server:11.11.2 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From c0f90df4058decdd41692d0670a515e0ad9572c6 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 29 Jun 2025 02:35:06 +0000 Subject: [PATCH 88/96] Update app version [skip ci] --- apps/onedev/{11.11.1 => 11.11.2}/data.yml | 0 apps/onedev/{11.11.1 => 11.11.2}/docker-compose.yml | 0 apps/onedev/{11.11.1 => 11.11.2}/envs/default.env | 0 apps/onedev/{11.11.1 => 11.11.2}/envs/global.env | 0 apps/onedev/{11.11.1 => 11.11.2}/envs/onedev.env | 0 apps/onedev/{11.11.1 => 11.11.2}/scripts/init.sh | 0 apps/onedev/{11.11.1 => 11.11.2}/scripts/uninstall.sh | 0 apps/onedev/{11.11.1 => 11.11.2}/scripts/upgrade.sh | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename apps/onedev/{11.11.1 => 11.11.2}/data.yml (100%) rename apps/onedev/{11.11.1 => 11.11.2}/docker-compose.yml (100%) rename apps/onedev/{11.11.1 => 11.11.2}/envs/default.env (100%) rename apps/onedev/{11.11.1 => 11.11.2}/envs/global.env (100%) rename apps/onedev/{11.11.1 => 11.11.2}/envs/onedev.env (100%) rename apps/onedev/{11.11.1 => 11.11.2}/scripts/init.sh (100%) rename apps/onedev/{11.11.1 => 11.11.2}/scripts/uninstall.sh (100%) rename apps/onedev/{11.11.1 => 11.11.2}/scripts/upgrade.sh (100%) diff --git a/apps/onedev/11.11.1/data.yml b/apps/onedev/11.11.2/data.yml similarity index 100% rename from apps/onedev/11.11.1/data.yml rename to apps/onedev/11.11.2/data.yml diff --git a/apps/onedev/11.11.1/docker-compose.yml b/apps/onedev/11.11.2/docker-compose.yml similarity index 100% rename from apps/onedev/11.11.1/docker-compose.yml rename to apps/onedev/11.11.2/docker-compose.yml diff --git a/apps/onedev/11.11.1/envs/default.env b/apps/onedev/11.11.2/envs/default.env similarity index 100% rename from apps/onedev/11.11.1/envs/default.env rename to apps/onedev/11.11.2/envs/default.env diff --git a/apps/onedev/11.11.1/envs/global.env b/apps/onedev/11.11.2/envs/global.env similarity index 100% rename from apps/onedev/11.11.1/envs/global.env rename to apps/onedev/11.11.2/envs/global.env diff --git a/apps/onedev/11.11.1/envs/onedev.env b/apps/onedev/11.11.2/envs/onedev.env similarity index 100% rename from apps/onedev/11.11.1/envs/onedev.env rename to apps/onedev/11.11.2/envs/onedev.env diff --git a/apps/onedev/11.11.1/scripts/init.sh b/apps/onedev/11.11.2/scripts/init.sh similarity index 100% rename from apps/onedev/11.11.1/scripts/init.sh rename to apps/onedev/11.11.2/scripts/init.sh diff --git a/apps/onedev/11.11.1/scripts/uninstall.sh b/apps/onedev/11.11.2/scripts/uninstall.sh similarity index 100% rename from apps/onedev/11.11.1/scripts/uninstall.sh rename to apps/onedev/11.11.2/scripts/uninstall.sh diff --git a/apps/onedev/11.11.1/scripts/upgrade.sh b/apps/onedev/11.11.2/scripts/upgrade.sh similarity index 100% rename from apps/onedev/11.11.1/scripts/upgrade.sh rename to apps/onedev/11.11.2/scripts/upgrade.sh From 1888bc42298902c232bd173fbf3cdc2bb6b264d6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Jun 2025 05:43:57 +0000 Subject: [PATCH 89/96] Update wushuo894/ani-rss Docker tag to v2.0.14 --- apps/ani-rss/2.0.13/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ani-rss/2.0.13/docker-compose.yml b/apps/ani-rss/2.0.13/docker-compose.yml index 1d4afec44..9d7c0a24e 100644 --- a/apps/ani-rss/2.0.13/docker-compose.yml +++ b/apps/ani-rss/2.0.13/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: ani-rss: - image: wushuo894/ani-rss:v2.0.13 + image: wushuo894/ani-rss:v2.0.14 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From c5caa72e655e9ad2b19e9e052744dc1d0b077ee7 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 29 Jun 2025 05:44:20 +0000 Subject: [PATCH 90/96] Update app version [skip ci] --- apps/ani-rss/{2.0.13 => 2.0.14}/data.yml | 0 apps/ani-rss/{2.0.13 => 2.0.14}/docker-compose.yml | 0 apps/ani-rss/{2.0.13 => 2.0.14}/envs/default.env | 0 apps/ani-rss/{2.0.13 => 2.0.14}/envs/global.env | 0 apps/ani-rss/{2.0.13 => 2.0.14}/scripts/init.sh | 0 apps/ani-rss/{2.0.13 => 2.0.14}/scripts/uninstall.sh | 0 apps/ani-rss/{2.0.13 => 2.0.14}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/ani-rss/{2.0.13 => 2.0.14}/data.yml (100%) rename apps/ani-rss/{2.0.13 => 2.0.14}/docker-compose.yml (100%) rename apps/ani-rss/{2.0.13 => 2.0.14}/envs/default.env (100%) rename apps/ani-rss/{2.0.13 => 2.0.14}/envs/global.env (100%) rename apps/ani-rss/{2.0.13 => 2.0.14}/scripts/init.sh (100%) rename apps/ani-rss/{2.0.13 => 2.0.14}/scripts/uninstall.sh (100%) rename apps/ani-rss/{2.0.13 => 2.0.14}/scripts/upgrade.sh (100%) diff --git a/apps/ani-rss/2.0.13/data.yml b/apps/ani-rss/2.0.14/data.yml similarity index 100% rename from apps/ani-rss/2.0.13/data.yml rename to apps/ani-rss/2.0.14/data.yml diff --git a/apps/ani-rss/2.0.13/docker-compose.yml b/apps/ani-rss/2.0.14/docker-compose.yml similarity index 100% rename from apps/ani-rss/2.0.13/docker-compose.yml rename to apps/ani-rss/2.0.14/docker-compose.yml diff --git a/apps/ani-rss/2.0.13/envs/default.env b/apps/ani-rss/2.0.14/envs/default.env similarity index 100% rename from apps/ani-rss/2.0.13/envs/default.env rename to apps/ani-rss/2.0.14/envs/default.env diff --git a/apps/ani-rss/2.0.13/envs/global.env b/apps/ani-rss/2.0.14/envs/global.env similarity index 100% rename from apps/ani-rss/2.0.13/envs/global.env rename to apps/ani-rss/2.0.14/envs/global.env diff --git a/apps/ani-rss/2.0.13/scripts/init.sh b/apps/ani-rss/2.0.14/scripts/init.sh similarity index 100% rename from apps/ani-rss/2.0.13/scripts/init.sh rename to apps/ani-rss/2.0.14/scripts/init.sh diff --git a/apps/ani-rss/2.0.13/scripts/uninstall.sh b/apps/ani-rss/2.0.14/scripts/uninstall.sh similarity index 100% rename from apps/ani-rss/2.0.13/scripts/uninstall.sh rename to apps/ani-rss/2.0.14/scripts/uninstall.sh diff --git a/apps/ani-rss/2.0.13/scripts/upgrade.sh b/apps/ani-rss/2.0.14/scripts/upgrade.sh similarity index 100% rename from apps/ani-rss/2.0.13/scripts/upgrade.sh rename to apps/ani-rss/2.0.14/scripts/upgrade.sh From fc0117c98568327a46a204fe95138c03fae9b76f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Jun 2025 12:44:01 +0000 Subject: [PATCH 91/96] Update anirdev/slink Docker tag to v1.5.0 --- apps/slink/1.4.9/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/slink/1.4.9/docker-compose.yml b/apps/slink/1.4.9/docker-compose.yml index 630768259..ef92e5b3b 100644 --- a/apps/slink/1.4.9/docker-compose.yml +++ b/apps/slink/1.4.9/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: slink: - image: anirdev/slink:v1.4.9 + image: anirdev/slink:v1.5.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 53cc7a4c8dd3b8689997ab5b891ca9c51379f2f1 Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 29 Jun 2025 12:44:10 +0000 Subject: [PATCH 92/96] Update app version [skip ci] --- apps/slink/{1.4.9 => 1.5.0}/data.yml | 0 apps/slink/{1.4.9 => 1.5.0}/docker-compose.yml | 0 apps/slink/{1.4.9 => 1.5.0}/envs/default.env | 0 apps/slink/{1.4.9 => 1.5.0}/envs/global.env | 0 apps/slink/{1.4.9 => 1.5.0}/scripts/init.sh | 0 apps/slink/{1.4.9 => 1.5.0}/scripts/uninstall.sh | 0 apps/slink/{1.4.9 => 1.5.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/slink/{1.4.9 => 1.5.0}/data.yml (100%) rename apps/slink/{1.4.9 => 1.5.0}/docker-compose.yml (100%) rename apps/slink/{1.4.9 => 1.5.0}/envs/default.env (100%) rename apps/slink/{1.4.9 => 1.5.0}/envs/global.env (100%) rename apps/slink/{1.4.9 => 1.5.0}/scripts/init.sh (100%) rename apps/slink/{1.4.9 => 1.5.0}/scripts/uninstall.sh (100%) rename apps/slink/{1.4.9 => 1.5.0}/scripts/upgrade.sh (100%) diff --git a/apps/slink/1.4.9/data.yml b/apps/slink/1.5.0/data.yml similarity index 100% rename from apps/slink/1.4.9/data.yml rename to apps/slink/1.5.0/data.yml diff --git a/apps/slink/1.4.9/docker-compose.yml b/apps/slink/1.5.0/docker-compose.yml similarity index 100% rename from apps/slink/1.4.9/docker-compose.yml rename to apps/slink/1.5.0/docker-compose.yml diff --git a/apps/slink/1.4.9/envs/default.env b/apps/slink/1.5.0/envs/default.env similarity index 100% rename from apps/slink/1.4.9/envs/default.env rename to apps/slink/1.5.0/envs/default.env diff --git a/apps/slink/1.4.9/envs/global.env b/apps/slink/1.5.0/envs/global.env similarity index 100% rename from apps/slink/1.4.9/envs/global.env rename to apps/slink/1.5.0/envs/global.env diff --git a/apps/slink/1.4.9/scripts/init.sh b/apps/slink/1.5.0/scripts/init.sh similarity index 100% rename from apps/slink/1.4.9/scripts/init.sh rename to apps/slink/1.5.0/scripts/init.sh diff --git a/apps/slink/1.4.9/scripts/uninstall.sh b/apps/slink/1.5.0/scripts/uninstall.sh similarity index 100% rename from apps/slink/1.4.9/scripts/uninstall.sh rename to apps/slink/1.5.0/scripts/uninstall.sh diff --git a/apps/slink/1.4.9/scripts/upgrade.sh b/apps/slink/1.5.0/scripts/upgrade.sh similarity index 100% rename from apps/slink/1.4.9/scripts/upgrade.sh rename to apps/slink/1.5.0/scripts/upgrade.sh From 4fb16da0fcab5d59b3259ce13be973f6bb23d3d9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Jun 2025 17:37:22 +0000 Subject: [PATCH 93/96] Update ghcr.io/nodepassproject/nodepassdash Docker tag to v2.1.0 --- apps/nodepassdash/2.0.6/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/nodepassdash/2.0.6/docker-compose.yml b/apps/nodepassdash/2.0.6/docker-compose.yml index 30f70b183..041758610 100644 --- a/apps/nodepassdash/2.0.6/docker-compose.yml +++ b/apps/nodepassdash/2.0.6/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: nodepassdash: - image: ghcr.io/nodepassproject/nodepassdash:2.0.6 + image: ghcr.io/nodepassproject/nodepassdash:2.1.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 5cc7f80bb9e8578257325eaaac427b927353f947 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 29 Jun 2025 17:37:27 +0000 Subject: [PATCH 94/96] Update suwmlee/bonita Docker tag to v0.10.0 --- apps/bonita/0.9.4/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/bonita/0.9.4/docker-compose.yml b/apps/bonita/0.9.4/docker-compose.yml index c0eee1caf..bfe010676 100644 --- a/apps/bonita/0.9.4/docker-compose.yml +++ b/apps/bonita/0.9.4/docker-compose.yml @@ -4,7 +4,7 @@ networks: services: bonita: - image: suwmlee/bonita:0.9.4 + image: suwmlee/bonita:0.10.0 container_name: ${CONTAINER_NAME} labels: createdBy: "Apps" From 02ba4be4c6db0af91d3d6ccd172822510edba46e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 29 Jun 2025 17:37:32 +0000 Subject: [PATCH 95/96] Update app version [skip ci] --- apps/nodepassdash/{2.0.6 => 2.1.0}/data.yml | 0 apps/nodepassdash/{2.0.6 => 2.1.0}/docker-compose.yml | 0 apps/nodepassdash/{2.0.6 => 2.1.0}/envs/default.env | 0 apps/nodepassdash/{2.0.6 => 2.1.0}/envs/global.env | 0 apps/nodepassdash/{2.0.6 => 2.1.0}/scripts/init.sh | 0 apps/nodepassdash/{2.0.6 => 2.1.0}/scripts/uninstall.sh | 0 apps/nodepassdash/{2.0.6 => 2.1.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/nodepassdash/{2.0.6 => 2.1.0}/data.yml (100%) rename apps/nodepassdash/{2.0.6 => 2.1.0}/docker-compose.yml (100%) rename apps/nodepassdash/{2.0.6 => 2.1.0}/envs/default.env (100%) rename apps/nodepassdash/{2.0.6 => 2.1.0}/envs/global.env (100%) rename apps/nodepassdash/{2.0.6 => 2.1.0}/scripts/init.sh (100%) rename apps/nodepassdash/{2.0.6 => 2.1.0}/scripts/uninstall.sh (100%) rename apps/nodepassdash/{2.0.6 => 2.1.0}/scripts/upgrade.sh (100%) diff --git a/apps/nodepassdash/2.0.6/data.yml b/apps/nodepassdash/2.1.0/data.yml similarity index 100% rename from apps/nodepassdash/2.0.6/data.yml rename to apps/nodepassdash/2.1.0/data.yml diff --git a/apps/nodepassdash/2.0.6/docker-compose.yml b/apps/nodepassdash/2.1.0/docker-compose.yml similarity index 100% rename from apps/nodepassdash/2.0.6/docker-compose.yml rename to apps/nodepassdash/2.1.0/docker-compose.yml diff --git a/apps/nodepassdash/2.0.6/envs/default.env b/apps/nodepassdash/2.1.0/envs/default.env similarity index 100% rename from apps/nodepassdash/2.0.6/envs/default.env rename to apps/nodepassdash/2.1.0/envs/default.env diff --git a/apps/nodepassdash/2.0.6/envs/global.env b/apps/nodepassdash/2.1.0/envs/global.env similarity index 100% rename from apps/nodepassdash/2.0.6/envs/global.env rename to apps/nodepassdash/2.1.0/envs/global.env diff --git a/apps/nodepassdash/2.0.6/scripts/init.sh b/apps/nodepassdash/2.1.0/scripts/init.sh similarity index 100% rename from apps/nodepassdash/2.0.6/scripts/init.sh rename to apps/nodepassdash/2.1.0/scripts/init.sh diff --git a/apps/nodepassdash/2.0.6/scripts/uninstall.sh b/apps/nodepassdash/2.1.0/scripts/uninstall.sh similarity index 100% rename from apps/nodepassdash/2.0.6/scripts/uninstall.sh rename to apps/nodepassdash/2.1.0/scripts/uninstall.sh diff --git a/apps/nodepassdash/2.0.6/scripts/upgrade.sh b/apps/nodepassdash/2.1.0/scripts/upgrade.sh similarity index 100% rename from apps/nodepassdash/2.0.6/scripts/upgrade.sh rename to apps/nodepassdash/2.1.0/scripts/upgrade.sh From 44744ca3e5c401747df92aa0099eb567f899c35e Mon Sep 17 00:00:00 2001 From: github-action update-app-version Date: Sun, 29 Jun 2025 17:37:35 +0000 Subject: [PATCH 96/96] Update app version [skip ci] --- apps/bonita/{0.9.4 => 0.10.0}/data.yml | 0 apps/bonita/{0.9.4 => 0.10.0}/docker-compose.yml | 0 apps/bonita/{0.9.4 => 0.10.0}/envs/default.env | 0 apps/bonita/{0.9.4 => 0.10.0}/envs/global.env | 0 apps/bonita/{0.9.4 => 0.10.0}/scripts/init.sh | 0 apps/bonita/{0.9.4 => 0.10.0}/scripts/uninstall.sh | 0 apps/bonita/{0.9.4 => 0.10.0}/scripts/upgrade.sh | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename apps/bonita/{0.9.4 => 0.10.0}/data.yml (100%) rename apps/bonita/{0.9.4 => 0.10.0}/docker-compose.yml (100%) rename apps/bonita/{0.9.4 => 0.10.0}/envs/default.env (100%) rename apps/bonita/{0.9.4 => 0.10.0}/envs/global.env (100%) rename apps/bonita/{0.9.4 => 0.10.0}/scripts/init.sh (100%) rename apps/bonita/{0.9.4 => 0.10.0}/scripts/uninstall.sh (100%) rename apps/bonita/{0.9.4 => 0.10.0}/scripts/upgrade.sh (100%) diff --git a/apps/bonita/0.9.4/data.yml b/apps/bonita/0.10.0/data.yml similarity index 100% rename from apps/bonita/0.9.4/data.yml rename to apps/bonita/0.10.0/data.yml diff --git a/apps/bonita/0.9.4/docker-compose.yml b/apps/bonita/0.10.0/docker-compose.yml similarity index 100% rename from apps/bonita/0.9.4/docker-compose.yml rename to apps/bonita/0.10.0/docker-compose.yml diff --git a/apps/bonita/0.9.4/envs/default.env b/apps/bonita/0.10.0/envs/default.env similarity index 100% rename from apps/bonita/0.9.4/envs/default.env rename to apps/bonita/0.10.0/envs/default.env diff --git a/apps/bonita/0.9.4/envs/global.env b/apps/bonita/0.10.0/envs/global.env similarity index 100% rename from apps/bonita/0.9.4/envs/global.env rename to apps/bonita/0.10.0/envs/global.env diff --git a/apps/bonita/0.9.4/scripts/init.sh b/apps/bonita/0.10.0/scripts/init.sh similarity index 100% rename from apps/bonita/0.9.4/scripts/init.sh rename to apps/bonita/0.10.0/scripts/init.sh diff --git a/apps/bonita/0.9.4/scripts/uninstall.sh b/apps/bonita/0.10.0/scripts/uninstall.sh similarity index 100% rename from apps/bonita/0.9.4/scripts/uninstall.sh rename to apps/bonita/0.10.0/scripts/uninstall.sh diff --git a/apps/bonita/0.9.4/scripts/upgrade.sh b/apps/bonita/0.10.0/scripts/upgrade.sh similarity index 100% rename from apps/bonita/0.9.4/scripts/upgrade.sh rename to apps/bonita/0.10.0/scripts/upgrade.sh