🤗尝试实现更为复杂的逻辑使部署变得更加易用
This commit is contained in:
parent
0f4e9141f2
commit
2cf1ede943
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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 "✅ 替换完成!"
|
||||
|
|
@ -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 "✅ 替换完成!"
|
||||
Loading…
Reference in New Issue