feat(umami): 添加 Umami 3.0.0 版本支持- 更新 renovate 配置以支持新版本范围

- 添加默认和全局环境变量文件
- 创建初始化、卸载和升级脚本
- 配置数据持久化和应用设置表单- 设置 Docker Compose 部署配置- 添加 PostgreSQL 数据库连接参数
- 支持应用密钥和基础路径自定义- 添加机器人检测禁用选项
- 配置容器网络和端口映射- 设置环境变量文件加载机制
This commit is contained in:
ms
2025-11-10 10:16:39 +08:00
parent 34a17b0ac5
commit e3f3f8a7dc
8 changed files with 177 additions and 2 deletions

View File

@@ -265,9 +265,9 @@
}, },
{ {
"matchFileNames": [ "matchFileNames": [
"apps/umami*/2.16.1/*.yml" "apps/umami*/2.19.0/*.yml"
], ],
"allowedVersions": ">=2.16.1" "allowedVersions": "<3.0.0"
}, },
{ {
"matchDatasources": [ "matchDatasources": [

104
apps/umami/3.0.0/data.yml Normal file
View File

@@ -0,0 +1,104 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_POSTGRES_SERVICE
required: true
type: service
default: postgresql
envKey: PANEL_POSTGRES_TYPE
labelZh: Postgres 服务 (前置检查)
labelEn: Postgres Service (Pre-check)
required: true
type: apps
values:
- label: PostgreSQL
value: postgresql
- default: "/home/umami"
edit: true
envKey: UMAMI_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 3000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: 连接端口
labelEn: Connection Port
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: APP_SECRET
labelZh: 应用密钥
labelEn: Application Secret
random: true
required: false
rule: paramComplexity
type: password
- default: "/"
edit: true
envKey: BASE_PATH
labelZh: 基础路径
labelEn: Base Path
required: true
type: text
- default: ""
edit: true
envKey: ALLOWED_FRAME_URLS
labelZh: 允许的 frame 地址
labelEn: Allowed frame urls
required: false
type: text
- default: "0"
edit: true
envKey: DISABLE_BOT_CHECK
labelZh: 禁用机器人检测
labelEn: Disable bot detection
required: true
type: select
values:
- label: 开启
value: "1"
- label: 关闭
value: "0"
- default: "127.0.0.1"
edit: true
envKey: DB_HOSTNAME
labelZh: 数据库 主机地址
labelEn: Database Host
required: true
type: text
- default: 5432
edit: true
envKey: DB_PORT
labelZh: 数据库 端口
labelEn: Database Port
required: true
rule: paramPort
type: number
- default: "umami"
edit: true
envKey: DB_USERNAME
labelZh: 数据库 用户名
labelEn: Database User
required: true
type: text
- default: ""
edit: true
envKey: DB_PASSWORD
labelEn: Database Password
labelZh: 数据库 密码
random: true
required: true
rule: paramComplexity
type: password
- default: "umami"
edit: true
envKey: DB_DATABASE_NAME
labelZh: 数据库 名称
labelEn: Database Name
required: true
type: text

View File

@@ -0,0 +1,23 @@
networks:
1panel-network:
external: true
services:
umami:
image: umamisoftware/umami:3.0.0
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
restart: always
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:3000
env_file:
- ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env}
- ${ENV_FILE:-/etc/1panel/envs/default.env}
environment:
- DISABLE_TELEMETRY=1
- REMOVE_TRAILING_SLASH=1
- DATABASE_TYPE=postgresql
- DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOSTNAME}:${DB_PORT}/${DB_DATABASE_NAME}

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env

View File

@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai

View File

@@ -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

View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [ -f .env ]; then
source .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi

View File

@@ -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