Synced apps from source repository via GitHub Actions

This commit is contained in:
QYG2297248353
2025-05-16 21:19:28 +00:00
parent 28856623ce
commit cd1a9b124a
63 changed files with 8 additions and 8 deletions
+45
View File
@@ -0,0 +1,45 @@
# 数据库 服务 (前置检查) [必填]
PANEL_DB_TYPE=postgresql
# Redis 服务 (前置检查) [必填]
PANEL_REDIS_TYPE=redis
# 数据持久化路径 [必填]
CASDOOR_ROOT_PATH=/home/casdoor
# WebUI 端口 [必填]
PANEL_APP_PORT_HTTP=8000
# 数据库 类型 [必填]
DB_TYPE=postgres
# 数据库 主机地址 [必填]
DB_HOSTNAME=127.0.0.1
# 数据库 端口 [必填]
DB_PORT=5432
# 数据库 用户名 [必填]
DB_USER=casdoor
# 数据库 密码 [必填]
DB_PASSWD=
# 数据库 名称 [必填]
DB_NAME=casdoor
# Redis 主机 [必填]
REDIS_HOSTNAME=127.0.0.1
# Redis 端口 [必填]
REDIS_PORT=6379
# Redis 索引 [必填]
REDIS_DBINDEX=0
# Redis 密码
REDIS_PASSWORD=
# Socks5 代理 (地区网络限制)
socks5Proxy=
+490
View File
@@ -0,0 +1,490 @@
{
"organizations": [
{
"owner": "",
"name": "",
"displayName": "",
"websiteUrl": "",
"favicon": "",
"passwordType": "plain",
"passwordSalt": "",
"passwordOptions": [
"AtLeast6"
],
"countryCodes": [
"US",
"GB",
"ES",
"FR",
"DE",
"CN",
"JP",
"KR",
"VN",
"ID",
"SG",
"IN",
"IT",
"MY",
"TR",
"DZ",
"IL",
"PH",
"NL",
"PL",
"FI",
"SE",
"UA",
"KZ"
],
"defaultAvatar": "",
"defaultApplication": "",
"tags": [],
"languages": [
"en",
"zh",
"es",
"fr",
"de",
"id",
"ja",
"ko",
"ru",
"vi",
"it",
"ms",
"tr",
"ar",
"he",
"nl",
"pl",
"fi",
"sv",
"uk",
"kk",
"fa"
],
"masterPassword": "",
"defaultPassword": "",
"initScore": 2000,
"enableSoftDeletion": false,
"isProfilePublic": true,
"accountItems": []
}
],
"applications": [
{
"owner": "",
"name": "",
"displayName": "",
"logo": "",
"homepageUrl": "",
"organization": "",
"cert": "",
"enablePassword": true,
"enableSignUp": true,
"clientId": "",
"clientSecret": "",
"providers": [
{
"name": "",
"canSignUp": true,
"canSignIn": true,
"canUnlink": false,
"prompted": false,
"alertType": "None"
}
],
"signinMethods": [
{
"name": "Password",
"displayName": "Password",
"rule": "All"
},
{
"name": "Verification code",
"displayName": "Verification code",
"rule": "All"
},
{
"name": "WebAuthn",
"displayName": "WebAuthn",
"rule": "None"
},
{
"name": "Face ID",
"displayName": "Face ID",
"rule": "None"
}
],
"signupItems": [
{
"name": "ID",
"visible": false,
"required": true,
"prompted": false,
"rule": "Random"
},
{
"name": "Username",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Display name",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Password",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Confirm password",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Email",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Phone",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
},
{
"name": "Agreement",
"visible": true,
"required": true,
"prompted": false,
"rule": "None"
}
],
"grantTypes": [
"authorization_code",
"password",
"client_credentials",
"token",
"id_token",
"refresh_token"
],
"redirectUris": [
"http://localhost:9000/callback"
],
"tokenFormat": "JWT",
"tokenFields": [],
"expireInHours": 168,
"failedSigninLimit": 5,
"failedSigninFrozenTime": 15
}
],
"users": [
{
"owner": "",
"name": "",
"type": "normal-user",
"password": "",
"displayName": "",
"avatar": "",
"email": "",
"phone": "",
"countryCode": "",
"address": [],
"affiliation": "",
"tag": "",
"score": 2000,
"ranking": 1,
"isAdmin": true,
"isForbidden": false,
"isDeleted": false,
"signupApplication": "",
"createdIp": "",
"groups": []
}
],
"providers": [
{
"owner": "",
"name": "",
"displayName": "",
"category": "",
"type": ""
}
],
"certs": [
{
"owner": "",
"name": "",
"displayName": "",
"scope": "JWT",
"type": "x509",
"cryptoAlgorithm": "RS256",
"bitSize": 4096,
"expireInYears": 20,
"certificate": "",
"privateKey": ""
}
],
"ldaps": [
{
"id": "",
"owner": "",
"serverName": "",
"host": "",
"port": 389,
"username": "",
"password": "",
"baseDn": "",
"autoSync": 0,
"lastSync": ""
}
],
"models": [
{
"owner": "",
"name": "",
"modelText": "",
"displayName": ""
}
],
"permissions": [
{
"actions": [],
"displayName": "",
"effect": "",
"isEnabled": true,
"model": "",
"name": "",
"owner": "",
"resourceType": "",
"resources": [],
"roles": [],
"users": []
}
],
"payments": [
{
"currency": "",
"detail": "",
"displayName": "",
"invoiceRemark": "",
"invoiceTaxId": "",
"invoiceTitle": "",
"invoiceType": "",
"invoiceUrl": "",
"message": "",
"name": "",
"organization": "",
"owner": "",
"payUrl": "",
"personEmail": "",
"personIdCard": "",
"personName": "",
"personPhone": "",
"price": 0,
"productDisplayName": "",
"productName": "",
"provider": "",
"returnUrl": "",
"state": "",
"tag": "",
"type": "",
"user": ""
}
],
"products": [
{
"currency": "",
"detail": "",
"displayName": "",
"image": "",
"name": "",
"owner": "",
"price": 0,
"providers": [],
"quantity": 0,
"returnUrl": "",
"sold": 0,
"state": "",
"tag": ""
}
],
"resources": [
{
"owner": "",
"name": "",
"user": "",
"provider": "",
"application": "",
"tag": "",
"parent": "",
"fileName": "",
"fileType": "",
"fileFormat": "",
"url": "",
"description": ""
}
],
"roles": [
{
"displayName": "",
"isEnabled": true,
"name": "",
"owner": "",
"roles": [],
"users": []
}
],
"syncers": [
{
"affiliationTable": "",
"avatarBaseUrl": "",
"database": "",
"databaseType": "",
"errorText": "",
"host": "",
"isEnabled": false,
"name": "",
"organization": "",
"owner": "",
"password": "",
"port": 0,
"syncInterval": 0,
"table": "",
"tableColumns": [
{
"casdoorName": "",
"isHashed": true,
"name": "",
"type": "",
"values": []
}
],
"tablePrimaryKey": "",
"type": "",
"user": ""
}
],
"tokens": [
{
"accessToken": "",
"application": "",
"code": "",
"codeChallenge": "",
"codeExpireIn": 0,
"codeIsUsed": true,
"createdTime": "",
"expiresIn": 0,
"name": "",
"organization": "",
"owner": "",
"refreshToken": "",
"scope": "",
"tokenType": "",
"user": ""
}
],
"webhooks": [
{
"contentType": "",
"events": [],
"headers": [
{
"name": "",
"value": ""
}
],
"isEnabled": true,
"isUserExtended": true,
"method": "",
"name": "",
"organization": "",
"owner": "",
"url": ""
}
],
"groups": [
{
"owner": "",
"name": "",
"displayName": "",
"manager": "",
"contactEmail": "",
"type": "",
"parent_id": "",
"isTopGroup": true,
"title": "",
"key": "",
"children": "",
"isEnabled": true
}
],
"adapters": [
{
"owner": "",
"name": "",
"table": "",
"useSameDb": true,
"type": "",
"databaseType": "",
"database": "",
"host": "",
"port": 0,
"user": "",
"password": ""
}
],
"enforcers": [
{
"owner": "",
"name": "",
"displayName": "",
"description": "",
"model": "",
"adapter": "",
"enforcer": ""
}
],
"plans": [
{
"owner": "",
"name": "",
"displayName": "",
"description": "",
"price": 0,
"currency": "",
"period": "",
"product": "",
"paymentProviders": [],
"isEnabled": true,
"role": ""
}
],
"pricings": [
{
"owner": "",
"name": "",
"displayName": "",
"description": "",
"plans": [],
"isEnabled": true,
"trialDuration": 0,
"application": ""
}
]
}
+138
View File
@@ -0,0 +1,138 @@
additionalProperties:
formFields:
- child:
default: ""
envKey: PANEL_DB_HOST
required: true
type: service
default: postgresql
edit: true
envKey: PANEL_DB_TYPE
labelZh: 数据库 服务 (前置检查)
labelEn: Database Service (Pre-check)
required: true
type: apps
values:
- label: PostgreSQL
value: postgresql
- label: MySQL
value: mysql
- label: MariaDB
value: mariadb
- label: Percona
value: percona
- child:
default: ""
envKey: PANEL_REDIS_SERVICE
required: true
type: service
default: redis
envKey: PANEL_REDIS_TYPE
labelZh: Redis 服务 (前置检查)
labelEn: Redis Service (Pre-check)
required: true
type: apps
values:
- label: Redis
value: redis
- default: "/home/casdoor"
edit: true
envKey: CASDOOR_ROOT_PATH
labelZh: 数据持久化路径
labelEn: Data persistence path
required: true
type: text
- default: 8000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelZh: WebUI 端口
labelEn: WebUI port
required: true
rule: paramPort
type: number
- default: postgres
edit: true
envKey: DB_TYPE
labelZh: 数据库 类型
labelEn: Database Type
required: true
type: select
values:
- label: PostgreSQL
value: postgres
- label: MySQL (MariaDB, Percona)
value: mysql
- 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: "casdoor"
edit: true
envKey: DB_USER
labelZh: 数据库 用户名
labelEn: Database User
required: true
type: text
- default: ""
edit: true
envKey: DB_PASSWD
labelEn: Database Password
labelZh: 数据库 密码
random: true
required: true
rule: paramComplexity
type: password
- default: "casdoor"
edit: true
envKey: DB_NAME
labelZh: 数据库 名称
labelEn: Database Name
required: true
type: text
- default: "127.0.0.1"
edit: true
envKey: REDIS_HOSTNAME
labelZh: Redis 主机
labelEn: Redis Host
required: true
type: text
- default: 6379
edit: true
envKey: REDIS_PORT
labelZh: Redis 端口
labelEn: Redis Port
required: true
rule: paramPort
type: number
- default: 0
edit: true
envKey: REDIS_DBINDEX
labelZh: Redis 索引
labelEn: Redis Index
required: true
type: number
- default: ""
edit: true
envKey: REDIS_PASSWORD
labelZh: Redis 密码
labelEn: Redis Password
required: false
type: password
- default: ""
edit: true
envKey: socks5Proxy
labelZh: Socks5 代理 (地区网络限制)
labelEn: Socks5 Proxy (Region Network Restriction)
required: false
type: text
+26
View File
@@ -0,0 +1,26 @@
networks:
1panel-network:
external: true
services:
casdoor:
container_name: casdoor
env_file:
- ./envs/global.env
- ./envs/casdoor.env
- .env
environment:
- driverName=${DB_TYPE}
- dbName=${DB_NAME}
- verificationCodeTimeout=10
- appname=casdoor
- authState=casdoor
image: casbin/casdoor:v1.909.0
labels:
createdBy: Apps
networks:
- 1panel-network
ports:
- ${PANEL_APP_PORT_HTTP}:8000
restart: always
volumes:
- ${CASDOOR_ROOT_PATH}/files:/files
+31
View File
@@ -0,0 +1,31 @@
appname=casdoor
httpport=8000
runmode=prod
copyrequestbody=true
driverName=mysql
dataSourceName=
dbName=casdoor
tableNamePrefix=
showSql=false
redisEndpoint=
defaultStorageProvider=
isCloudIntranet=false
authState=casdoor
socks5Proxy=
verificationCodeTimeout=10
initScore=0
logPostOnly=true
isUsernameLowered=false
origin=
originFrontend=
staticBaseUrl=https://cdn.casbin.org
isDemoMode=false
batchSize=100
enableGzip=true
ldapServerPort=389
radiusServerPort=1812
radiusSecret=secret
quota={"organization": -1, "user": -1, "application": -1, "provider": -1}
logConfig={"filename": "logs/casdoor.log", "maxdays":99999, "perm":"0770"}
initDataFil="./init_data.json"
frontendBaseDi="../casdoor"
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
ENV_FILE=.env
+2
View File
@@ -0,0 +1,2 @@
# copyright© 2024 XinJiang Ms Studio
TZ=Asia/Shanghai
+33
View File
@@ -0,0 +1,33 @@
#!/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
sed -i '/^APP_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/casdoor.env" >> .env
if [ "$DB_TYPE" == "mysql" ]; then
echo "dataSourceName=$DB_USER:$DB_PASSWD@tcp($DB_HOSTNAME:$DB_PORT)/" >> .env
fi
if [ "$DB_TYPE" == "postgres" ]; then
echo "dataSourceName=\"user=$DB_USER password=$DB_PASSWD host=$DB_HOSTNAME port=$DB_PORT sslmode=disable dbname=$DB_NAME\"" >> .env
fi
if [ -n "$REDIS_PASSWORD" ]; then
echo "redisEndpoint=$REDIS_HOSTNAME:$REDIS_PORT,$REDIS_DBINDEX,$REDIS_PASSWORD" >> .env
else
echo "redisEndpoint=$REDIS_HOSTNAME:$REDIS_PORT,$REDIS_DBINDEX" >> .env
fi
echo "Check Finish."
else
echo "Error: .env file not found."
fi
+10
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
+19
View File
@@ -0,0 +1,19 @@
#!/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
sed -i '/^APP_ENV_FILE=/d' .env
echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env
echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env
echo "APP_ENV_FILE=${CURRENT_DIR}/envs/casdoor.env" >> .env
echo "Check Finish."
else
echo "Error: .env file not found."
fi