1
0
Fork 0

🤗尝试实现更为复杂的逻辑使部署变得更加易用

This commit is contained in:
LiuShen 2025-10-12 20:34:17 +08:00
parent 0f4e9141f2
commit 2cf1ede943
4 changed files with 108 additions and 69 deletions

View File

@ -17,10 +17,10 @@ additionalProperties:
rule: paramPort
type: number
- default: ""
- default: "https://sso.example.com"
envKey: PANEL_TINYAUTH_APP_URL
labelEn: App URL
labelZh: 应用地址
labelZh: 应用地址(结尾不要添加斜杠)
label:
en: App URL
ja: アプリURL
@ -28,7 +28,7 @@ additionalProperties:
pt-br: URL do Aplicativo
ru: URL приложения
ko: 앱 URL
zh: 应用地址
zh: 应用地址(结尾不要添加斜杠)
zh-Hant: 應用地址
required: false
type: text
@ -84,7 +84,7 @@ additionalProperties:
- default: ""
envKey: PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT
labelEn: Auto Redirect Provider
labelZh: 自动跳转提供商
labelZh: 自动跳转到登录页面
label:
en: Auto Redirect Provider
ja: 自動リダイレクトプロバイダー
@ -92,19 +92,15 @@ additionalProperties:
pt-br: Provedor de Redirecionamento Automático
ru: Автоматический редирект провайдера
ko: 자동 리디렉션 제공자
zh: 自动跳转提供商
zh-Hant: 自動跳轉提供商
zh: 自动跳转到登录页面
zh-Hant: 自動跳轉到登錄頁面
required: false
type: select
values:
- label: None
- label: False
value: "none"
- label: GitHub
value: "github"
- label: Google
value: "google"
- label: Generic
value: "generic"
- label: True
value: "PROVIDER_ID_PLACEHOLDER" # 后面会替换掉为对应的提供商
- default: ""
envKey: PANEL_TINYAUTH_BACKGROUND_IMAGE
@ -121,59 +117,45 @@ additionalProperties:
zh-Hant: 背景圖片
required: false
type: text
# GitHub
- default: ""
envKey: PANEL_TINYAUTH_GITHUB_CLIENT_ID
labelEn: GitHub Client ID
labelZh: GitHub 客户端ID
required: false
- default: "github"
envKey: PANEL_TINYAUTH_PROVIDER_ID
labelEn: Provider ID
labelZh: 提供商ID仅填写一个名称任意如果为github或google后面参数仅需要填写client_id和client_secret
label:
en: Provider ID
ja: プロバイダーID
ms: ID Penyedia
pt-br: ID do Provedor
ru: ID провайдера
ko: 자동 리디렉션 제공자
zh: 提供商ID仅填写一个名称任意如果为github或google后面参数仅需要填写client_id和client_secret
zh-Hant: 供應商ID僅填寫一個名稱任意如果為github或google後面參數僅需要填寫client_id和client_secret
required: True
type: text
- default: ""
envKey: PANEL_TINYAUTH_GITHUB_CLIENT_SECRET
labelEn: GitHub Client Secret
labelZh: GitHub 客户端密钥
required: false
type: password
# Google
- default: ""
envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_ID
labelEn: Google Client ID
labelZh: Google 客户端ID
required: false
type: text
- default: ""
envKey: PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET
labelEn: Google Client Secret
labelZh: Google 客户端密钥
required: false
type: password
# Generic
- default: ""
envKey: PANEL_TINYAUTH_GENERIC_NAME
labelEn: Generic Provider Name
labelZh: 通用提供商名称
required: false
type: text
- default: ""
envKey: PANEL_TINYAUTH_GENERIC_CLIENT_ID
labelEn: Generic Client ID
labelZh: 通用客户端ID
required: false
required: true
type: text
- default: ""
envKey: PANEL_TINYAUTH_GENERIC_CLIENT_SECRET
labelEn: Generic Client Secret
labelZh: 通用客户端密钥
required: false
required: true
type: password
- default: ""
envKey: PANEL_TINYAUTH_GENERIC_NAME
labelEn: Generic Provider Name
labelZh: 通用提供商名称
required: false
type: text
- default: ""
envKey: PANEL_TINYAUTH_GENERIC_AUTH_URL
labelEn: Generic Auth URL
@ -189,7 +171,7 @@ additionalProperties:
type: text
- default: ""
envKey: PANEL_TINYAUTH_GENERIC_USER_URL
envKey: PANEL_TINYAUTH_GENERIC_USER_INFO_URL
labelEn: Generic User Info URL
labelZh: 通用用户信息地址
required: false

View File

@ -11,24 +11,15 @@ services:
- OAUTH_AUTO_REDIRECT=${PANEL_TINYAUTH_OAUTH_AUTO_REDIRECT}
- BACKGROUND_IMAGE=${PANEL_TINYAUTH_BACKGROUND_IMAGE}
# ---- GitHub ----
- PROVIDERS_GITHUB_CLIENT_ID=${PANEL_TINYAUTH_GITHUB_CLIENT_ID}
- PROVIDERS_GITHUB_CLIENT_SECRET=${PANEL_TINYAUTH_GITHUB_CLIENT_SECRET}
# - PROVIDERS_GITHUB_REDIRECT_URI=${PANEL_TINYAUTH_GITHUB_REDIRECT_URI}
# ---- Google ----
- PROVIDERS_GOOGLE_CLIENT_ID=${PANEL_TINYAUTH_GOOGLE_CLIENT_ID}
- PROVIDERS_GOOGLE_CLIENT_SECRET=${PANEL_TINYAUTH_GOOGLE_CLIENT_SECRET}
# - PROVIDERS_GOOGLE_REDIRECT_URI=${PANEL_TINYAUTH_GOOGLE_REDIRECT_URI}
# ---- Generic (示例 Linux.Do) ----
- PROVIDERS_GENERIC_NAME=${PANEL_TINYAUTH_GENERIC_NAME}
- PROVIDERS_GENERIC_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID}
- PROVIDERS_GENERIC_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET}
- PROVIDERS_GENERIC_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL}
- PROVIDERS_GENERIC_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL}
- PROVIDERS_GENERIC_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_URL}
- PROVIDERS_GENERIC_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES}
- PROVIDERS_PLACEHOLDER_CLIENT_ID=${PANEL_TINYAUTH_GENERIC_CLIENT_ID}
- PROVIDERS_PLACEHOLDER_CLIENT_SECRET=${PANEL_TINYAUTH_GENERIC_CLIENT_SECRET}
- PROVIDERS_PLACEHOLDER_NAME=${PANEL_TINYAUTH_GENERIC_NAME}
- PROVIDERS_PLACEHOLDER_AUTH_URL=${PANEL_TINYAUTH_GENERIC_AUTH_URL}
- PROVIDERS_PLACEHOLDER_TOKEN_URL=${PANEL_TINYAUTH_GENERIC_TOKEN_URL}
- PROVIDERS_PLACEHOLDER_USER_INFO_URL=${PANEL_TINYAUTH_GENERIC_USER_INFO_URL}
- PROVIDERS_PLACEHOLDER_REDIRECT_URL=${PANEL_TINYAUTH_APP_URL}/api/oauth/callback/${PANEL_TINYAUTH_PROVIDER_ID}
- PROVIDERS_PLACEHOLDER_SCOPES=${PANEL_TINYAUTH_GENERIC_SCOPES}
ports:
- "${PANEL_APP_PORT_HTTP}:3000"

View File

@ -0,0 +1,35 @@
#!/bin/bash
set -e
# 1⃣ 确保.env存在
if [ ! -f ".env" ]; then
echo "❌ 未找到 .env 文件"
exit 1
fi
# 2⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量
PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"')
if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then
echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID"
exit 1
fi
# 3⃣ 生成大写版本
UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]')
# 4⃣ 替换 .env 中的 PROVIDER_ID_PLACEHOLDER
echo "🧩 替换 .env 文件中的 PROVIDER_ID_PLACEHOLDER → $PANEL_TINYAUTH_PROVIDER_ID"
sed -i "s/PROVIDER_ID_PLACEHOLDER/${PANEL_TINYAUTH_PROVIDER_ID}/g" .env
# 5⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER
if [ ! -f "docker-compose.yml" ]; then
echo "❌ 未找到 docker-compose.yml 文件"
exit 1
fi
echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}"
sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml
# 6⃣ 提示完成
echo "✅ 替换完成!"

View File

@ -0,0 +1,31 @@
#!/bin/bash
set -e
# 1⃣ 确保.env存在
if [ ! -f ".env" ]; then
echo "❌ 未找到 .env 文件"
exit 1
fi
# 2⃣ 读取 PANEL_TINYAUTH_PROVIDER_ID 变量
PANEL_TINYAUTH_PROVIDER_ID=$(grep '^PANEL_TINYAUTH_PROVIDER_ID=' .env | cut -d '=' -f2- | tr -d '"')
if [ -z "$PANEL_TINYAUTH_PROVIDER_ID" ]; then
echo "❌ 未在 .env 中找到 PANEL_TINYAUTH_PROVIDER_ID"
exit 1
fi
# 3⃣ 生成大写版本
UPPER_ID=$(echo "$PANEL_TINYAUTH_PROVIDER_ID" | tr '[:lower:]' '[:upper:]')
# 5⃣ 替换 docker-compose.yml 中的 PROVIDERS_PLACEHOLDER
if [ ! -f "docker-compose.yml" ]; then
echo "❌ 未找到 docker-compose.yml 文件"
exit 1
fi
echo "🧩 替换 docker-compose.yml 文件中的 PROVIDERS_PLACEHOLDER → PROVIDERS_${UPPER_ID}"
sed -i "s/PROVIDERS_PLACEHOLDER/PROVIDERS_${UPPER_ID}/g" docker-compose.yml
# 6⃣ 提示完成
echo "✅ 替换完成!"